From 3018c9b1ab6ad17b649c1a0a7f81680e2aaf7b8d Mon Sep 17 00:00:00 2001 From: kongxz <1367127396@qq.com> Date: Mon, 6 Jul 2026 11:07:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=BC=95=E6=93=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blade-plugin/blade-workflow/.gitignore | 8 + blade-plugin/blade-workflow/Dockerfile | 19 + blade-plugin/blade-workflow/LICENSE | 34 + blade-plugin/blade-workflow/doc/dify/.env | 1581 +++++++ .../doc/dify/dsl/文生图chatflow.yml | 501 ++ .../doc/dify/dsl/文生图workflow.yml | 516 ++ .../blade-workflow/doc/dify/dsl/简单agent.yml | 119 + .../blade-workflow/doc/dify/dsl/翻译助手.yml | 161 + .../blade-workflow/doc/dify/dsl/聊天助手.yml | 98 + .../blade-workflow/doc/dify/nginx.conf | 44 + .../doc/nacos/blade-workflow-dev.yaml | 34 + .../doc/vue2/flowable/dm/bladex_menu.sql | 129 + .../doc/vue2/flowable/dm/bladex_workflow.sql | 994 ++++ .../doc/vue2/flowable/mysql/bladex_menu.sql | 129 + .../vue2/flowable/mysql/bladex_workflow.sql | 561 +++ .../doc/vue2/flowable/oracle/bladex_menu.sql | 129 + .../vue2/flowable/oracle/bladex_workflow.sql | 1305 +++++ .../vue2/flowable/postgres/bladex_menu.sql | 129 + .../flowable/postgres/bladex_workflow.sql | 1971 ++++++++ .../vue2/flowable/sqlserver/bladex_menu.sql | 129 + .../flowable/sqlserver/bladex_workflow.sql | 3898 +++++++++++++++ .../update/dm/1.7.1~1.8.0/blade-workflow.sql | 91 + .../doc/vue2/update/dm/1.7.1~1.8.0/blade.sql | 5 + .../update/dm/1.8.0~1.8.1/blade-workflow.sql | 49 + .../doc/vue2/update/dm/1.8.0~1.8.1/blade.sql | 1 + .../doc/vue2/update/dm/1.9.1/blade_menu.sql | 5 + .../vue2/update/dm/1.9.1/bladex_workflow.sql | 45 + .../update/dm/1.9.1~1.9.2/blade-workflow.sql | 7 + .../mysql/1.0.0~1.0.1/blade-workflow.sql | 2 + .../vue2/update/mysql/1.0.0~1.0.1/blade.sql | 5 + .../mysql/1.0.1~1.0.2/blade-workflow.sql | 6 + .../vue2/update/mysql/1.0.1~1.0.2/blade.sql | 4 + .../vue2/update/mysql/1.0.3~1.0.4/blade.sql | 8 + .../mysql/1.0.4~1.0.5/blade-workflow.sql | 30 + .../mysql/1.0.5~1.0.6/blade-workflow.sql | 35 + .../vue2/update/mysql/1.0.5~1.0.6/blade.sql | 6 + .../mysql/1.0.6~1.0.7/blade-workflow.sql | 6 + .../mysql/1.0.7~1.1.0/blade-workflow.sql | 33 + .../vue2/update/mysql/1.0.7~1.1.0/blade.sql | 5 + .../mysql/1.1.0~1.1.2/blade-workflow.sql | 12 + .../vue2/update/mysql/1.1.2~1.1.3/blade.sql | 16 + .../mysql/1.1.3~1.2.0/blade-workflow.sql | 28 + .../vue2/update/mysql/1.1.3~1.2.0/blade.sql | 2 + .../vue2/update/mysql/1.2.0~1.2.1/blade.sql | 4 + .../mysql/1.2.10~1.3.0/blade-workflow.sql | 6 + .../vue2/update/mysql/1.2.1~1.2.2/blade.sql | 1 + .../mysql/1.2.3~1.2.4/blade-workflow.sql | 19 + .../vue2/update/mysql/1.2.3~1.2.4/blade.sql | 1 + .../mysql/1.2.4~1.2.5/blade-workflow.sql | 10 + .../mysql/1.2.5~1.2.6/blade-workflow.sql | 2 + .../mysql/1.2.6~1.2.7/blade-workflow.sql | 4 + .../vue2/update/mysql/1.2.6~1.2.7/blade.sql | 2 + .../mysql/1.2.8~1.2.9/blade-workflow.sql | 5 + .../vue2/update/mysql/1.3.0~1.3.1/blade.sql | 1 + .../vue2/update/mysql/1.3.1~1.3.2/blade.sql | 8 + .../mysql/1.3.2~1.3.3/blade-workflow.sql | 1 + .../vue2/update/mysql/1.3.3~1.3.4/blade.sql | 1 + .../mysql/1.4.0~1.5.0/blade-workflow.sql | 2 + .../vue2/update/mysql/1.4.0~1.5.0/blade.sql | 1 + .../vue2/update/mysql/1.5.0~1.5.1/blade.sql | 1 + .../mysql/1.5.1~1.6.0/blade-workflow.sql | 51 + .../vue2/update/mysql/1.5.1~1.6.0/blade.sql | 8 + .../mysql/1.6.0~1.7.0/blade-workflow.sql | 3 + .../vue2/update/mysql/1.6.0~1.7.0/blade.sql | 2 + .../mysql/1.7.0~1.7.1/blade-workflow.sql | 8 + .../mysql/1.7.1~1.8.0/blade-workflow.sql | 52 + .../vue2/update/mysql/1.7.1~1.8.0/blade.sql | 5 + .../mysql/1.8.0~1.8.1/blade-workflow.sql | 34 + .../vue2/update/mysql/1.8.0~1.8.1/blade.sql | 1 + .../update/mysql/1.9.1/blade-workflow.sql | 26 + .../vue2/update/mysql/1.9.1/blade_menu.sql | 5 + .../mysql/1.9.1~1.9.2/blade-workflow.sql | 3 + .../oracle/1.2.4~1.2.5/blade-workflow.sql | 118 + .../oracle/1.2.5~1.2.6/blade-workflow.sql | 5 + .../oracle/1.2.6~1.2.7/blade-workflow.sql | 9 + .../vue2/update/oracle/1.2.6~1.2.7/blade.sql | 2 + .../oracle/1.2.8~1.2.9/blade-workflow.sql | 7 + .../oracle/1.2.9~1.3.0/blade-workflow.sql | 14 + .../vue2/update/oracle/1.3.0~1.3.1/blade.sql | 1 + .../vue2/update/oracle/1.3.1~1.3.2/blade.sql | 5 + .../oracle/1.3.2~1.3.3/blade-workflow.sql | 1 + .../vue2/update/oracle/1.3.3~1.3.4/blade.sql | 1 + .../oracle/1.4.0~1.5.0/blade-workflow.sql | 3 + .../vue2/update/oracle/1.4.0~1.5.0/blade.sql | 1 + .../vue2/update/oracle/1.5.0~1.5.1/blade.sql | 1 + .../oracle/1.5.1~1.6.0/blade-workflow.sql | 140 + .../vue2/update/oracle/1.5.1~1.6.0/blade.sql | 8 + .../oracle/1.6.0~1.7.0/blade-workflow.sql | 7 + .../vue2/update/oracle/1.6.0~1.7.0/blade.sql | 2 + .../oracle/1.7.0~1.7.1/blade-workflow.sql | 9 + .../oracle/1.7.1~1.8.0/blade-workflow.sql | 119 + .../vue2/update/oracle/1.7.1~1.8.0/blade.sql | 5 + .../oracle/1.8.0~1.8.1/blade-workflow.sql | 59 + .../vue2/update/oracle/1.8.0~1.8.1/blade.sql | 1 + .../update/oracle/1.9.1/blade-workflow.sql | 55 + .../vue2/update/oracle/1.9.1/blade_menu.sql | 5 + .../oracle/1.9.1~1.9.2/blade-workflow.sql | 7 + .../postgres/1.2.4~1.2.5/blade-workflow.sql | 86 + .../postgres/1.2.5~1.2.6/blade-workflow.sql | 5 + .../postgres/1.2.6~1.2.7/blade-workflow.sql | 9 + .../update/postgres/1.2.6~1.2.7/blade.sql | 2 + .../postgres/1.2.8~1.2.9/blade-workflow.sql | 7 + .../postgres/1.2.9~1.3.0/blade-workflow.sql | 14 + .../update/postgres/1.3.0~1.3.1/blade.sql | 1 + .../update/postgres/1.3.1~1.3.2/blade.sql | 5 + .../postgres/1.3.2~1.3.3/blade-workflow.sql | 1 + .../update/postgres/1.3.3~1.3.4/blade.sql | 1 + .../postgres/1.4.0~1.5.0/blade-workflow.sql | 3 + .../update/postgres/1.4.0~1.5.0/blade.sql | 1 + .../update/postgres/1.5.0~1.5.1/blade.sql | 1 + .../postgres/1.5.1~1.6.0/blade-workflow.sql | 100 + .../update/postgres/1.5.1~1.6.0/blade.sql | 8 + .../postgres/1.6.0~1.7.0/blade-workflow.sql | 7 + .../update/postgres/1.6.0~1.7.0/blade.sql | 2 + .../postgres/1.7.0~1.7.1/blade-workflow.sql | 9 + .../postgres/1.7.1~1.8.0/blade-workflow.sql | 89 + .../update/postgres/1.7.1~1.8.0/blade.sql | 5 + .../postgres/1.8.0~1.8.1/blade-workflow.sql | 45 + .../update/postgres/1.8.0~1.8.1/blade.sql | 1 + .../update/postgres/1.9.1/blade-workflow.sql | 40 + .../vue2/update/postgres/1.9.1/blade_menu.sql | 5 + .../postgres/1.9.1~1.9.2/blade-workflow.sql | 11 + .../sqlserver/1.4.0~1.5.0/blade-workflow.sql | 8 + .../update/sqlserver/1.4.0~1.5.0/blade.sql | 1 + .../update/sqlserver/1.5.0~1.5.1/blade.sql | 1 + .../sqlserver/1.5.1~1.6.0/blade-workflow.sql | 262 ++ .../update/sqlserver/1.5.1~1.6.0/blade.sql | 8 + .../sqlserver/1.6.0~1.7.0/blade-workflow.sql | 18 + .../update/sqlserver/1.6.0~1.7.0/blade.sql | 2 + .../sqlserver/1.7.0~1.7.1/blade-workflow.sql | 46 + .../sqlserver/1.7.1~1.8.0/blade-workflow.sql | 291 ++ .../update/sqlserver/1.7.1~1.8.0/blade.sql | 5 + .../sqlserver/1.8.0~1.8.1/blade-workflow.sql | 149 + .../update/sqlserver/1.8.0~1.8.1/blade.sql | 1 + .../update/sqlserver/1.9.1/blade-workflow.sql | 134 + .../update/sqlserver/1.9.1/blade_menu.sql | 5 + .../sqlserver/1.9.1~1.9.2/blade-workflow.sql | 16 + .../doc/vue3/flowable/dm/bladex_workflow.sql | 1000 ++++ .../doc/vue3/flowable/dm/lemon_menu.sql | 129 + .../doc/vue3/flowable/dm/saber3_menu.sql | 129 + .../vue3/flowable/mysql/bladex_workflow.sql | 610 +++ .../doc/vue3/flowable/mysql/lemon_menu.sql | 129 + .../doc/vue3/flowable/mysql/saber3_menu.sql | 143 + .../vue3/flowable/oracle/bladex_workflow.sql | 1452 ++++++ .../doc/vue3/flowable/oracle/lemon_menu.sql | 129 + .../doc/vue3/flowable/oracle/saber3_menu.sql | 143 + .../flowable/postgres/bladex_workflow.sql | 2044 ++++++++ .../doc/vue3/flowable/postgres/lemon_menu.sql | 129 + .../vue3/flowable/postgres/saber3_menu.sql | 143 + .../flowable/sqlserver/bladex_workflow.sql | 4190 +++++++++++++++++ .../vue3/flowable/sqlserver/lemon_menu.sql | 129 + .../vue3/flowable/sqlserver/saber3_menu.sql | 143 + .../vue3/update/dm/1.12.0/blade-workflow.sql | 7 + .../update/dm/1.7.1~1.8.0/blade-workflow.sql | 91 + .../doc/vue3/update/dm/1.7.1~1.8.0/blade.sql | 7 + .../update/dm/1.8.0~1.8.1/blade-workflow.sql | 49 + .../doc/vue3/update/dm/1.8.0~1.8.1/blade.sql | 1 + .../vue3/update/dm/1.9.1/blade-workflow.sql | 45 + .../doc/vue3/update/dm/1.9.1/lemon_menu.sql | 5 + .../doc/vue3/update/dm/1.9.1/saber3_menu.sql | 5 + .../update/dm/1.9.1~1.9.2/blade-workflow.sql | 7 + .../update/mysql/1.12.0/blade-workflow.sql | 3 + .../update/mysql/1.15.0/blade_workflow.sql | 56 + .../vue3/update/mysql/1.15.0/saber3_menu.sql | 13 + .../mysql/1.7.0~1.7.1/blade-workflow.sql | 8 + .../mysql/1.7.1~1.8.0/blade-workflow.sql | 52 + .../vue3/update/mysql/1.7.1~1.8.0/blade.sql | 7 + .../mysql/1.8.0~1.8.1/blade-workflow.sql | 34 + .../vue3/update/mysql/1.8.0~1.8.1/blade.sql | 1 + .../update/mysql/1.9.1/blade-workflow.sql | 26 + .../vue3/update/mysql/1.9.1/lemon_menu.sql | 5 + .../vue3/update/mysql/1.9.1/saber3_menu.sql | 5 + .../mysql/1.9.1~1.9.2/blade-workflow.sql | 3 + .../update/oracle/1.12.0/blade-workflow.sql | 7 + .../update/oracle/1.15.0/blade_workflow.sql | 140 + .../vue3/update/oracle/1.15.0/saber3_menu.sql | 13 + .../oracle/1.7.0~1.7.1/blade-workflow.sql | 9 + .../oracle/1.7.1~1.8.0/blade-workflow.sql | 119 + .../vue3/update/oracle/1.7.1~1.8.0/blade.sql | 7 + .../oracle/1.8.0~1.8.1/blade-workflow.sql | 59 + .../vue3/update/oracle/1.8.0~1.8.1/blade.sql | 1 + .../update/oracle/1.9.1/blade-workflow.sql | 55 + .../vue3/update/oracle/1.9.1/lemon_menu.sql | 5 + .../vue3/update/oracle/1.9.1/saber3_menu.sql | 5 + .../oracle/1.9.1~1.9.2/blade-workflow.sql | 7 + .../update/postgres/1.12.0/blade-workflow.sql | 7 + .../update/postgres/1.15.0/blade_workflow.sql | 106 + .../update/postgres/1.15.0/saber3_menu.sql | 13 + .../postgres/1.7.0~1.7.1/blade-workflow.sql | 9 + .../postgres/1.7.1~1.8.0/blade-workflow.sql | 89 + .../update/postgres/1.7.1~1.8.0/blade.sql | 7 + .../postgres/1.8.0~1.8.1/blade-workflow.sql | 45 + .../update/postgres/1.8.0~1.8.1/blade.sql | 1 + .../update/postgres/1.9.1/blade-workflow.sql | 40 + .../vue3/update/postgres/1.9.1/lemon_menu.sql | 5 + .../update/postgres/1.9.1/saber3_menu.sql | 5 + .../postgres/1.9.1~1.9.2/blade-workflow.sql | 11 + .../sqlserver/1.12.0/blade-workflow.sql | 18 + .../sqlserver/1.15.0/blade_workflow.sql | 349 ++ .../update/sqlserver/1.15.0/saber3_menu.sql | 13 + .../sqlserver/1.7.0~1.7.1/blade-workflow.sql | 46 + .../sqlserver/1.7.1~1.8.0/blade-workflow.sql | 291 ++ .../update/sqlserver/1.7.1~1.8.0/blade.sql | 7 + .../sqlserver/1.8.0~1.8.1/blade-workflow.sql | 149 + .../update/sqlserver/1.8.0~1.8.1/blade.sql | 1 + .../update/sqlserver/1.9.1/blade-workflow.sql | 134 + .../update/sqlserver/1.9.1/lemon_menu.sql | 5 + .../update/sqlserver/1.9.1/saber3_menu.sql | 5 + .../sqlserver/1.9.1~1.9.2/blade-workflow.sql | 16 + blade-plugin/blade-workflow/pom.xml | 120 + .../plugin/workflow/WorkflowApplication.java | 15 + .../app/controller/WfAppDraftController.java | 50 + .../controller/WfAppProcessController.java | 125 + .../app/controller/WfAppTaskController.java | 203 + .../workflow/app/entity/WfAppProcess.java | 71 + .../app/service/IWfAppProcessService.java | 32 + .../impl/IWfAppProcessServiceImpl.java | 183 + .../workflow/app/vo/WfAppProcessVo.java | 18 + .../chat/controller/WfChatAppController.java | 138 + .../controller/WfChatAssistantController.java | 135 + .../chat/controller/WfChatController.java | 102 + .../workflow/chat/core/cache/WfChatCache.java | 28 + .../workflow/chat/excel/WfChatAppExcel.java | 27 + .../chat/excel/WfChatAssistantExcel.java | 26 + .../workflow/chat/mapper/WfChatAppMapper.java | 38 + .../workflow/chat/mapper/WfChatAppMapper.xml | 19 + .../chat/mapper/WfChatAssistantMapper.java | 37 + .../chat/mapper/WfChatAssistantMapper.xml | 19 + .../workflow/chat/pojo/dto/WfChatAppDTO.java | 20 + .../chat/pojo/dto/WfChatAssistantDTO.java | 19 + .../chat/pojo/entity/WfChatAppEntity.java | 88 + .../pojo/entity/WfChatAssistantEntity.java | 69 + .../workflow/chat/pojo/vo/WfChatAppVO.java | 19 + .../chat/pojo/vo/WfChatAssistantVO.java | 22 + .../chat/pojo/vo/WfChatMessageVO.java | 27 + .../chat/service/IWfChatAppService.java | 37 + .../chat/service/IWfChatAssistantService.java | 35 + .../workflow/chat/service/IWfChatService.java | 67 + .../service/impl/WfChatAppServiceImpl.java | 64 + .../impl/WfChatAssistantServiceImpl.java | 37 + .../chat/service/impl/WfChatServiceImpl.java | 368 ++ .../chat/wrapper/WfChatAppWrapper.java | 33 + .../chat/wrapper/WfChatAssistantWrapper.java | 35 + .../workflow/core/cache/WfCacheConstant.java | 12 + .../workflow/core/cache/WfCategoryCache.java | 48 + .../workflow/core/cache/WfProcessCache.java | 37 + .../core/config/WfGlobListenerConfig.java | 38 + .../core/config/WfProcessEngineConfig.java | 35 + .../core/constant/WfExtendConstant.java | 107 + .../core/constant/WfProcessConstant.java | 151 + .../core/constant/WfSerialConstant.java | 20 + .../core/enums/WfProcessStatusEnum.java | 58 + .../factory/WfActivityBehaviorFactory.java | 19 + .../WfDayjsToJavaFormatConverter.java | 41 + ...ableDateGreaterThanExpressionFunction.java | 52 + ...eGreaterThanOrEqualExpressionFunction.java | 53 + ...ariableDateLessThanExpressionFunction.java | 52 + ...DateLessThanOrEqualExpressionFunction.java | 53 + .../core/handler/WfCustomUserHandler.java | 41 + .../core/handler/WfMultiInstanceHandler.java | 42 + .../handler/WfUserTaskActivityBehavior.java | 53 + .../core/listener/WfExecutionListener.java | 24 + .../core/listener/WfGlobalListener.java | 135 + .../core/listener/WfTaskListener.java | 28 + .../core/query/WfProcessDefinitionQuery.java | 476 ++ .../workflow/core/user/WfTokenUser.java | 12 + .../plugin/workflow/core/user/WfUser.java | 17 + .../workflow/core/user/WfUserCache.java | 87 + .../workflow/core/user/WfUserService.java | 77 + .../workflow/core/utils/ObjectUtil.java | 18 + .../workflow/core/utils/WfModelUtil.java | 531 +++ .../workflow/core/utils/WfSearchUtil.java | 307 ++ .../workflow/core/utils/WfTaskUtil.java | 86 + .../controller/WfProcessLeaveController.java | 100 + .../workflow/demo/dto/WfProcessLeaveDTO.java | 20 + .../workflow/demo/entity/WfProcessLeave.java | 66 + .../demo/mapper/WfProcessLeaveMapper.java | 13 + .../demo/mapper/WfProcessLeaveMapper.xml | 23 + .../demo/service/IWfProcessLeaveService.java | 15 + .../impl/WfProcessLeaveServiceImpl.java | 89 + .../workflow/demo/vo/WfProcessLeaveVO.java | 26 + .../demo/wrapper/WfProcessLeaveWrapper.java | 57 + .../design/controller/WfButtonController.java | 111 + .../controller/WfCategoryController.java | 136 + .../controller/WfConditionController.java | 118 + .../controller/WfDeploymentController.java | 64 + .../design/controller/WfFormController.java | 102 + .../WfFormDefaultValuesController.java | 69 + .../controller/WfFormHistoryController.java | 63 + .../controller/WfFormThemeController.java | 107 + .../controller/WfFormVariableController.java | 106 + .../controller/WfListenerController.java | 107 + .../design/controller/WfModelController.java | 135 + .../controller/WfModelHistoryController.java | 47 + .../controller/WfModelScopeController.java | 53 + .../design/controller/WfSerialController.java | 101 + .../workflow/design/dto/WfButtonDTO.java | 21 + .../workflow/design/dto/WfCategoryDTO.java | 21 + .../workflow/design/dto/WfConditionDTO.java | 21 + .../design/dto/WfFormDefaultValuesDTO.java | 21 + .../workflow/design/dto/WfFormHistoryDTO.java | 21 + .../workflow/design/dto/WfFormThemeDTO.java | 20 + .../design/dto/WfFormVariableDTO.java | 20 + .../workflow/design/dto/WfListenerDTO.java | 20 + .../workflow/design/dto/WfModelScopeDTO.java | 21 + .../workflow/design/dto/WfSerialDTO.java | 21 + .../workflow/design/entity/WfButton.java | 38 + .../workflow/design/entity/WfCategory.java | 42 + .../workflow/design/entity/WfCondition.java | 43 + .../design/entity/WfDeploymentForm.java | 49 + .../plugin/workflow/design/entity/WfForm.java | 49 + .../design/entity/WfFormDefaultValues.java | 34 + .../workflow/design/entity/WfFormHistory.java | 54 + .../workflow/design/entity/WfFormTheme.java | 126 + .../design/entity/WfFormVariable.java | 56 + .../design/entity/WfListenerEntity.java | 42 + .../workflow/design/entity/WfModel.java | 88 + .../design/entity/WfModelHistory.java | 83 + .../workflow/design/entity/WfModelScope.java | 47 + .../workflow/design/entity/WfProcessDef.java | 85 + .../workflow/design/entity/WfSerial.java | 53 + .../design/mapper/WfButtonMapper.java | 27 + .../workflow/design/mapper/WfButtonMapper.xml | 27 + .../design/mapper/WfCategoryMapper.java | 27 + .../design/mapper/WfCategoryMapper.xml | 27 + .../design/mapper/WfConditionMapper.java | 27 + .../design/mapper/WfConditionMapper.xml | 27 + .../design/mapper/WfDeploymentFormMapper.java | 11 + .../design/mapper/WfDeploymentFormMapper.xml | 13 + .../mapper/WfFormDefaultValuesMapper.java | 27 + .../mapper/WfFormDefaultValuesMapper.xml | 28 + .../design/mapper/WfFormHistoryMapper.java | 30 + .../design/mapper/WfFormHistoryMapper.xml | 34 + .../workflow/design/mapper/WfFormMapper.java | 13 + .../workflow/design/mapper/WfFormMapper.xml | 19 + .../design/mapper/WfFormThemeMapper.java | 25 + .../design/mapper/WfFormThemeMapper.xml | 44 + .../design/mapper/WfFormVariableMapper.java | 26 + .../design/mapper/WfFormVariableMapper.xml | 30 + .../design/mapper/WfListenerMapper.java | 25 + .../design/mapper/WfListenerMapper.xml | 27 + .../design/mapper/WfModelHistoryMapper.java | 13 + .../design/mapper/WfModelHistoryMapper.xml | 29 + .../workflow/design/mapper/WfModelMapper.java | 15 + .../workflow/design/mapper/WfModelMapper.xml | 23 + .../design/mapper/WfModelScopeMapper.java | 17 + .../design/mapper/WfModelScopeMapper.xml | 15 + .../design/mapper/WfSerialMapper.java | 17 + .../workflow/design/mapper/WfSerialMapper.xml | 26 + .../design/service/IWfButtonService.java | 30 + .../design/service/IWfCategoryService.java | 31 + .../design/service/IWfConditionService.java | 25 + .../service/IWfDeploymentFormService.java | 13 + .../design/service/IWfDesignService.java | 21 + .../service/IWfFormDefaultValuesService.java | 14 + .../design/service/IWfFormHistoryService.java | 14 + .../design/service/IWfFormService.java | 59 + .../design/service/IWfFormThemeService.java | 24 + .../service/IWfFormVariableService.java | 35 + .../design/service/IWfListenerService.java | 23 + .../service/IWfModelHistoryService.java | 15 + .../design/service/IWfModelScopeService.java | 20 + .../design/service/IWfModelService.java | 27 + .../design/service/IWfSerialService.java | 20 + .../service/impl/WfButtonServiceImpl.java | 80 + .../service/impl/WfCategoryServiceImpl.java | 73 + .../service/impl/WfConditionServiceImpl.java | 25 + .../impl/WfDeploymentFormServiceImpl.java | 17 + .../service/impl/WfDesignServiceImpl.java | 203 + .../impl/WfFormDefaultValuesServiceImpl.java | 34 + .../impl/WfFormHistoryServiceImpl.java | 56 + .../service/impl/WfFormServiceImpl.java | 413 ++ .../service/impl/WfFormThemeServiceImpl.java | 24 + .../impl/WfFormVariableServiceImpl.java | 90 + .../service/impl/WfListenerServiceImpl.java | 24 + .../impl/WfModelHistoryServiceImpl.java | 51 + .../service/impl/WfModelScopeServiceImpl.java | 106 + .../service/impl/WfModelServiceImpl.java | 216 + .../service/impl/WfSerialServiceImpl.java | 134 + .../plugin/workflow/design/vo/WfButtonVO.java | 24 + .../workflow/design/vo/WfCategoryVO.java | 26 + .../workflow/design/vo/WfConditionVO.java | 23 + .../design/vo/WfFormDefaultValuesVO.java | 23 + .../workflow/design/vo/WfFormHistoryVO.java | 23 + .../workflow/design/vo/WfFormThemeVO.java | 20 + .../plugin/workflow/design/vo/WfFormVO.java | 27 + .../workflow/design/vo/WfFormVariableVO.java | 21 + .../workflow/design/vo/WfListenerVO.java | 21 + .../workflow/design/vo/WfModelScopeVO.java | 26 + .../plugin/workflow/design/vo/WfModelVO.java | 34 + .../plugin/workflow/design/vo/WfSerialVO.java | 22 + .../design/wrapper/WfButtonWrapper.java | 34 + .../design/wrapper/WfCategoryWrapper.java | 34 + .../design/wrapper/WfConditionWrapper.java | 34 + .../wrapper/WfFormDefaultValuesWrapper.java | 34 + .../design/wrapper/WfFormHistoryWrapper.java | 34 + .../design/wrapper/WfFormThemeWrapper.java | 33 + .../design/wrapper/WfFormVariableWrapper.java | 32 + .../design/wrapper/WfListenerWrapper.java | 33 + .../design/wrapper/WfModelScopeWrapper.java | 34 + .../design/wrapper/WfModelWrapper.java | 33 + .../design/wrapper/WfSerialWrapper.java | 34 + .../ops/controller/WfOpsController.java | 268 ++ .../ops/controller/WfProxyController.java | 94 + .../plugin/workflow/ops/dto/WfProxyDTO.java | 20 + .../plugin/workflow/ops/entity/WfProxy.java | 56 + .../workflow/ops/mapper/WfProxyMapper.java | 13 + .../workflow/ops/mapper/WfProxyMapper.xml | 23 + .../plugin/workflow/ops/model/WfOps.java | 74 + .../workflow/ops/service/IWfOpsService.java | 49 + .../workflow/ops/service/IWfProxyService.java | 36 + .../ops/service/impl/WfOpsServiceImpl.java | 544 +++ .../ops/service/impl/WfProxyServiceImpl.java | 135 + .../plugin/workflow/ops/vo/WfProxyVO.java | 22 + .../workflow/ops/wrapper/WfProxyWrapper.java | 32 + .../process/controller/WfDraftController.java | 51 + .../controller/WfProcessController.java | 402 ++ .../process/controller/WfUserController.java | 32 + .../workflow/process/dto/WfBaseDTO.java | 45 + .../workflow/process/dto/WfCopyDTO.java | 22 + .../workflow/process/dto/WfDraftDTO.java | 20 + .../workflow/process/dto/WfNoticeDTO.java | 29 + .../workflow/process/entity/WfCopy.java | 61 + .../workflow/process/entity/WfDraft.java | 53 + .../workflow/process/entity/WfNotice.java | 91 + .../workflow/process/mapper/WfCopyMapper.java | 26 + .../workflow/process/mapper/WfCopyMapper.xml | 27 + .../process/mapper/WfDraftMapper.java | 19 + .../workflow/process/mapper/WfDraftMapper.xml | 26 + .../process/mapper/WfProcessDefinition.xml | 145 + .../plugin/workflow/process/model/WfNode.java | 30 + .../workflow/process/model/WfProcess.java | 257 + .../workflow/process/model/WfTaskUser.java | 44 + .../process/service/IWfCopyService.java | 18 + .../process/service/IWfDraftService.java | 21 + .../process/service/IWfExpressionService.java | 26 + .../process/service/IWfLowcodeService.java | 27 + .../process/service/IWfNoticeService.java | 12 + .../process/service/IWfProcessService.java | 140 + .../process/service/IWfTaskService.java | 39 + .../service/impl/WfCopyServiceImpl.java | 111 + .../service/impl/WfDraftServiceImpl.java | 59 + .../service/impl/WfExpressionServiceImpl.java | 85 + .../service/impl/WfLowcodeServiceImpl.java | 160 + .../service/impl/WfNoticeServiceImpl.java | 237 + .../service/impl/WfProcessService.java | 1513 ++++++ .../process/service/impl/WfTaskService.java | 312 ++ .../plugin/workflow/process/vo/WfCopyVO.java | 23 + .../plugin/workflow/process/vo/WfDraftVO.java | 22 + .../process/wrapper/WfCopyWrapper.java | 33 + .../controller/IndexController.java | 172 + .../statistics/entity/WfBarStatistics.java | 22 + .../entity/WfProcessStatistics.java | 51 + .../statistics/entity/WfStatisticsQuery.java | 30 + .../statistics/entity/WfTaskStatistics.java | 34 + .../service/WfStatisticsService.java | 30 + .../service/impl/WfStatisticsServiceImpl.java | 199 + .../src/main/resources/application-dev.yml | 6 + .../src/main/resources/application-prod.yml | 6 + .../src/main/resources/application-test.yml | 6 + .../src/main/resources/application.yml | 32 + .../nutflow/java/controller.java.btl | 224 + .../templates/nutflow/java/entity.java.btl | 122 + .../templates/nutflow/java/entityDTO.java.btl | 45 + .../nutflow/java/entityExcel.java.btl | 69 + .../templates/nutflow/java/entityVO.java.btl | 45 + .../templates/nutflow/java/feign.java.btl | 58 + .../nutflow/java/feignClient.java.btl | 62 + .../templates/nutflow/java/mapper.java.btl | 62 + .../templates/nutflow/java/mapper.xml.btl | 24 + .../templates/nutflow/java/service.java.btl | 79 + .../nutflow/java/serviceImpl.java.btl | 144 + .../templates/nutflow/java/wrapper.java.btl | 92 + .../templates/nutflow/saber3/api.js.btl | 52 + .../templates/nutflow/saber3/crud.vue.btl | 261 + .../templates/nutflow/saber3/form.vue.btl | 74 + .../templates/nutflow/sql/menu.sql.btl | 10 + .../blade-system-api/hs_err_pid42528.log | 205 + .../blade-system-api/hs_err_pid42528.mdmp | 0 .../blade-system-api/hs_err_pid7312.log | 219 + .../blade-system-api/hs_err_pid7312.mdmp | 0 hs_err_pid4796.log | 220 + hs_err_pid4796.mdmp | 0 hs_err_pid6156.log | 220 + hs_err_pid6156.mdmp | 0 485 files changed, 47582 insertions(+) create mode 100644 blade-plugin/blade-workflow/.gitignore create mode 100644 blade-plugin/blade-workflow/Dockerfile create mode 100644 blade-plugin/blade-workflow/LICENSE create mode 100644 blade-plugin/blade-workflow/doc/dify/.env create mode 100644 blade-plugin/blade-workflow/doc/dify/dsl/文生图chatflow.yml create mode 100644 blade-plugin/blade-workflow/doc/dify/dsl/文生图workflow.yml create mode 100644 blade-plugin/blade-workflow/doc/dify/dsl/简单agent.yml create mode 100644 blade-plugin/blade-workflow/doc/dify/dsl/翻译助手.yml create mode 100644 blade-plugin/blade-workflow/doc/dify/dsl/聊天助手.yml create mode 100644 blade-plugin/blade-workflow/doc/dify/nginx.conf create mode 100644 blade-plugin/blade-workflow/doc/nacos/blade-workflow-dev.yaml create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/dm/bladex_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/dm/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/mysql/bladex_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/mysql/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/oracle/bladex_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/oracle/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/postgres/bladex_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/postgres/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/sqlserver/bladex_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/flowable/sqlserver/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/dm/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/dm/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/dm/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/dm/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1/blade_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.0~1.0.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.0~1.0.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.1~1.0.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.1~1.0.2/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.3~1.0.4/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.4~1.0.5/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.5~1.0.6/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.5~1.0.6/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.6~1.0.7/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.7~1.1.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.7~1.1.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.0~1.1.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.2~1.1.3/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.3~1.2.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.3~1.2.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.0~1.2.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.10~1.3.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.1~1.2.2/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.3~1.2.4/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.3~1.2.4/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.4~1.2.5/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.5~1.2.6/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.6~1.2.7/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.6~1.2.7/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.8~1.2.9/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.0~1.3.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.1~1.3.2/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.2~1.3.3/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.3~1.3.4/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.4.0~1.5.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.4.0~1.5.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.0~1.5.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.1~1.6.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.1~1.6.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.6.0~1.7.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.6.0~1.7.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.0~1.7.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1/blade_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.4~1.2.5/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.5~1.2.6/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.6~1.2.7/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.6~1.2.7/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.8~1.2.9/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.9~1.3.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.0~1.3.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.1~1.3.2/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.2~1.3.3/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.3~1.3.4/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.4.0~1.5.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.4.0~1.5.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.0~1.5.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.1~1.6.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.1~1.6.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.6.0~1.7.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.6.0~1.7.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.0~1.7.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1/blade_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.4~1.2.5/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.5~1.2.6/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.6~1.2.7/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.6~1.2.7/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.8~1.2.9/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.9~1.3.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.0~1.3.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.1~1.3.2/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.2~1.3.3/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.3~1.3.4/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.4.0~1.5.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.4.0~1.5.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.0~1.5.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.1~1.6.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.1~1.6.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.6.0~1.7.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.6.0~1.7.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.0~1.7.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1/blade_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.4.0~1.5.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.4.0~1.5.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.0~1.5.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.1~1.6.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.1~1.6.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.6.0~1.7.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.6.0~1.7.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.0~1.7.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1/blade_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/dm/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/dm/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/dm/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/mysql/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/mysql/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/mysql/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/oracle/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/oracle/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/oracle/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/postgres/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/postgres/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/postgres/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/bladex_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/dm/1.12.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/dm/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/dm/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/dm/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/dm/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.12.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.15.0/blade_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.15.0/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.0~1.7.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.12.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.15.0/blade_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.15.0/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.0~1.7.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.12.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.15.0/blade_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.15.0/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.0~1.7.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.12.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.15.0/blade_workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.15.0/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.0~1.7.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.1~1.8.0/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.1~1.8.0/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.8.0~1.8.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.8.0~1.8.1/blade.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/lemon_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/saber3_menu.sql create mode 100644 blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1~1.9.2/blade-workflow.sql create mode 100644 blade-plugin/blade-workflow/pom.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/WorkflowApplication.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppDraftController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppProcessController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppTaskController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/entity/WfAppProcess.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/service/IWfAppProcessService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/service/impl/IWfAppProcessServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/vo/WfAppProcessVo.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatAppController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatAssistantController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/core/cache/WfChatCache.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/excel/WfChatAppExcel.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/excel/WfChatAssistantExcel.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAppMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAppMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAssistantMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAssistantMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/dto/WfChatAppDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/dto/WfChatAssistantDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/entity/WfChatAppEntity.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/entity/WfChatAssistantEntity.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatAppVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatAssistantVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatMessageVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatAppService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatAssistantService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatAppServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatAssistantServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/wrapper/WfChatAppWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/wrapper/WfChatAssistantWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfCacheConstant.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfCategoryCache.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfProcessCache.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/config/WfGlobListenerConfig.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/config/WfProcessEngineConfig.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfExtendConstant.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfProcessConstant.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfSerialConstant.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/enums/WfProcessStatusEnum.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/factory/WfActivityBehaviorFactory.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfDayjsToJavaFormatConverter.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateGreaterThanExpressionFunction.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateGreaterThanOrEqualExpressionFunction.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateLessThanExpressionFunction.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateLessThanOrEqualExpressionFunction.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfCustomUserHandler.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfMultiInstanceHandler.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfUserTaskActivityBehavior.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfExecutionListener.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfGlobalListener.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfTaskListener.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/query/WfProcessDefinitionQuery.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfTokenUser.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUser.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUserCache.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUserService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/ObjectUtil.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfModelUtil.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfSearchUtil.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfTaskUtil.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/controller/WfProcessLeaveController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/dto/WfProcessLeaveDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/entity/WfProcessLeave.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/mapper/WfProcessLeaveMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/mapper/WfProcessLeaveMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/service/IWfProcessLeaveService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/service/impl/WfProcessLeaveServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/vo/WfProcessLeaveVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/wrapper/WfProcessLeaveWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfButtonController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfCategoryController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfConditionController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfDeploymentController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormDefaultValuesController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormHistoryController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormThemeController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormVariableController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfListenerController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelHistoryController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelScopeController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfSerialController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfButtonDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfCategoryDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfConditionDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormDefaultValuesDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormHistoryDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormThemeDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormVariableDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfListenerDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfModelScopeDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfSerialDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfButton.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfCategory.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfCondition.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfDeploymentForm.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfForm.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormDefaultValues.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormHistory.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormTheme.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormVariable.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfListenerEntity.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModel.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModelHistory.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModelScope.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfProcessDef.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfSerial.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfButtonMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfButtonMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfCategoryMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfCategoryMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfConditionMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfConditionMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfDeploymentFormMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfDeploymentFormMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormDefaultValuesMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormDefaultValuesMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormHistoryMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormHistoryMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormThemeMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormThemeMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormVariableMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormVariableMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfListenerMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfListenerMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelHistoryMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelHistoryMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelScopeMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelScopeMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfSerialMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfSerialMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfButtonService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfCategoryService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfConditionService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfDeploymentFormService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfDesignService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormDefaultValuesService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormHistoryService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormThemeService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormVariableService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfListenerService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelHistoryService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelScopeService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfSerialService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfButtonServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfCategoryServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfConditionServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfDeploymentFormServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfDesignServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormDefaultValuesServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormHistoryServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormThemeServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormVariableServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfListenerServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelHistoryServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelScopeServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfSerialServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfButtonVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfCategoryVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfConditionVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormDefaultValuesVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormHistoryVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormThemeVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormVariableVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfListenerVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfModelScopeVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfModelVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfSerialVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfButtonWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfCategoryWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfConditionWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormDefaultValuesWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormHistoryWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormThemeWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormVariableWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfListenerWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfModelScopeWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfModelWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfSerialWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/controller/WfOpsController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/controller/WfProxyController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/dto/WfProxyDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/entity/WfProxy.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/mapper/WfProxyMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/mapper/WfProxyMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/model/WfOps.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/IWfOpsService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/IWfProxyService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/impl/WfOpsServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/impl/WfProxyServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/vo/WfProxyVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/wrapper/WfProxyWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfDraftController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfProcessController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfUserController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfBaseDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfCopyDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfDraftDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfNoticeDTO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfCopy.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfDraft.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfNotice.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfCopyMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfCopyMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfDraftMapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfDraftMapper.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfProcessDefinition.xml create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfNode.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfProcess.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfTaskUser.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfCopyService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfDraftService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfExpressionService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfLowcodeService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfNoticeService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfProcessService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfTaskService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfCopyServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfDraftServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfExpressionServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfLowcodeServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfNoticeServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfProcessService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfTaskService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/vo/WfCopyVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/vo/WfDraftVO.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/wrapper/WfCopyWrapper.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/controller/IndexController.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfBarStatistics.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfProcessStatistics.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfStatisticsQuery.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfTaskStatistics.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/service/WfStatisticsService.java create mode 100644 blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/service/impl/WfStatisticsServiceImpl.java create mode 100644 blade-plugin/blade-workflow/src/main/resources/application-dev.yml create mode 100644 blade-plugin/blade-workflow/src/main/resources/application-prod.yml create mode 100644 blade-plugin/blade-workflow/src/main/resources/application-test.yml create mode 100644 blade-plugin/blade-workflow/src/main/resources/application.yml create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/controller.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entity.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityDTO.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityExcel.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityVO.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/feign.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/feignClient.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/mapper.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/mapper.xml.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/service.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/serviceImpl.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/wrapper.java.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/api.js.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/crud.vue.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/form.vue.btl create mode 100644 blade-plugin/blade-workflow/src/main/resources/templates/nutflow/sql/menu.sql.btl create mode 100644 blade-service-api/blade-system-api/hs_err_pid42528.log create mode 100644 blade-service-api/blade-system-api/hs_err_pid42528.mdmp create mode 100644 blade-service-api/blade-system-api/hs_err_pid7312.log create mode 100644 blade-service-api/blade-system-api/hs_err_pid7312.mdmp create mode 100644 hs_err_pid4796.log create mode 100644 hs_err_pid4796.mdmp create mode 100644 hs_err_pid6156.log create mode 100644 hs_err_pid6156.mdmp diff --git a/blade-plugin/blade-workflow/.gitignore b/blade-plugin/blade-workflow/.gitignore new file mode 100644 index 0000000..9f62ead --- /dev/null +++ b/blade-plugin/blade-workflow/.gitignore @@ -0,0 +1,8 @@ +.svn +.idea +*.log +logs +target +node_modules* +*.iml +.DS_Store diff --git a/blade-plugin/blade-workflow/Dockerfile b/blade-plugin/blade-workflow/Dockerfile new file mode 100644 index 0000000..256b18d --- /dev/null +++ b/blade-plugin/blade-workflow/Dockerfile @@ -0,0 +1,19 @@ +FROM bladex/alpine-java:openjdk17_cn_slim + +LABEL maintainer="bladejava@qq.com" + +ENV TZ=Asia/Shanghai + +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN mkdir -p /blade/plugin/workflow + +WORKDIR /blade/plugin/workflow + +EXPOSE 8009 + +COPY ./target/blade-workflow.jar ./app.jar + +ENTRYPOINT ["java", "--add-opens", "java.base/java.lang=ALL-UNNAMED", "--add-opens", "java.base/java.lang.reflect=ALL-UNNAMED", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"] + +CMD ["--spring.profiles.active=prod"] diff --git a/blade-plugin/blade-workflow/LICENSE b/blade-plugin/blade-workflow/LICENSE new file mode 100644 index 0000000..cd712f3 --- /dev/null +++ b/blade-plugin/blade-workflow/LICENSE @@ -0,0 +1,34 @@ +BladeX商业授权许可协议 + +一、 知识产权: +BladeX系列产品知识产权归上海布雷德网络科技独立所有 + +二、 许可: +1. 在您完全接受并遵守本协议的基础上,本协议授予您使用BladeX的某些权利和非独占性许可。 +2. 本协议中,将本产品使用用途分为“专业版用途”和“企业版用途”。 +3. “专业版用途”定义:指个人在非团体机构中出于任何目的使用本产品(任何目的包括商业目的或非盈利目的)。 +4. “企业版用途”定义:指团体机构(例如公司企业、政府、学校、军队、医院、社会团体等各类组织)(不包含集团,若集团使用则需为各个子公司分别购买企业授权)出于任何目的使用本产品(任何目的包括商业目的或非盈利目的)。 + +三、 约束和限制: +1. 本产品只能由您为本协议许可的目的而使用,您不得透露给任何第三方; +2. 从本产品取得的任何信息、软件、产品或服务,您不得对其进行修改、改编或基于以上内容创建同种类别的衍生产品并售卖。 +3. 您不得对本产品以及与之关联的商业授权进行发布、出租、销售、分销、抵押、转让、许可或发放子许可证。 +4. 本产品商业授权版可能包含一些独立功能或特性,这些功能只有在您购买商业授权后才可以使用。在未取得商业授权的情况下,您不得使用、尝试使用或复制这些授权版独立功能。 +5. 若您的客户要求以源码方式交付软件,需缴纳企业版授权费用,否则本产品部分不得提供源码。 + +四、 不得用于非法或禁止的用途: +您在使用本产品或服务时,不得将本产品产品或服务用于任何非法用途或本协议条款、条件和声明禁止的用途。 + +五、 免责说明: +1. 本产品按“现状”授予许可,您须自行承担使用本产品的风险。BladeX团队不对此提供任何明示、暗示或任何其它形式的担保和表示。在任何情况下,对于因使用或无法使用本软件而导致的任何损失(包括但不仅限于商业利润损失、业务中断或业务信息丢失),BladeX团队无需向您或任何第三方负责,即使BladeX团队已被告知可能会造成此类损失。在任何情况下, BladeX团队均不就任何直接的、间接的、附带的、后果性的、特别的、惩戒性的和处罚性的损害赔偿承担任何责任,无论该主张是基于保证、合同、侵权(包括疏忽)或是基于其他原因作出。 +2. 本产品可能内置有第三方服务,您应自行评估使用这些第三方服务的风险,由使用此类第三方服务而产生的纠纷,全部责任由您自行承担。 +3. BladeX团队不对使用本产品构建的网站中任何信息内容以及导致的任何版权纠纷、法律争议和后果承担任何责任,全部责任由您自行承担。 +4. BladeX团队可能会经常提供产品更新或升级,但BladeX团队没有为根据本协议许可的产品提供维护或更新的责任。 +5. BladeX团队可能会按照官方制定的答疑规则为您进行答疑,但BladeX团队没有为根据本协议许可的产品提供技术支持的义务或责任。 + +六、 权利和所有权的保留: +BladeX团队保留所有未在本协议中明确授予您的所有权利。BladeX团队保留随时更新本协议的权利,并只需公示于对应产品项目的LICENSE文件,无需征得您的事先同意且无需另行通知,更新后的内容应于公示即时生效。您可以随时访问产品地址并查阅最新版许可条款,在更新生效后您继续使用本产品则被视作您已接受了新的条款。 + +七、 协议终止 +1. 您一旦开始复制、下载、安装或者使用本产品,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的许可权力同时,也受到相关的约束和限制,本协议许可范围以外的行为,将直接违反本协议并构成侵权。 +2. 一旦您违反本协议的条款,BladeX团队随时可能终止本协议、收回许可和授权,并要求您承担相应法律和经济责任。 diff --git a/blade-plugin/blade-workflow/doc/dify/.env b/blade-plugin/blade-workflow/doc/dify/.env new file mode 100644 index 0000000..ab4d03c --- /dev/null +++ b/blade-plugin/blade-workflow/doc/dify/.env @@ -0,0 +1,1581 @@ +# ------------------------------ +# Environment Variables for API service & worker +# ------------------------------ + +# ------------------------------ +# Common Variables +# ------------------------------ + +# The backend URL of the console API, +# used to concatenate the authorization callback. +# If empty, it is the same domain. +# Example: https://api.console.dify.ai +CONSOLE_API_URL= + +# The front-end URL of the console web, +# used to concatenate some front-end addresses and for CORS configuration use. +# If empty, it is the same domain. +# Example: https://console.dify.ai +CONSOLE_WEB_URL= + +# Service API Url, +# used to display Service API Base Url to the front-end. +# If empty, it is the same domain. +# Example: https://api.dify.ai +SERVICE_API_URL=http://172.17.0.1:8066 + +# Trigger external URL +# used to display trigger endpoint API Base URL to the front-end. +# Example: https://api.dify.ai +TRIGGER_URL=http://localhost + +# WebApp API backend Url, +# used to declare the back-end URL for the front-end API. +# If empty, it is the same domain. +# Example: https://api.app.dify.ai +APP_API_URL= + +# WebApp Url, +# used to display WebAPP API Base Url to the front-end. +# If empty, it is the same domain. +# Example: https://app.dify.ai +APP_WEB_URL=your-domain-name + +# File preview or download Url prefix. +# used to display File preview or download Url to the front-end or as Multi-model inputs; +# Url is signed and has expiration time. +# Setting FILES_URL is required for file processing plugins. +# - For https://example.com, use FILES_URL=https://example.com +# - For http://example.com, use FILES_URL=http://example.com +# Recommendation: use a dedicated domain (e.g., https://upload.example.com). +# Alternatively, use http://:5001 or http://api:5001, +# ensuring port 5001 is externally accessible (see docker-compose.yaml). +FILES_URL=your-domain-name + +# INTERNAL_FILES_URL is used for plugin daemon communication within Docker network. +# Set this to the internal Docker service URL for proper plugin file access. +# Example: INTERNAL_FILES_URL=http://api:5001 +INTERNAL_FILES_URL= + +# Ensure UTF-8 encoding +LANG=C.UTF-8 +LC_ALL=C.UTF-8 +PYTHONIOENCODING=utf-8 + +# Set UV cache directory to avoid permission issues with non-existent home directory +UV_CACHE_DIR=/tmp/.uv-cache + +# ------------------------------ +# Server Configuration +# ------------------------------ + +# The log level for the application. +# Supported values are `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL` +LOG_LEVEL=INFO +# Log output format: text or json +LOG_OUTPUT_FORMAT=text +# Log file path +LOG_FILE=/app/logs/server.log +# Log file max size, the unit is MB +LOG_FILE_MAX_SIZE=20 +# Log file max backup count +LOG_FILE_BACKUP_COUNT=5 +# Log dateformat +LOG_DATEFORMAT=%Y-%m-%d %H:%M:%S +# Log Timezone +LOG_TZ=UTC + +# Debug mode, default is false. +# It is recommended to turn on this configuration for local development +# to prevent some problems caused by monkey patch. +DEBUG=false + +# Flask debug mode, it can output trace information at the interface when turned on, +# which is convenient for debugging. +FLASK_DEBUG=false + +# Enable request logging, which will log the request and response information. +# And the log level is DEBUG +ENABLE_REQUEST_LOGGING=False + +# A secret key that is used for securely signing the session cookie +# and encrypting sensitive information on the database. +# You can generate a strong key using `openssl rand -base64 42`. +SECRET_KEY=3NAw7xPCY+u0E6MQRsA1iWHnUuLUKDZA5PLfD+7UR8s3oI930H7TqHBQ + +# Password for admin user initialization. +# If left unset, admin user will not be prompted for a password +# when creating the initial admin account. +# The length of the password cannot exceed 30 characters. +INIT_PASSWORD= + +# Deployment environment. +# Supported values are `PRODUCTION`, `TESTING`. Default is `PRODUCTION`. +# Testing environment. There will be a distinct color label on the front-end page, +# indicating that this environment is a testing environment. +DEPLOY_ENV=PRODUCTION + +# Whether to enable the version check policy. +# If set to empty, https://updates.dify.ai will be called for version check. +CHECK_UPDATE_URL=https://updates.dify.ai + +# Used to change the OpenAI base address, default is https://api.openai.com/v1. +# When OpenAI cannot be accessed in China, replace it with a domestic mirror address, +# or when a local model provides OpenAI compatible API, it can be replaced. +OPENAI_API_BASE=https://api.openai.com/v1 + +# When enabled, migrations will be executed prior to application startup +# and the application will start after the migrations have completed. +MIGRATION_ENABLED=true + +# File Access Time specifies a time interval in seconds for the file to be accessed. +# The default value is 300 seconds. +FILES_ACCESS_TIMEOUT=300 + +# Access token expiration time in minutes +ACCESS_TOKEN_EXPIRE_MINUTES=60 + +# Refresh token expiration time in days +REFRESH_TOKEN_EXPIRE_DAYS=30 + +# The default number of active requests for the application, where 0 means unlimited, should be a non-negative integer. +APP_DEFAULT_ACTIVE_REQUESTS=0 +# The maximum number of active requests for the application, where 0 means unlimited, should be a non-negative integer. +APP_MAX_ACTIVE_REQUESTS=0 +APP_MAX_EXECUTION_TIME=1200 + +# ------------------------------ +# Container Startup Related Configuration +# Only effective when starting with docker image or docker-compose. +# ------------------------------ + +# API service binding address, default: 0.0.0.0, i.e., all addresses can be accessed. +DIFY_BIND_ADDRESS=0.0.0.0 + +# API service binding port number, default 5001. +DIFY_PORT=5001 + +# The number of API server workers, i.e., the number of workers. +# Formula: number of cpu cores x 2 + 1 for sync, 1 for Gevent +# Reference: https://docs.gunicorn.org/en/stable/design.html#how-many-workers +SERVER_WORKER_AMOUNT=1 + +# Defaults to gevent. If using windows, it can be switched to sync or solo. +# +# Warning: Changing this parameter requires disabling patching for +# psycopg2 and gRPC (see `gunicorn.conf.py` and `celery_entrypoint.py`). +# Modifying it may also decrease throughput. +# +# It is strongly discouraged to change this parameter. +SERVER_WORKER_CLASS=gevent + +# Default number of worker connections, the default is 10. +SERVER_WORKER_CONNECTIONS=10 + +# Similar to SERVER_WORKER_CLASS. +# If using windows, it can be switched to sync or solo. +# +# Warning: Changing this parameter requires disabling patching for +# psycopg2 and gRPC (see `gunicorn_conf.py` and `celery_entrypoint.py`). +# Modifying it may also decrease throughput. +# +# It is strongly discouraged to change this parameter. +CELERY_WORKER_CLASS= + +# Request handling timeout. The default is 200, +# it is recommended to set it to 360 to support a longer sse connection time. +GUNICORN_TIMEOUT=360 + +# The number of Celery workers. The default is 4 for development environments +# to allow parallel processing of workflows, document indexing, and other async tasks. +# Adjust based on your system resources and workload requirements. +CELERY_WORKER_AMOUNT=4 + +# Flag indicating whether to enable autoscaling of Celery workers. +# +# Autoscaling is useful when tasks are CPU intensive and can be dynamically +# allocated and deallocated based on the workload. +# +# When autoscaling is enabled, the maximum and minimum number of workers can +# be specified. The autoscaling algorithm will dynamically adjust the number +# of workers within the specified range. +# +# Default is false (i.e., autoscaling is disabled). +# +# Example: +# CELERY_AUTO_SCALE=true +CELERY_AUTO_SCALE=true + +# The maximum number of Celery workers that can be autoscaled. +# This is optional and only used when autoscaling is enabled. +# Default is not set. +CELERY_MAX_WORKERS= + +# The minimum number of Celery workers that can be autoscaled. +# This is optional and only used when autoscaling is enabled. +# Default is not set. +CELERY_MIN_WORKERS= + +# API Tool configuration +API_TOOL_DEFAULT_CONNECT_TIMEOUT=10 +API_TOOL_DEFAULT_READ_TIMEOUT=60 + +# ------------------------------- +# Datasource Configuration +# -------------------------------- +ENABLE_WEBSITE_JINAREADER=true +ENABLE_WEBSITE_FIRECRAWL=true +ENABLE_WEBSITE_WATERCRAWL=true + +# Enable inline LaTeX rendering with single dollar signs ($...$) in the web frontend +# Default is false for security reasons to prevent conflicts with regular text +NEXT_PUBLIC_ENABLE_SINGLE_DOLLAR_LATEX=false + +# ------------------------------ +# Database Configuration +# The database uses PostgreSQL or MySQL. OceanBase and seekdb are also supported. Please use the public schema. +# It is consistent with the configuration in the database service below. +# You can adjust the database configuration according to your needs. +# ------------------------------ + +# Database type, supported values are `postgresql`, `mysql`, `oceanbase`, `seekdb` +DB_TYPE=postgresql +# For MySQL, only `root` user is supported for now +DB_USERNAME=postgres +DB_PASSWORD=difyai123456 +DB_HOST=db_postgres +DB_PORT=5432 +DB_DATABASE=dify + +# The size of the database connection pool. +# The default is 30 connections, which can be appropriately increased. +SQLALCHEMY_POOL_SIZE=30 +# The default is 10 connections, which allows temporary overflow beyond the pool size. +SQLALCHEMY_MAX_OVERFLOW=10 +# Database connection pool recycling time, the default is 3600 seconds. +SQLALCHEMY_POOL_RECYCLE=3600 +# Whether to print SQL, default is false. +SQLALCHEMY_ECHO=false +# If True, will test connections for liveness upon each checkout +SQLALCHEMY_POOL_PRE_PING=false +# Whether to enable the Last in first out option or use default FIFO queue if is false +SQLALCHEMY_POOL_USE_LIFO=false +# Number of seconds to wait for a connection from the pool before raising a timeout error. +# Default is 30 +SQLALCHEMY_POOL_TIMEOUT=30 + +# Maximum number of connections to the database +# Default is 100 +# +# Reference: https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS +POSTGRES_MAX_CONNECTIONS=100 + +# Sets the amount of shared memory used for postgres's shared buffers. +# Default is 128MB +# Recommended value: 25% of available memory +# Reference: https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-SHARED-BUFFERS +POSTGRES_SHARED_BUFFERS=128MB + +# Sets the amount of memory used by each database worker for working space. +# Default is 4MB +# +# Reference: https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-WORK-MEM +POSTGRES_WORK_MEM=4MB + +# Sets the amount of memory reserved for maintenance activities. +# Default is 64MB +# +# Reference: https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM +POSTGRES_MAINTENANCE_WORK_MEM=64MB + +# Sets the planner's assumption about the effective cache size. +# Default is 4096MB +# +# Reference: https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE +POSTGRES_EFFECTIVE_CACHE_SIZE=4096MB + +# Sets the maximum allowed duration of any statement before termination. +# Default is 0 (no timeout). +# +# Reference: https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT +# A value of 0 prevents the server from timing out statements. +POSTGRES_STATEMENT_TIMEOUT=0 + +# Sets the maximum allowed duration of any idle in-transaction session before termination. +# Default is 0 (no timeout). +# +# Reference: https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT +# A value of 0 prevents the server from terminating idle sessions. +POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT=0 + +# MySQL Performance Configuration +# Maximum number of connections to MySQL +# +# Default is 1000 +MYSQL_MAX_CONNECTIONS=1000 + +# InnoDB buffer pool size +# Default is 512M +# Recommended value: 70-80% of available memory for dedicated MySQL server +# Reference: https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size +MYSQL_INNODB_BUFFER_POOL_SIZE=512M + +# InnoDB log file size +# Default is 128M +# Reference: https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_file_size +MYSQL_INNODB_LOG_FILE_SIZE=128M + +# InnoDB flush log at transaction commit +# Default is 2 (flush to OS cache, sync every second) +# Options: 0 (no flush), 1 (flush and sync), 2 (flush to OS cache) +# Reference: https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit +MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT=2 + +# ------------------------------ +# Redis Configuration +# This Redis configuration is used for caching and for pub/sub during conversation. +# ------------------------------ + +REDIS_HOST=redis +REDIS_PORT=6379 +REDIS_USERNAME= +REDIS_PASSWORD=difyai123456 +REDIS_USE_SSL=false +# SSL configuration for Redis (when REDIS_USE_SSL=true) +REDIS_SSL_CERT_REQS=CERT_NONE +# Options: CERT_NONE, CERT_OPTIONAL, CERT_REQUIRED +REDIS_SSL_CA_CERTS= +# Path to CA certificate file for SSL verification +REDIS_SSL_CERTFILE= +# Path to client certificate file for SSL authentication +REDIS_SSL_KEYFILE= +# Path to client private key file for SSL authentication +REDIS_DB=0 +# Optional: limit total Redis connections used by API/Worker (unset for default) +# Align with API's REDIS_MAX_CONNECTIONS in configs +REDIS_MAX_CONNECTIONS= + +# Whether to use Redis Sentinel mode. +# If set to true, the application will automatically discover and connect to the master node through Sentinel. +REDIS_USE_SENTINEL=false + +# List of Redis Sentinel nodes. If Sentinel mode is enabled, provide at least one Sentinel IP and port. +# Format: `:,:,:` +REDIS_SENTINELS= +REDIS_SENTINEL_SERVICE_NAME= +REDIS_SENTINEL_USERNAME= +REDIS_SENTINEL_PASSWORD= +REDIS_SENTINEL_SOCKET_TIMEOUT=0.1 + +# List of Redis Cluster nodes. If Cluster mode is enabled, provide at least one Cluster IP and port. +# Format: `:,:,:` +REDIS_USE_CLUSTERS=false +REDIS_CLUSTERS= +REDIS_CLUSTERS_PASSWORD= + +# ------------------------------ +# Celery Configuration +# ------------------------------ + +# Use standalone redis as the broker, and redis db 1 for celery broker. (redis_username is usually set by default as empty) +# Format as follows: `redis://:@:/`. +# Example: redis://:difyai123456@redis:6379/1 +# If use Redis Sentinel, format as follows: `sentinel://:@:/` +# For high availability, you can configure multiple Sentinel nodes (if provided) separated by semicolons like below example: +# Example: sentinel://:difyai123456@localhost:26379/1;sentinel://:difyai12345@localhost:26379/1;sentinel://:difyai12345@localhost:26379/1 +CELERY_BROKER_URL=redis://:difyai123456@redis:6379/1 +CELERY_BACKEND=redis +BROKER_USE_SSL=false + +# If you are using Redis Sentinel for high availability, configure the following settings. +CELERY_USE_SENTINEL=false +CELERY_SENTINEL_MASTER_NAME= +CELERY_SENTINEL_PASSWORD= +CELERY_SENTINEL_SOCKET_TIMEOUT=0.1 +# e.g. {"tasks.add": {"rate_limit": "10/s"}} +CELERY_TASK_ANNOTATIONS=null + +# ------------------------------ +# CORS Configuration +# Used to set the front-end cross-domain access policy. +# ------------------------------ + +# Specifies the allowed origins for cross-origin requests to the Web API, +# e.g. https://dify.app or * for all origins. +WEB_API_CORS_ALLOW_ORIGINS=* + +# Specifies the allowed origins for cross-origin requests to the console API, +# e.g. https://cloud.dify.ai or * for all origins. +CONSOLE_CORS_ALLOW_ORIGINS=* +# When the frontend and backend run on different subdomains, set COOKIE_DOMAIN to the site's top-level domain (e.g., `example.com`). Leading dots are optional. +COOKIE_DOMAIN= +# When the frontend and backend run on different subdomains, set NEXT_PUBLIC_COOKIE_DOMAIN=1. +NEXT_PUBLIC_COOKIE_DOMAIN= +NEXT_PUBLIC_BATCH_CONCURRENCY=5 + +# ------------------------------ +# File Storage Configuration +# ------------------------------ + +# The type of storage to use for storing user files. +STORAGE_TYPE=opendal + +# Apache OpenDAL Configuration +# The configuration for OpenDAL consists of the following format: OPENDAL__. +# You can find all the service configurations (CONFIG_NAME) in the repository at: https://github.com/apache/opendal/tree/main/core/src/services. +# Dify will scan configurations starting with OPENDAL_ and automatically apply them. +# The scheme name for the OpenDAL storage. +OPENDAL_SCHEME=fs +# Configurations for OpenDAL Local File System. +OPENDAL_FS_ROOT=storage + +# ClickZetta Volume Configuration (for storage backend) +# To use ClickZetta Volume as storage backend, set STORAGE_TYPE=clickzetta-volume +# Note: ClickZetta Volume will reuse the existing CLICKZETTA_* connection parameters + +# Volume type selection (three types available): +# - user: Personal/small team use, simple config, user-level permissions +# - table: Enterprise multi-tenant, smart routing, table-level + user-level permissions +# - external: Data lake integration, external storage connection, volume-level + storage-level permissions +CLICKZETTA_VOLUME_TYPE=user + +# External Volume name (required only when TYPE=external) +CLICKZETTA_VOLUME_NAME= + +# Table Volume table prefix (used only when TYPE=table) +CLICKZETTA_VOLUME_TABLE_PREFIX=dataset_ + +# Dify file directory prefix (isolates from other apps, recommended to keep default) +CLICKZETTA_VOLUME_DIFY_PREFIX=dify_km + +# S3 Configuration +# +S3_ENDPOINT= +S3_REGION=us-east-1 +S3_BUCKET_NAME=difyai +S3_ACCESS_KEY= +S3_SECRET_KEY= +# Whether to use AWS managed IAM roles for authenticating with the S3 service. +# If set to false, the access key and secret key must be provided. +S3_USE_AWS_MANAGED_IAM=false + +# Workflow run and Conversation archive storage (S3-compatible) +ARCHIVE_STORAGE_ENABLED=false +ARCHIVE_STORAGE_ENDPOINT= +ARCHIVE_STORAGE_ARCHIVE_BUCKET= +ARCHIVE_STORAGE_EXPORT_BUCKET= +ARCHIVE_STORAGE_ACCESS_KEY= +ARCHIVE_STORAGE_SECRET_KEY= +ARCHIVE_STORAGE_REGION=auto + +# Azure Blob Configuration +# +AZURE_BLOB_ACCOUNT_NAME=difyai +AZURE_BLOB_ACCOUNT_KEY=difyai +AZURE_BLOB_CONTAINER_NAME=difyai-container +AZURE_BLOB_ACCOUNT_URL=https://.blob.core.windows.net + +# Google Storage Configuration +# +GOOGLE_STORAGE_BUCKET_NAME=your-bucket-name +GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64= + +# The Alibaba Cloud OSS configurations, +# +ALIYUN_OSS_BUCKET_NAME=your-bucket-name +ALIYUN_OSS_ACCESS_KEY=your-access-key +ALIYUN_OSS_SECRET_KEY=your-secret-key +ALIYUN_OSS_ENDPOINT=https://oss-ap-southeast-1-internal.aliyuncs.com +ALIYUN_OSS_REGION=ap-southeast-1 +ALIYUN_OSS_AUTH_VERSION=v4 +# Don't start with '/'. OSS doesn't support leading slash in object names. +ALIYUN_OSS_PATH=your-path +# Optional CloudBox ID for Aliyun OSS, DO NOT enable it if you are not using CloudBox. +#ALIYUN_CLOUDBOX_ID=your-cloudbox-id + +# Tencent COS Configuration +# +TENCENT_COS_BUCKET_NAME=your-bucket-name +TENCENT_COS_SECRET_KEY=your-secret-key +TENCENT_COS_SECRET_ID=your-secret-id +TENCENT_COS_REGION=your-region +TENCENT_COS_SCHEME=your-scheme +TENCENT_COS_CUSTOM_DOMAIN=your-custom-domain + +# Oracle Storage Configuration +# +OCI_ENDPOINT=https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com +OCI_BUCKET_NAME=your-bucket-name +OCI_ACCESS_KEY=your-access-key +OCI_SECRET_KEY=your-secret-key +OCI_REGION=us-ashburn-1 + +# Huawei OBS Configuration +# +HUAWEI_OBS_BUCKET_NAME=your-bucket-name +HUAWEI_OBS_SECRET_KEY=your-secret-key +HUAWEI_OBS_ACCESS_KEY=your-access-key +HUAWEI_OBS_SERVER=your-server-url +HUAWEI_OBS_PATH_STYLE=false + +# Volcengine TOS Configuration +# +VOLCENGINE_TOS_BUCKET_NAME=your-bucket-name +VOLCENGINE_TOS_SECRET_KEY=your-secret-key +VOLCENGINE_TOS_ACCESS_KEY=your-access-key +VOLCENGINE_TOS_ENDPOINT=your-server-url +VOLCENGINE_TOS_REGION=your-region + +# Baidu OBS Storage Configuration +# +BAIDU_OBS_BUCKET_NAME=your-bucket-name +BAIDU_OBS_SECRET_KEY=your-secret-key +BAIDU_OBS_ACCESS_KEY=your-access-key +BAIDU_OBS_ENDPOINT=your-server-url + +# Supabase Storage Configuration +# +SUPABASE_BUCKET_NAME=your-bucket-name +SUPABASE_API_KEY=your-access-key +SUPABASE_URL=your-server-url + +# ------------------------------ +# Vector Database Configuration +# ------------------------------ + +# The type of vector store to use. +# Supported values are `weaviate`, `oceanbase`, `seekdb`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `opengauss`, `tablestore`, `vastbase`, `tidb`, `tidb_on_qdrant`, `baidu`, `lindorm`, `huawei_cloud`, `upstash`, `matrixone`, `clickzetta`, `alibabacloud_mysql`, `iris`, `hologres`. +VECTOR_STORE=weaviate +# Prefix used to create collection name in vector database +VECTOR_INDEX_NAME_PREFIX=Vector_index + +# The Weaviate endpoint URL. Only available when VECTOR_STORE is `weaviate`. +WEAVIATE_ENDPOINT=http://weaviate:8080 +WEAVIATE_API_KEY=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih +WEAVIATE_GRPC_ENDPOINT=grpc://weaviate:50051 +WEAVIATE_TOKENIZATION=word + +# For OceanBase metadata database configuration, available when `DB_TYPE` is `oceanbase`. +# For OceanBase vector database configuration, available when `VECTOR_STORE` is `oceanbase` +# If you want to use OceanBase as both vector database and metadata database, you need to set both `DB_TYPE` and `VECTOR_STORE` to `oceanbase`, and set Database Configuration is the same as the vector database. +# seekdb is the lite version of OceanBase and shares the connection configuration with OceanBase. +OCEANBASE_VECTOR_HOST=oceanbase +OCEANBASE_VECTOR_PORT=2881 +OCEANBASE_VECTOR_USER=root@test +OCEANBASE_VECTOR_PASSWORD=difyai123456 +OCEANBASE_VECTOR_DATABASE=test +OCEANBASE_CLUSTER_NAME=difyai +OCEANBASE_MEMORY_LIMIT=6G +OCEANBASE_ENABLE_HYBRID_SEARCH=false +# For OceanBase vector database, built-in fulltext parsers are `ngram`, `beng`, `space`, `ngram2`, `ik` +# For OceanBase vector database, external fulltext parsers (require plugin installation) are `japanese_ftparser`, `thai_ftparser` +OCEANBASE_FULLTEXT_PARSER=ik +SEEKDB_MEMORY_LIMIT=2G + +# The Qdrant endpoint URL. Only available when VECTOR_STORE is `qdrant`. +QDRANT_URL=http://qdrant:6333 +QDRANT_API_KEY=difyai123456 +QDRANT_CLIENT_TIMEOUT=20 +QDRANT_GRPC_ENABLED=false +QDRANT_GRPC_PORT=6334 +QDRANT_REPLICATION_FACTOR=1 + +# Milvus configuration. Only available when VECTOR_STORE is `milvus`. +# The milvus uri. +MILVUS_URI=http://host.docker.internal:19530 +MILVUS_DATABASE= +MILVUS_TOKEN= +MILVUS_USER= +MILVUS_PASSWORD= +MILVUS_ENABLE_HYBRID_SEARCH=False +MILVUS_ANALYZER_PARAMS= + +# MyScale configuration, only available when VECTOR_STORE is `myscale` +# For multi-language support, please set MYSCALE_FTS_PARAMS with referring to: +# https://myscale.com/docs/en/text-search/#understanding-fts-index-parameters +MYSCALE_HOST=myscale +MYSCALE_PORT=8123 +MYSCALE_USER=default +MYSCALE_PASSWORD= +MYSCALE_DATABASE=dify +MYSCALE_FTS_PARAMS= + +# Couchbase configurations, only available when VECTOR_STORE is `couchbase` +# The connection string must include hostname defined in the docker-compose file (couchbase-server in this case) +COUCHBASE_CONNECTION_STRING=couchbase://couchbase-server +COUCHBASE_USER=Administrator +COUCHBASE_PASSWORD=password +COUCHBASE_BUCKET_NAME=Embeddings +COUCHBASE_SCOPE_NAME=_default + +# Hologres configurations, only available when VECTOR_STORE is `hologres` +# access_key_id is used as the PG username, access_key_secret is used as the PG password +HOLOGRES_HOST= +HOLOGRES_PORT=80 +HOLOGRES_DATABASE= +HOLOGRES_ACCESS_KEY_ID= +HOLOGRES_ACCESS_KEY_SECRET= +HOLOGRES_SCHEMA=public +HOLOGRES_TOKENIZER=jieba +HOLOGRES_DISTANCE_METHOD=Cosine +HOLOGRES_BASE_QUANTIZATION_TYPE=rabitq +HOLOGRES_MAX_DEGREE=64 +HOLOGRES_EF_CONSTRUCTION=400 + +# pgvector configurations, only available when VECTOR_STORE is `pgvector` +PGVECTOR_HOST=pgvector +PGVECTOR_PORT=5432 +PGVECTOR_USER=postgres +PGVECTOR_PASSWORD=difyai123456 +PGVECTOR_DATABASE=dify +PGVECTOR_MIN_CONNECTION=1 +PGVECTOR_MAX_CONNECTION=5 +PGVECTOR_PG_BIGM=false +PGVECTOR_PG_BIGM_VERSION=1.2-20240606 + +# vastbase configurations, only available when VECTOR_STORE is `vastbase` +VASTBASE_HOST=vastbase +VASTBASE_PORT=5432 +VASTBASE_USER=dify +VASTBASE_PASSWORD=Difyai123456 +VASTBASE_DATABASE=dify +VASTBASE_MIN_CONNECTION=1 +VASTBASE_MAX_CONNECTION=5 + +# pgvecto-rs configurations, only available when VECTOR_STORE is `pgvecto-rs` +PGVECTO_RS_HOST=pgvecto-rs +PGVECTO_RS_PORT=5432 +PGVECTO_RS_USER=postgres +PGVECTO_RS_PASSWORD=difyai123456 +PGVECTO_RS_DATABASE=dify + +# analyticdb configurations, only available when VECTOR_STORE is `analyticdb` +ANALYTICDB_KEY_ID=your-ak +ANALYTICDB_KEY_SECRET=your-sk +ANALYTICDB_REGION_ID=cn-hangzhou +ANALYTICDB_INSTANCE_ID=gp-ab123456 +ANALYTICDB_ACCOUNT=testaccount +ANALYTICDB_PASSWORD=testpassword +ANALYTICDB_NAMESPACE=dify +ANALYTICDB_NAMESPACE_PASSWORD=difypassword +ANALYTICDB_HOST=gp-test.aliyuncs.com +ANALYTICDB_PORT=5432 +ANALYTICDB_MIN_CONNECTION=1 +ANALYTICDB_MAX_CONNECTION=5 + +# TiDB vector configurations, only available when VECTOR_STORE is `tidb_vector` +TIDB_VECTOR_HOST=tidb +TIDB_VECTOR_PORT=4000 +TIDB_VECTOR_USER= +TIDB_VECTOR_PASSWORD= +TIDB_VECTOR_DATABASE=dify + +# Matrixone vector configurations. +MATRIXONE_HOST=matrixone +MATRIXONE_PORT=6001 +MATRIXONE_USER=dump +MATRIXONE_PASSWORD=111 +MATRIXONE_DATABASE=dify + +# Tidb on qdrant configuration, only available when VECTOR_STORE is `tidb_on_qdrant` +TIDB_ON_QDRANT_URL=http://127.0.0.1 +TIDB_ON_QDRANT_API_KEY=dify +TIDB_ON_QDRANT_CLIENT_TIMEOUT=20 +TIDB_ON_QDRANT_GRPC_ENABLED=false +TIDB_ON_QDRANT_GRPC_PORT=6334 +TIDB_PUBLIC_KEY=dify +TIDB_PRIVATE_KEY=dify +TIDB_API_URL=http://127.0.0.1 +TIDB_IAM_API_URL=http://127.0.0.1 +TIDB_REGION=regions/aws-us-east-1 +TIDB_PROJECT_ID=dify +TIDB_SPEND_LIMIT=100 + +# Chroma configuration, only available when VECTOR_STORE is `chroma` +CHROMA_HOST=127.0.0.1 +CHROMA_PORT=8000 +CHROMA_TENANT=default_tenant +CHROMA_DATABASE=default_database +CHROMA_AUTH_PROVIDER=chromadb.auth.token_authn.TokenAuthClientProvider +CHROMA_AUTH_CREDENTIALS= + +# Oracle configuration, only available when VECTOR_STORE is `oracle` +ORACLE_USER=dify +ORACLE_PASSWORD=dify +ORACLE_DSN=oracle:1521/FREEPDB1 +ORACLE_CONFIG_DIR=/app/api/storage/wallet +ORACLE_WALLET_LOCATION=/app/api/storage/wallet +ORACLE_WALLET_PASSWORD=dify +ORACLE_IS_AUTONOMOUS=false + +# AlibabaCloud MySQL configuration, only available when VECTOR_STORE is `alibabcloud_mysql` +ALIBABACLOUD_MYSQL_HOST=127.0.0.1 +ALIBABACLOUD_MYSQL_PORT=3306 +ALIBABACLOUD_MYSQL_USER=root +ALIBABACLOUD_MYSQL_PASSWORD=difyai123456 +ALIBABACLOUD_MYSQL_DATABASE=dify +ALIBABACLOUD_MYSQL_MAX_CONNECTION=5 +ALIBABACLOUD_MYSQL_HNSW_M=6 + +# relyt configurations, only available when VECTOR_STORE is `relyt` +RELYT_HOST=db +RELYT_PORT=5432 +RELYT_USER=postgres +RELYT_PASSWORD=difyai123456 +RELYT_DATABASE=postgres + +# open search configuration, only available when VECTOR_STORE is `opensearch` +OPENSEARCH_HOST=opensearch +OPENSEARCH_PORT=9200 +OPENSEARCH_SECURE=true +OPENSEARCH_VERIFY_CERTS=true +OPENSEARCH_AUTH_METHOD=basic +OPENSEARCH_USER=admin +OPENSEARCH_PASSWORD=admin +# If using AWS managed IAM, e.g. Managed Cluster or OpenSearch Serverless +OPENSEARCH_AWS_REGION=ap-southeast-1 +OPENSEARCH_AWS_SERVICE=aoss + +# tencent vector configurations, only available when VECTOR_STORE is `tencent` +TENCENT_VECTOR_DB_URL=http://127.0.0.1 +TENCENT_VECTOR_DB_API_KEY=dify +TENCENT_VECTOR_DB_TIMEOUT=30 +TENCENT_VECTOR_DB_USERNAME=dify +TENCENT_VECTOR_DB_DATABASE=dify +TENCENT_VECTOR_DB_SHARD=1 +TENCENT_VECTOR_DB_REPLICAS=2 +TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH=false + +# ElasticSearch configuration, only available when VECTOR_STORE is `elasticsearch` +ELASTICSEARCH_HOST=0.0.0.0 +ELASTICSEARCH_PORT=9200 +ELASTICSEARCH_USERNAME=elastic +ELASTICSEARCH_PASSWORD=elastic +KIBANA_PORT=5601 + +# Using ElasticSearch Cloud Serverless, or not. +ELASTICSEARCH_USE_CLOUD=false +ELASTICSEARCH_CLOUD_URL=YOUR-ELASTICSEARCH_CLOUD_URL +ELASTICSEARCH_API_KEY=YOUR-ELASTICSEARCH_API_KEY + +ELASTICSEARCH_VERIFY_CERTS=False +ELASTICSEARCH_CA_CERTS= +ELASTICSEARCH_REQUEST_TIMEOUT=100000 +ELASTICSEARCH_RETRY_ON_TIMEOUT=True +ELASTICSEARCH_MAX_RETRIES=10 + +# baidu vector configurations, only available when VECTOR_STORE is `baidu` +BAIDU_VECTOR_DB_ENDPOINT=http://127.0.0.1:5287 +BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS=30000 +BAIDU_VECTOR_DB_ACCOUNT=root +BAIDU_VECTOR_DB_API_KEY=dify +BAIDU_VECTOR_DB_DATABASE=dify +BAIDU_VECTOR_DB_SHARD=1 +BAIDU_VECTOR_DB_REPLICAS=3 +BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER=DEFAULT_ANALYZER +BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE=COARSE_MODE +BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT=500 +BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT_RATIO=0.05 +BAIDU_VECTOR_DB_REBUILD_INDEX_TIMEOUT_IN_SECONDS=300 + +# VikingDB configurations, only available when VECTOR_STORE is `vikingdb` +VIKINGDB_ACCESS_KEY=your-ak +VIKINGDB_SECRET_KEY=your-sk +VIKINGDB_REGION=cn-shanghai +VIKINGDB_HOST=api-vikingdb.xxx.volces.com +VIKINGDB_SCHEMA=http +VIKINGDB_CONNECTION_TIMEOUT=30 +VIKINGDB_SOCKET_TIMEOUT=30 + +# Lindorm configuration, only available when VECTOR_STORE is `lindorm` +LINDORM_URL=http://localhost:30070 +LINDORM_USERNAME=admin +LINDORM_PASSWORD=admin +LINDORM_USING_UGC=True +LINDORM_QUERY_TIMEOUT=1 + +# opengauss configurations, only available when VECTOR_STORE is `opengauss` +OPENGAUSS_HOST=opengauss +OPENGAUSS_PORT=6600 +OPENGAUSS_USER=postgres +OPENGAUSS_PASSWORD=Dify@123 +OPENGAUSS_DATABASE=dify +OPENGAUSS_MIN_CONNECTION=1 +OPENGAUSS_MAX_CONNECTION=5 +OPENGAUSS_ENABLE_PQ=false + +# huawei cloud search service vector configurations, only available when VECTOR_STORE is `huawei_cloud` +HUAWEI_CLOUD_HOSTS=https://127.0.0.1:9200 +HUAWEI_CLOUD_USER=admin +HUAWEI_CLOUD_PASSWORD=admin + +# Upstash Vector configuration, only available when VECTOR_STORE is `upstash` +UPSTASH_VECTOR_URL=https://xxx-vector.upstash.io +UPSTASH_VECTOR_TOKEN=dify + +# TableStore Vector configuration +# (only used when VECTOR_STORE is tablestore) +TABLESTORE_ENDPOINT=https://instance-name.cn-hangzhou.ots.aliyuncs.com +TABLESTORE_INSTANCE_NAME=instance-name +TABLESTORE_ACCESS_KEY_ID=xxx +TABLESTORE_ACCESS_KEY_SECRET=xxx +TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCORE=false + +# Clickzetta configuration, only available when VECTOR_STORE is `clickzetta` +CLICKZETTA_USERNAME= +CLICKZETTA_PASSWORD= +CLICKZETTA_INSTANCE= +CLICKZETTA_SERVICE=api.clickzetta.com +CLICKZETTA_WORKSPACE=quick_start +CLICKZETTA_VCLUSTER=default_ap +CLICKZETTA_SCHEMA=dify +CLICKZETTA_BATCH_SIZE=100 +CLICKZETTA_ENABLE_INVERTED_INDEX=true +CLICKZETTA_ANALYZER_TYPE=chinese +CLICKZETTA_ANALYZER_MODE=smart +CLICKZETTA_VECTOR_DISTANCE_FUNCTION=cosine_distance + +# InterSystems IRIS configuration, only available when VECTOR_STORE is `iris` +IRIS_HOST=iris +IRIS_SUPER_SERVER_PORT=1972 +IRIS_WEB_SERVER_PORT=52773 +IRIS_USER=_SYSTEM +IRIS_PASSWORD=Dify@1234 +IRIS_DATABASE=USER +IRIS_SCHEMA=dify +IRIS_CONNECTION_URL= +IRIS_MIN_CONNECTION=1 +IRIS_MAX_CONNECTION=3 +IRIS_TEXT_INDEX=true +IRIS_TEXT_INDEX_LANGUAGE=en +IRIS_TIMEZONE=UTC + +# ------------------------------ +# Knowledge Configuration +# ------------------------------ + +# Upload file size limit, default 15M. +UPLOAD_FILE_SIZE_LIMIT=15 + +# The maximum number of files that can be uploaded at a time, default 5. +UPLOAD_FILE_BATCH_LIMIT=5 + +# Comma-separated list of file extensions blocked from upload for security reasons. +# Extensions should be lowercase without dots (e.g., exe,bat,sh,dll). +# Empty by default to allow all file types. +# Recommended: exe,bat,cmd,com,scr,vbs,ps1,msi,dll +UPLOAD_FILE_EXTENSION_BLACKLIST= + +# Maximum number of files allowed in a single chunk attachment, default 10. +SINGLE_CHUNK_ATTACHMENT_LIMIT=10 + +# Maximum number of files allowed in a image batch upload operation +IMAGE_FILE_BATCH_LIMIT=10 + +# Maximum allowed image file size for attachments in megabytes, default 2. +ATTACHMENT_IMAGE_FILE_SIZE_LIMIT=2 + +# Timeout for downloading image attachments in seconds, default 60. +ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT=60 + + +# ETL type, support: `dify`, `Unstructured` +# `dify` Dify's proprietary file extraction scheme +# `Unstructured` Unstructured.io file extraction scheme +ETL_TYPE=dify + +# Unstructured API path and API key, needs to be configured when ETL_TYPE is Unstructured +# Or using Unstructured for document extractor node for pptx. +# For example: http://unstructured:8000/general/v0/general +UNSTRUCTURED_API_URL= +UNSTRUCTURED_API_KEY= +SCARF_NO_ANALYTICS=true + +# ------------------------------ +# Model Configuration +# ------------------------------ + +# The maximum number of tokens allowed for prompt generation. +# This setting controls the upper limit of tokens that can be used by the LLM +# when generating a prompt in the prompt generation tool. +# Default: 512 tokens. +PROMPT_GENERATION_MAX_TOKENS=512 + +# The maximum number of tokens allowed for code generation. +# This setting controls the upper limit of tokens that can be used by the LLM +# when generating code in the code generation tool. +# Default: 1024 tokens. +CODE_GENERATION_MAX_TOKENS=1024 + +# Enable or disable plugin based token counting. If disabled, token counting will return 0. +# This can improve performance by skipping token counting operations. +# Default: false (disabled). +PLUGIN_BASED_TOKEN_COUNTING_ENABLED=false + +# ------------------------------ +# Multi-modal Configuration +# ------------------------------ + +# The format of the image/video/audio/document sent when the multi-modal model is input, +# the default is base64, optional url. +# The delay of the call in url mode will be lower than that in base64 mode. +# It is generally recommended to use the more compatible base64 mode. +# If configured as url, you need to configure FILES_URL as an externally accessible address so that the multi-modal model can access the image/video/audio/document. +MULTIMODAL_SEND_FORMAT=base64 +# Upload image file size limit, default 10M. +UPLOAD_IMAGE_FILE_SIZE_LIMIT=10 +# Upload video file size limit, default 100M. +UPLOAD_VIDEO_FILE_SIZE_LIMIT=100 +# Upload audio file size limit, default 50M. +UPLOAD_AUDIO_FILE_SIZE_LIMIT=50 + +# ------------------------------ +# Sentry Configuration +# Used for application monitoring and error log tracking. +# ------------------------------ +SENTRY_DSN= + +# API Service Sentry DSN address, default is empty, when empty, +# all monitoring information is not reported to Sentry. +# If not set, Sentry error reporting will be disabled. +API_SENTRY_DSN= +# API Service The reporting ratio of Sentry events, if it is 0.01, it is 1%. +API_SENTRY_TRACES_SAMPLE_RATE=1.0 +# API Service The reporting ratio of Sentry profiles, if it is 0.01, it is 1%. +API_SENTRY_PROFILES_SAMPLE_RATE=1.0 + +# Web Service Sentry DSN address, default is empty, when empty, +# all monitoring information is not reported to Sentry. +# If not set, Sentry error reporting will be disabled. +WEB_SENTRY_DSN= + +# Plugin_daemon Service Sentry DSN address, default is empty, when empty, +# all monitoring information is not reported to Sentry. +# If not set, Sentry error reporting will be disabled. +PLUGIN_SENTRY_ENABLED=false +PLUGIN_SENTRY_DSN= + +# ------------------------------ +# Notion Integration Configuration +# Variables can be obtained by applying for Notion integration: https://www.notion.so/my-integrations +# ------------------------------ + +# Configure as "public" or "internal". +# Since Notion's OAuth redirect URL only supports HTTPS, +# if deploying locally, please use Notion's internal integration. +NOTION_INTEGRATION_TYPE=public +# Notion OAuth client secret (used for public integration type) +NOTION_CLIENT_SECRET= +# Notion OAuth client id (used for public integration type) +NOTION_CLIENT_ID= +# Notion internal integration secret. +# If the value of NOTION_INTEGRATION_TYPE is "internal", +# you need to configure this variable. +NOTION_INTERNAL_SECRET= + +# ------------------------------ +# Mail related configuration +# ------------------------------ + +# Mail type, support: resend, smtp, sendgrid +MAIL_TYPE= + +# Default send from email address, if not specified +# If using SendGrid, use the 'from' field for authentication if necessary. +MAIL_DEFAULT_SEND_FROM= + +# API-Key for the Resend email provider, used when MAIL_TYPE is `resend`. +RESEND_API_URL=https://api.resend.com +RESEND_API_KEY=your-resend-api-key + + +# SMTP server configuration, used when MAIL_TYPE is `smtp` +SMTP_SERVER= +SMTP_PORT= +SMTP_USERNAME= +SMTP_PASSWORD= +SMTP_USE_TLS=true +SMTP_OPPORTUNISTIC_TLS=false +# Optional: override the local hostname used for SMTP HELO/EHLO +SMTP_LOCAL_HOSTNAME= + +# Sendgid configuration +SENDGRID_API_KEY= + +# ------------------------------ +# Others Configuration +# ------------------------------ + +# Maximum length of segmentation tokens for indexing +INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=4000 + +# Member invitation link valid time (hours), +# Default: 72. +INVITE_EXPIRY_HOURS=72 + +# Reset password token valid time (minutes), +RESET_PASSWORD_TOKEN_EXPIRY_MINUTES=5 +EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES=5 +CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES=5 +OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES=5 + +# The sandbox service endpoint. +CODE_EXECUTION_ENDPOINT=http://sandbox:8194 +CODE_EXECUTION_API_KEY=dify-sandbox +CODE_EXECUTION_SSL_VERIFY=True +CODE_EXECUTION_POOL_MAX_CONNECTIONS=100 +CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS=20 +CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY=5.0 +CODE_MAX_NUMBER=9223372036854775807 +CODE_MIN_NUMBER=-9223372036854775808 +CODE_MAX_DEPTH=5 +CODE_MAX_PRECISION=20 +CODE_MAX_STRING_LENGTH=400000 +CODE_MAX_STRING_ARRAY_LENGTH=30 +CODE_MAX_OBJECT_ARRAY_LENGTH=30 +CODE_MAX_NUMBER_ARRAY_LENGTH=1000 +CODE_EXECUTION_CONNECT_TIMEOUT=10 +CODE_EXECUTION_READ_TIMEOUT=60 +CODE_EXECUTION_WRITE_TIMEOUT=10 +TEMPLATE_TRANSFORM_MAX_LENGTH=400000 + +# Workflow runtime configuration +WORKFLOW_MAX_EXECUTION_STEPS=500 +WORKFLOW_MAX_EXECUTION_TIME=1200 +WORKFLOW_CALL_MAX_DEPTH=5 +MAX_VARIABLE_SIZE=204800 +WORKFLOW_FILE_UPLOAD_LIMIT=10 + +# GraphEngine Worker Pool Configuration +# Minimum number of workers per GraphEngine instance (default: 1) +GRAPH_ENGINE_MIN_WORKERS=1 +# Maximum number of workers per GraphEngine instance (default: 10) +GRAPH_ENGINE_MAX_WORKERS=10 +# Queue depth threshold that triggers worker scale up (default: 3) +GRAPH_ENGINE_SCALE_UP_THRESHOLD=3 +# Seconds of idle time before scaling down workers (default: 5.0) +GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME=5.0 + +# Workflow storage configuration +# Options: rdbms, hybrid +# rdbms: Use only the relational database (default) +# hybrid: Save new data to object storage, read from both object storage and RDBMS +WORKFLOW_NODE_EXECUTION_STORAGE=rdbms + +# Repository configuration +# Core workflow execution repository implementation +# Options: +# - core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository (default) +# - core.repositories.celery_workflow_execution_repository.CeleryWorkflowExecutionRepository +# - extensions.logstore.repositories.logstore_workflow_execution_repository.LogstoreWorkflowExecutionRepository +CORE_WORKFLOW_EXECUTION_REPOSITORY=core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository + +# Core workflow node execution repository implementation +# Options: +# - core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository (default) +# - core.repositories.celery_workflow_node_execution_repository.CeleryWorkflowNodeExecutionRepository +# - extensions.logstore.repositories.logstore_workflow_node_execution_repository.LogstoreWorkflowNodeExecutionRepository +CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY=core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository + +# API workflow run repository implementation +# Options: +# - repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository (default) +# - extensions.logstore.repositories.logstore_api_workflow_run_repository.LogstoreAPIWorkflowRunRepository +API_WORKFLOW_RUN_REPOSITORY=repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository + +# API workflow node execution repository implementation +# Options: +# - repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository (default) +# - extensions.logstore.repositories.logstore_api_workflow_node_execution_repository.LogstoreAPIWorkflowNodeExecutionRepository +API_WORKFLOW_NODE_EXECUTION_REPOSITORY=repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository + +# Workflow log cleanup configuration +# Enable automatic cleanup of workflow run logs to manage database size +WORKFLOW_LOG_CLEANUP_ENABLED=false +# Number of days to retain workflow run logs (default: 30 days) +WORKFLOW_LOG_RETENTION_DAYS=30 +# Batch size for workflow log cleanup operations (default: 100) +WORKFLOW_LOG_CLEANUP_BATCH_SIZE=100 +# Comma-separated list of workflow IDs to clean logs for +WORKFLOW_LOG_CLEANUP_SPECIFIC_WORKFLOW_IDS= + +# Aliyun SLS Logstore Configuration +# Aliyun Access Key ID +ALIYUN_SLS_ACCESS_KEY_ID= +# Aliyun Access Key Secret +ALIYUN_SLS_ACCESS_KEY_SECRET= +# Aliyun SLS Endpoint (e.g., cn-hangzhou.log.aliyuncs.com) +ALIYUN_SLS_ENDPOINT= +# Aliyun SLS Region (e.g., cn-hangzhou) +ALIYUN_SLS_REGION= +# Aliyun SLS Project Name +ALIYUN_SLS_PROJECT_NAME= +# Number of days to retain workflow run logs (default: 365 days, 3650 for permanent storage) +ALIYUN_SLS_LOGSTORE_TTL=365 +# Enable dual-write to both SLS LogStore and SQL database (default: false) +LOGSTORE_DUAL_WRITE_ENABLED=false +# Enable dual-read fallback to SQL database when LogStore returns no results (default: true) +# Useful for migration scenarios where historical data exists only in SQL database +LOGSTORE_DUAL_READ_ENABLED=true +# Control flag for whether to write the `graph` field to LogStore. +# If LOGSTORE_ENABLE_PUT_GRAPH_FIELD is "true", write the full `graph` field; +# otherwise write an empty {} instead. Defaults to writing the `graph` field. +LOGSTORE_ENABLE_PUT_GRAPH_FIELD=true + +# HTTP request node in workflow configuration +HTTP_REQUEST_NODE_MAX_BINARY_SIZE=10485760 +HTTP_REQUEST_NODE_MAX_TEXT_SIZE=1048576 +HTTP_REQUEST_NODE_SSL_VERIFY=True + +# HTTP request node timeout configuration +# Maximum timeout values (in seconds) that users can set in HTTP request nodes +# - Connect timeout: Time to wait for establishing connection (default: 10s) +# - Read timeout: Time to wait for receiving response data (default: 600s, 10 minutes) +# - Write timeout: Time to wait for sending request data (default: 600s, 10 minutes) +HTTP_REQUEST_MAX_CONNECT_TIMEOUT=10 +HTTP_REQUEST_MAX_READ_TIMEOUT=600 +HTTP_REQUEST_MAX_WRITE_TIMEOUT=600 + +# Base64 encoded CA certificate data for custom certificate verification (PEM format, optional) +# HTTP_REQUEST_NODE_SSL_CERT_DATA=LS0tLS1CRUdJTi... +# Base64 encoded client certificate data for mutual TLS authentication (PEM format, optional) +# HTTP_REQUEST_NODE_SSL_CLIENT_CERT_DATA=LS0tLS1CRUdJTi... +# Base64 encoded client private key data for mutual TLS authentication (PEM format, optional) +# HTTP_REQUEST_NODE_SSL_CLIENT_KEY_DATA=LS0tLS1CRUdJTi... + +# Webhook request configuration +WEBHOOK_REQUEST_BODY_MAX_SIZE=10485760 + +# Respect X-* headers to redirect clients +RESPECT_XFORWARD_HEADERS_ENABLED=false + +# SSRF Proxy server HTTP URL +SSRF_PROXY_HTTP_URL=http://ssrf_proxy:3128 +# SSRF Proxy server HTTPS URL +SSRF_PROXY_HTTPS_URL=http://ssrf_proxy:3128 + +# Maximum loop count in the workflow +LOOP_NODE_MAX_COUNT=100 + +# The maximum number of tools that can be used in the agent. +MAX_TOOLS_NUM=10 + +# Maximum number of Parallelism branches in the workflow +MAX_PARALLEL_LIMIT=10 + +# The maximum number of iterations for agent setting +MAX_ITERATIONS_NUM=99 + +# ------------------------------ +# Environment Variables for web Service +# ------------------------------ + +# The timeout for the text generation in millisecond +TEXT_GENERATION_TIMEOUT_MS=60000 + +# Allow rendering unsafe URLs which have "data:" scheme. +ALLOW_UNSAFE_DATA_SCHEME=false + +# Maximum number of tree depth in the workflow +MAX_TREE_DEPTH=50 + +# ------------------------------ +# Environment Variables for database Service +# ------------------------------ +# Postgres data directory +PGDATA=/var/lib/postgresql/data/pgdata + +# MySQL Default Configuration +MYSQL_HOST_VOLUME=./volumes/mysql/data + +# ------------------------------ +# Environment Variables for sandbox Service +# ------------------------------ + +# The API key for the sandbox service +SANDBOX_API_KEY=dify-sandbox +# The mode in which the Gin framework runs +SANDBOX_GIN_MODE=release +# The timeout for the worker in seconds +SANDBOX_WORKER_TIMEOUT=15 +# Enable network for the sandbox service +SANDBOX_ENABLE_NETWORK=true +# HTTP proxy URL for SSRF protection +SANDBOX_HTTP_PROXY=http://ssrf_proxy:3128 +# HTTPS proxy URL for SSRF protection +SANDBOX_HTTPS_PROXY=http://ssrf_proxy:3128 +# The port on which the sandbox service runs +SANDBOX_PORT=8194 + +# ------------------------------ +# Environment Variables for weaviate Service +# (only used when VECTOR_STORE is weaviate) +# ------------------------------ +WEAVIATE_PERSISTENCE_DATA_PATH=/var/lib/weaviate +WEAVIATE_QUERY_DEFAULTS_LIMIT=25 +WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=true +WEAVIATE_DEFAULT_VECTORIZER_MODULE=none +WEAVIATE_CLUSTER_HOSTNAME=node1 +WEAVIATE_AUTHENTICATION_APIKEY_ENABLED=true +WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih +WEAVIATE_AUTHENTICATION_APIKEY_USERS=hello@dify.ai +WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED=true +WEAVIATE_AUTHORIZATION_ADMINLIST_USERS=hello@dify.ai +WEAVIATE_DISABLE_TELEMETRY=false +WEAVIATE_ENABLE_TOKENIZER_GSE=false +WEAVIATE_ENABLE_TOKENIZER_KAGOME_JA=false +WEAVIATE_ENABLE_TOKENIZER_KAGOME_KR=false + +# ------------------------------ +# Environment Variables for Chroma +# (only used when VECTOR_STORE is chroma) +# ------------------------------ + +# Authentication credentials for Chroma server +CHROMA_SERVER_AUTHN_CREDENTIALS=difyai123456 +# Authentication provider for Chroma server +CHROMA_SERVER_AUTHN_PROVIDER=chromadb.auth.token_authn.TokenAuthenticationServerProvider +# Persistence setting for Chroma server +CHROMA_IS_PERSISTENT=TRUE + +# ------------------------------ +# Environment Variables for Oracle Service +# (only used when VECTOR_STORE is oracle) +# ------------------------------ +ORACLE_PWD=Dify123456 +ORACLE_CHARACTERSET=AL32UTF8 + +# ------------------------------ +# Environment Variables for milvus Service +# (only used when VECTOR_STORE is milvus) +# ------------------------------ +# ETCD configuration for auto compaction mode +ETCD_AUTO_COMPACTION_MODE=revision +# ETCD configuration for auto compaction retention in terms of number of revisions +ETCD_AUTO_COMPACTION_RETENTION=1000 +# ETCD configuration for backend quota in bytes +ETCD_QUOTA_BACKEND_BYTES=4294967296 +# ETCD configuration for the number of changes before triggering a snapshot +ETCD_SNAPSHOT_COUNT=50000 +# MinIO access key for authentication +MINIO_ACCESS_KEY=minioadmin +# MinIO secret key for authentication +MINIO_SECRET_KEY=minioadmin +# ETCD service endpoints +ETCD_ENDPOINTS=etcd:2379 +# MinIO service address +MINIO_ADDRESS=minio:9000 +# Enable or disable security authorization +MILVUS_AUTHORIZATION_ENABLED=true + +# ------------------------------ +# Environment Variables for pgvector / pgvector-rs Service +# (only used when VECTOR_STORE is pgvector / pgvector-rs) +# ------------------------------ +PGVECTOR_PGUSER=postgres +# The password for the default postgres user. +PGVECTOR_POSTGRES_PASSWORD=difyai123456 +# The name of the default postgres database. +PGVECTOR_POSTGRES_DB=dify +# postgres data directory +PGVECTOR_PGDATA=/var/lib/postgresql/data/pgdata + +# ------------------------------ +# Environment Variables for opensearch +# (only used when VECTOR_STORE is opensearch) +# ------------------------------ +OPENSEARCH_DISCOVERY_TYPE=single-node +OPENSEARCH_BOOTSTRAP_MEMORY_LOCK=true +OPENSEARCH_JAVA_OPTS_MIN=512m +OPENSEARCH_JAVA_OPTS_MAX=1024m +OPENSEARCH_INITIAL_ADMIN_PASSWORD=Qazwsxedc!@#123 +OPENSEARCH_MEMLOCK_SOFT=-1 +OPENSEARCH_MEMLOCK_HARD=-1 +OPENSEARCH_NOFILE_SOFT=65536 +OPENSEARCH_NOFILE_HARD=65536 + +# ------------------------------ +# Environment Variables for Nginx reverse proxy +# ------------------------------ +NGINX_SERVER_NAME=_ +NGINX_HTTPS_ENABLED=false +# HTTP port +NGINX_PORT=80 +# SSL settings are only applied when HTTPS_ENABLED is true +NGINX_SSL_PORT=443 +# if HTTPS_ENABLED is true, you're required to add your own SSL certificates/keys to the `./nginx/ssl` directory +# and modify the env vars below accordingly. +NGINX_SSL_CERT_FILENAME=dify.crt +NGINX_SSL_CERT_KEY_FILENAME=dify.key +NGINX_SSL_PROTOCOLS=TLSv1.2 TLSv1.3 + +# Nginx performance tuning +NGINX_WORKER_PROCESSES=auto +NGINX_CLIENT_MAX_BODY_SIZE=100M +NGINX_KEEPALIVE_TIMEOUT=65 + +# Proxy settings +NGINX_PROXY_READ_TIMEOUT=3600s +NGINX_PROXY_SEND_TIMEOUT=3600s + +# Set true to accept requests for /.well-known/acme-challenge/ +NGINX_ENABLE_CERTBOT_CHALLENGE=false + +# ------------------------------ +# Certbot Configuration +# ------------------------------ + +# Email address (required to get certificates from Let's Encrypt) +CERTBOT_EMAIL=your_email@example.com + +# Domain name +CERTBOT_DOMAIN=your_domain.com + +# certbot command options +# i.e: --force-renewal --dry-run --test-cert --debug +CERTBOT_OPTIONS= + +# ------------------------------ +# Environment Variables for SSRF Proxy +# ------------------------------ +SSRF_HTTP_PORT=3128 +SSRF_COREDUMP_DIR=/var/spool/squid +SSRF_REVERSE_PROXY_PORT=8194 +SSRF_SANDBOX_HOST=sandbox +SSRF_DEFAULT_TIME_OUT=5 +SSRF_DEFAULT_CONNECT_TIME_OUT=5 +SSRF_DEFAULT_READ_TIME_OUT=5 +SSRF_DEFAULT_WRITE_TIME_OUT=5 +SSRF_POOL_MAX_CONNECTIONS=100 +SSRF_POOL_MAX_KEEPALIVE_CONNECTIONS=20 +SSRF_POOL_KEEPALIVE_EXPIRY=5.0 + +# ------------------------------ +# docker env var for specifying vector db and metadata db type at startup +# (based on the vector db and metadata db type, the corresponding docker +# compose profile will be used) +# if you want to use unstructured, add ',unstructured' to the end +# ------------------------------ +COMPOSE_PROFILES=${VECTOR_STORE:-weaviate},${DB_TYPE:-postgresql} + +# ------------------------------ +# Docker Compose Service Expose Host Port Configurations +# ------------------------------ +EXPOSE_NGINX_PORT=8066 +EXPOSE_NGINX_SSL_PORT=8443 + +# ---------------------------------------------------------------------------- +# ModelProvider & Tool Position Configuration +# Used to specify the model providers and tools that can be used in the app. +# ---------------------------------------------------------------------------- + +# Pin, include, and exclude tools +# Use comma-separated values with no spaces between items. +# Example: POSITION_TOOL_PINS=bing,google +POSITION_TOOL_PINS= +POSITION_TOOL_INCLUDES= +POSITION_TOOL_EXCLUDES= + +# Pin, include, and exclude model providers +# Use comma-separated values with no spaces between items. +# Example: POSITION_PROVIDER_PINS=openai,openllm +POSITION_PROVIDER_PINS= +POSITION_PROVIDER_INCLUDES= +POSITION_PROVIDER_EXCLUDES= + +# CSP https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP +CSP_WHITELIST= + +# Enable or disable create tidb service job +CREATE_TIDB_SERVICE_JOB_ENABLED=false + +# Maximum number of submitted thread count in a ThreadPool for parallel node execution +MAX_SUBMIT_COUNT=100 + +# The maximum number of top-k value for RAG. +TOP_K_MAX_VALUE=10 + +# ------------------------------ +# Plugin Daemon Configuration +# ------------------------------ + +DB_PLUGIN_DATABASE=dify_plugin +EXPOSE_PLUGIN_DAEMON_PORT=5002 +PLUGIN_DAEMON_PORT=5002 +PLUGIN_DAEMON_KEY=lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi +PLUGIN_DAEMON_URL=http://plugin_daemon:5002 +PLUGIN_MAX_PACKAGE_SIZE=52428800 +PLUGIN_MODEL_SCHEMA_CACHE_TTL=3600 +PLUGIN_PPROF_ENABLED=false + +PLUGIN_DEBUGGING_HOST=0.0.0.0 +PLUGIN_DEBUGGING_PORT=5003 +EXPOSE_PLUGIN_DEBUGGING_HOST=localhost +EXPOSE_PLUGIN_DEBUGGING_PORT=5003 + +# If this key is changed, DIFY_INNER_API_KEY in plugin_daemon service must also be updated or agent node will fail. +PLUGIN_DIFY_INNER_API_KEY=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1 +PLUGIN_DIFY_INNER_API_URL=http://api:5001 + +ENDPOINT_URL_TEMPLATE=http://localhost/e/{hook_id} + +MARKETPLACE_ENABLED=true +MARKETPLACE_API_URL=https://marketplace.dify.ai + +FORCE_VERIFYING_SIGNATURE=true +ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES=true + +PLUGIN_STDIO_BUFFER_SIZE=1024 +PLUGIN_STDIO_MAX_BUFFER_SIZE=5242880 + +PLUGIN_PYTHON_ENV_INIT_TIMEOUT=120 +# Plugin Daemon side timeout (configure to match the API side below) +PLUGIN_MAX_EXECUTION_TIMEOUT=600 +# API side timeout (configure to match the Plugin Daemon side above) +PLUGIN_DAEMON_TIMEOUT=600.0 +# PIP_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple +PIP_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple + +# https://github.com/langgenius/dify-plugin-daemon/blob/main/.env.example +# Plugin storage type, local aws_s3 tencent_cos azure_blob aliyun_oss volcengine_tos +PLUGIN_STORAGE_TYPE=local +PLUGIN_STORAGE_LOCAL_ROOT=/app/storage +PLUGIN_WORKING_PATH=/app/storage/cwd +PLUGIN_INSTALLED_PATH=plugin +PLUGIN_PACKAGE_CACHE_PATH=plugin_packages +PLUGIN_MEDIA_CACHE_PATH=assets +# Plugin oss bucket +PLUGIN_STORAGE_OSS_BUCKET= +# Plugin oss s3 credentials +PLUGIN_S3_USE_AWS=false +PLUGIN_S3_USE_AWS_MANAGED_IAM=false +PLUGIN_S3_ENDPOINT= +PLUGIN_S3_USE_PATH_STYLE=false +PLUGIN_AWS_ACCESS_KEY= +PLUGIN_AWS_SECRET_KEY= +PLUGIN_AWS_REGION= +# Plugin oss azure blob +PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME= +PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING= +# Plugin oss tencent cos +PLUGIN_TENCENT_COS_SECRET_KEY= +PLUGIN_TENCENT_COS_SECRET_ID= +PLUGIN_TENCENT_COS_REGION= +# Plugin oss aliyun oss +PLUGIN_ALIYUN_OSS_REGION= +PLUGIN_ALIYUN_OSS_ENDPOINT= +PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID= +PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET= +PLUGIN_ALIYUN_OSS_AUTH_VERSION=v4 +PLUGIN_ALIYUN_OSS_PATH= +# Plugin oss volcengine tos +PLUGIN_VOLCENGINE_TOS_ENDPOINT= +PLUGIN_VOLCENGINE_TOS_ACCESS_KEY= +PLUGIN_VOLCENGINE_TOS_SECRET_KEY= +PLUGIN_VOLCENGINE_TOS_REGION= + +# ------------------------------ +# OTLP Collector Configuration +# ------------------------------ +ENABLE_OTEL=false +OTLP_TRACE_ENDPOINT= +OTLP_METRIC_ENDPOINT= +OTLP_BASE_ENDPOINT=http://localhost:4318 +OTLP_API_KEY= +OTEL_EXPORTER_OTLP_PROTOCOL= +OTEL_EXPORTER_TYPE=otlp +OTEL_SAMPLING_RATE=0.1 +OTEL_BATCH_EXPORT_SCHEDULE_DELAY=5000 +OTEL_MAX_QUEUE_SIZE=2048 +OTEL_MAX_EXPORT_BATCH_SIZE=512 +OTEL_METRIC_EXPORT_INTERVAL=60000 +OTEL_BATCH_EXPORT_TIMEOUT=10000 +OTEL_METRIC_EXPORT_TIMEOUT=30000 + +# Prevent Clickjacking +ALLOW_EMBED=false + +# Dataset queue monitor configuration +QUEUE_MONITOR_THRESHOLD=200 +# You can configure multiple ones, separated by commas. eg: test1@dify.ai,test2@dify.ai +QUEUE_MONITOR_ALERT_EMAILS= +# Monitor interval in minutes, default is 30 minutes +QUEUE_MONITOR_INTERVAL=30 + +# Swagger UI configuration +SWAGGER_UI_ENABLED=false +SWAGGER_UI_PATH=/swagger-ui.html + +# Whether to encrypt dataset IDs when exporting DSL files (default: true) +# Set to false to export dataset IDs as plain text for easier cross-environment import +DSL_EXPORT_ENCRYPT_DATASET_ID=true + +# Maximum number of segments for dataset segments API (0 for unlimited) +DATASET_MAX_SEGMENTS_PER_REQUEST=0 + +# Celery schedule tasks configuration +ENABLE_CLEAN_EMBEDDING_CACHE_TASK=false +ENABLE_CLEAN_UNUSED_DATASETS_TASK=false +ENABLE_CREATE_TIDB_SERVERLESS_TASK=false +ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK=false +ENABLE_CLEAN_MESSAGES=false +ENABLE_WORKFLOW_RUN_CLEANUP_TASK=false +ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK=false +ENABLE_DATASETS_QUEUE_MONITOR=false +ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK=true +ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK=true +WORKFLOW_SCHEDULE_POLLER_INTERVAL=1 +WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE=100 +WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK=0 + +# Tenant isolated task queue configuration +TENANT_ISOLATED_TASK_CONCURRENCY=1 + +# Maximum allowed CSV file size for annotation import in megabytes +ANNOTATION_IMPORT_FILE_SIZE_LIMIT=2 +#Maximum number of annotation records allowed in a single import +ANNOTATION_IMPORT_MAX_RECORDS=10000 +# Minimum number of annotation records required in a single import +ANNOTATION_IMPORT_MIN_RECORDS=1 +ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE=5 +ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR=20 +# Maximum number of concurrent annotation import tasks per tenant +ANNOTATION_IMPORT_MAX_CONCURRENT=5 + +# The API key of amplitude +AMPLITUDE_API_KEY= + +# Sandbox expired records clean configuration +SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD=21 +SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE=1000 +SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL=200 +SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS=30 + + +# Redis URL used for event bus between API and +# celery worker +# defaults to url constructed from `REDIS_*` +# configurations +EVENT_BUS_REDIS_URL= +# Event transport type. Options are: +# +# - pubsub: normal Pub/Sub (at-most-once) +# - sharded: sharded Pub/Sub (at-most-once) +# - streams: Redis Streams (at-least-once, recommended to avoid subscriber races) +# +# Note: Before enabling 'streams' in production, estimate your expected event volume and retention needs. +# Configure Redis memory limits and stream trimming appropriately (e.g., MAXLEN and key expiry) to reduce +# the risk of data loss from Redis auto-eviction under memory pressure. +# Also accepts ENV: EVENT_BUS_REDIS_CHANNEL_TYPE. +EVENT_BUS_REDIS_CHANNEL_TYPE=pubsub +# Whether to use Redis cluster mode while use redis as event bus. +# It's highly recommended to enable this for large deployments. +EVENT_BUS_REDIS_USE_CLUSTERS=false + +# Whether to Enable human input timeout check task +ENABLE_HUMAN_INPUT_TIMEOUT_TASK=true +# Human input timeout check interval in minutes +HUMAN_INPUT_TIMEOUT_TASK_INTERVAL=1 + + +SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL=90000 diff --git a/blade-plugin/blade-workflow/doc/dify/dsl/文生图chatflow.yml b/blade-plugin/blade-workflow/doc/dify/dsl/文生图chatflow.yml new file mode 100644 index 0000000..5fbe6e2 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/dify/dsl/文生图chatflow.yml @@ -0,0 +1,501 @@ +app: + description: Chatflow,基于Doubao Seedream 4.5 + icon: 🤖 + icon_background: '#FFEAD5' + icon_type: emoji + mode: advanced-chat + name: 文生图chatflow + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: marketplace + value: + marketplace_plugin_unique_identifier: langgenius/volcengine_maas:0.0.46@cbdbb9440236d4e83ee6a14566d42a75ab478abf47127c56d1f05642e4c60baf + version: null +- current_identifier: null + type: marketplace + value: + marketplace_plugin_unique_identifier: sawyer-shi/seedream_aigc:0.0.1@cb3174212b2e32038019fdbbba3c970f68116533ec294a30e6ebdb5af23a4662 + version: null +kind: app +version: 0.6.0 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + enabled: false + fileUploadConfig: + attachment_image_file_size_limit: 2 + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + file_upload_limit: 20 + image_file_batch_limit: 10 + image_file_size_limit: 10 + single_chunk_attachment_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 1 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInLoop: false + sourceType: tool + targetType: answer + id: 1772414851102-source-1772169114754-target + source: '1772414851102' + sourceHandle: source + target: '1772169114754' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + isInLoop: false + sourceType: start + targetType: llm + id: 1770971984579-source-1773106833398-target + source: '1770971984579' + sourceHandle: source + target: '1773106833398' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInLoop: false + sourceType: llm + targetType: answer + id: 1773106833398-source-1772169114754-target + source: '1773106833398' + sourceHandle: source + target: '1772169114754' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInLoop: false + sourceType: llm + targetType: tool + id: 1773106833398-source-1772414851102-target + source: '1773106833398' + sourceHandle: source + target: '1772414851102' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + selected: false + title: 开始 + type: start + variables: [] + height: 73 + id: '1770971984579' + position: + x: -76.15313929644341 + y: 287.24884501836783 + positionAbsolute: + x: -76.15313929644341 + y: 287.24884501836783 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 242 + - data: + answer: '{{#1773106833398.text#}}{{#1772414851102.files#}}' + selected: false + title: 结束 + type: answer + variables: [] + height: 121 + id: '1772169114754' + position: + x: 794.2257453857247 + y: 308.24884501836783 + positionAbsolute: + x: 794.2257453857247 + y: 308.24884501836783 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 242 + - data: + is_team_authorization: true + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Text description of the image you want to generate + ja_JP: Text description of the image you want to generate + pt_BR: Text description of the image you want to generate + zh_Hans: 您想要生成的图像的文本描述 + label: + en_US: Prompt + ja_JP: Prompt + pt_BR: Prompt + zh_Hans: 提示词 + llm_description: Text description of the image to generate + max: null + min: null + name: prompt + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: 2048x2048 + form: form + human_description: + en_US: Size of the generated image + ja_JP: Size of the generated image + pt_BR: Size of the generated image + zh_Hans: 生成图像的尺寸 + label: + en_US: Image Size + ja_JP: Image Size + pt_BR: Image Size + zh_Hans: 图像尺寸 + llm_description: Size of the generated image + max: null + min: null + name: size + options: + - icon: '' + label: + en_US: 1:1 (2048x2048) + ja_JP: 1:1 (2048x2048) + pt_BR: 1:1 (2048x2048) + zh_Hans: 1:1 (2048x2048) + value: 2048x2048 + - icon: '' + label: + en_US: 4:3 (2304x1728) + ja_JP: 4:3 (2304x1728) + pt_BR: 4:3 (2304x1728) + zh_Hans: 4:3 (2304x1728) + value: 2304x1728 + - icon: '' + label: + en_US: 3:4 (1728x2304) + ja_JP: 3:4 (1728x2304) + pt_BR: 3:4 (1728x2304) + zh_Hans: 3:4 (1728x2304) + value: 1728x2304 + - icon: '' + label: + en_US: 16:9 (2560x1440) + ja_JP: 16:9 (2560x1440) + pt_BR: 16:9 (2560x1440) + zh_Hans: 16:9 (2560x1440) + value: 2560x1440 + - icon: '' + label: + en_US: 9:16 (1440x2560) + ja_JP: 9:16 (1440x2560) + pt_BR: 9:16 (1440x2560) + zh_Hans: 9:16 (1440x2560) + value: 1440x2560 + - icon: '' + label: + en_US: 3:2 (2496x1664) + ja_JP: 3:2 (2496x1664) + pt_BR: 3:2 (2496x1664) + zh_Hans: 3:2 (2496x1664) + value: 2496x1664 + - icon: '' + label: + en_US: 2:3 (1664x2496) + ja_JP: 2:3 (1664x2496) + pt_BR: 2:3 (1664x2496) + zh_Hans: 2:3 (1664x2496) + value: 1664x2496 + - icon: '' + label: + en_US: 21:9 (3024x1296) + ja_JP: 21:9 (3024x1296) + pt_BR: 21:9 (3024x1296) + zh_Hans: 21:9 (3024x1296) + value: 3024x1296 + placeholder: null + precision: null + required: false + scope: null + template: null + type: select + - auto_generate: null + default: 'true' + form: form + human_description: + en_US: Whether to add 'AI Generated' watermark to the image + ja_JP: Whether to add 'AI Generated' watermark to the image + pt_BR: Whether to add 'AI Generated' watermark to the image + zh_Hans: 是否在图像上添加'AI生成'水印 + label: + en_US: Watermark + ja_JP: Watermark + pt_BR: Watermark + zh_Hans: 水印 + llm_description: Whether to add 'AI Generated' watermark to the image + max: null + min: null + name: watermark + options: + - icon: '' + label: + en_US: Enabled + ja_JP: Enabled + pt_BR: Enabled + zh_Hans: 启用 + value: 'true' + - icon: '' + label: + en_US: Disabled + ja_JP: Disabled + pt_BR: Disabled + zh_Hans: 禁用 + value: 'false' + placeholder: null + precision: null + required: false + scope: null + template: null + type: select + - auto_generate: null + default: doubao-seedream-4-5-251128 + form: form + human_description: + en_US: Choose the Seedream model version to use + ja_JP: Choose the Seedream model version to use + pt_BR: Choose the Seedream model version to use + zh_Hans: 选择要使用的Seedream模型版本 + label: + en_US: Model Version + ja_JP: Model Version + pt_BR: Model Version + zh_Hans: 模型版本 + llm_description: Choose the Seedream model version to use + max: null + min: null + name: model + options: + - icon: '' + label: + en_US: Seedream4.0 + ja_JP: Seedream4.0 + pt_BR: Seedream4.0 + zh_Hans: Seedream4.0 + value: doubao-seedream-4-0-250828 + - icon: '' + label: + en_US: Seedream4.5 + ja_JP: Seedream4.5 + pt_BR: Seedream4.5 + zh_Hans: Seedream4.5 + value: doubao-seedream-4-5-251128 + - icon: '' + label: + en_US: Seedream5.0 Lite + ja_JP: Seedream5.0 Lite + pt_BR: Seedream5.0 Lite + zh_Hans: Seedream5.0 Lite + value: doubao-seedream-5-0-260128 + placeholder: null + precision: null + required: false + scope: null + template: null + type: select + params: + model: '' + prompt: '' + size: '' + watermark: '' + plugin_id: sawyer-shi/seedream_aigc + plugin_unique_identifier: sawyer-shi/seedream_aigc:0.0.1@cb3174212b2e32038019fdbbba3c970f68116533ec294a30e6ebdb5af23a4662 + provider_icon: /console/api/workspaces/current/plugin/icon?tenant_id=c01909a5-16ac-4f4f-86f2-bf3c5643f5a6&filename=9638639a259e524d8a12d8fa29d692c7b226cc88124ff4fb1eb2d31d0c9f88d3.svg + provider_id: sawyer-shi/seedream_aigc/seedream_aigc + provider_name: sawyer-shi/seedream_aigc/seedream_aigc + provider_type: builtin + selected: false + title: 生成图片 + tool_configurations: + model: + type: constant + value: doubao-seedream-4-5-251128 + size: + type: constant + value: 2304x1728 + watermark: + type: constant + value: 'true' + tool_description: 使用Seedream模型根据文本描述生成图像 + tool_label: Seedream-文生图 + tool_name: text2image + tool_node_version: '2' + tool_parameters: + prompt: + type: mixed + value: '{{#1773106833398.text#}}' + type: tool + height: 140 + id: '1772414851102' + position: + x: 515.8455479683803 + y: 406.664689112765 + positionAbsolute: + x: 515.8455479683803 + y: 406.664689112765 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 242 + - data: + context: + enabled: false + variable_selector: [] + memory: + query_prompt_template: '{{#sys.query#}} + + + {{#sys.files#}}' + role_prefix: + assistant: '' + user: '' + window: + enabled: true + size: 50 + model: + completion_params: + temperature: 0.7 + thinking: disabled + mode: chat + name: Doubao-Seed-2.0-lite + provider: langgenius/volcengine_maas/volcengine_maas + prompt_template: + - id: 9db34615-57b7-4b6c-92df-ba61026cc867 + role: system + text: '你是一位专业的 AI 绘画提示词优化专家,专门优化适用于表情包图像生成模型的提示词。 + + 你的任务是: + + 将用户简单、模糊或口语化的描述,优化为清晰、具体、具有画面感、适合表情包图像生成模型的高质量提示词。 + + + 🦾 优化规则 + + 1️⃣ 使用自然语言完整描述画面 + + 避免堆砌关键词,使用流畅中文表达。 + + 2️⃣ 必须补充以下要素(若用户未提供): + + 主体特征(外貌、服装、表情、动作) + + 场景环境(地点、时间、天气) + + 光线效果(柔光、夕阳、逆光、霓虹灯等) + + 画面氛围(温暖、唯美、科技感、史诗感等) + + 画面清晰度与细节(高清、细节丰富、真实质感等) + + 3️⃣ 画面增强建议(智能补充) + + 可以合理补充: + + 镜头视角(近景、特写、广角、俯拍等) + + 构图方式(居中构图、电影构图) + + 质感细节(皮肤纹理、布料质感、金属反光等) + + 风格说明(写实摄影风格、二次元插画风格、赛博朋克风格等) + + + 🚫 禁止事项 + + 不要解释 + + 不要分点 + + 不要加引号 + + 不要输出多个版本 + + 只输出优化后的完整提示词 + + + 🔥 示例 + + 用户输入: + + 未来城市 + + 优化输出: + + 一座充满未来科技感的城市,高耸入云的玻璃与金属建筑,空中飞行汽车穿梭在霓虹灯光照亮的街道上,夜晚场景,蓝紫色霓虹灯光映射在潮湿的地面上,画面具有强烈的赛博朋克氛围,广角视角,细节丰富,高清画质,电影级光影效果 + + + 现在,请优化以下用户提供的描述:{{#sys.query#}}' + selected: false + title: 优化提示词 + type: llm + vision: + enabled: false + height: 88 + id: '1773106833398' + position: + x: 232.4079169765165 + y: 308.24884501836783 + positionAbsolute: + x: 232.4079169765165 + y: 308.24884501836783 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 242 + viewport: + x: -98.17723102646124 + y: 209.90706820574871 + zoom: 0.7229661472728734 + rag_pipeline_variables: [] diff --git a/blade-plugin/blade-workflow/doc/dify/dsl/文生图workflow.yml b/blade-plugin/blade-workflow/doc/dify/dsl/文生图workflow.yml new file mode 100644 index 0000000..4e9b8f9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/dify/dsl/文生图workflow.yml @@ -0,0 +1,516 @@ +app: + description: Workflow,基于Doubao Seedream 4.5 + icon: 🤖 + icon_background: '#FFEAD5' + icon_type: emoji + mode: workflow + name: 文生图workflow + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: marketplace + value: + marketplace_plugin_unique_identifier: langgenius/volcengine_maas:0.0.46@cbdbb9440236d4e83ee6a14566d42a75ab478abf47127c56d1f05642e4c60baf + version: null +- current_identifier: null + type: marketplace + value: + marketplace_plugin_unique_identifier: sawyer-shi/seedream_aigc:0.0.1@cb3174212b2e32038019fdbbba3c970f68116533ec294a30e6ebdb5af23a4662 + version: null +kind: app +version: 0.6.0 +workflow: + conversation_variables: [] + environment_variables: [] + features: + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + allowed_file_types: + - image + allowed_file_upload_methods: + - local_file + - remote_url + enabled: false + fileUploadConfig: + attachment_image_file_size_limit: 2 + audio_file_size_limit: 50 + batch_count_limit: 5 + file_size_limit: 15 + file_upload_limit: 20 + image_file_batch_limit: 10 + image_file_size_limit: 10 + single_chunk_attachment_limit: 10 + video_file_size_limit: 100 + workflow_file_upload_limit: 10 + image: + enabled: false + number_limits: 3 + transfer_methods: + - local_file + - remote_url + number_limits: 3 + opening_statement: '' + retriever_resource: + enabled: true + sensitive_word_avoidance: + enabled: false + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + graph: + edges: + - data: + isInLoop: false + sourceType: start + targetType: llm + id: 1770860537607-source-1770860542237-target + selected: false + source: '1770860537607' + sourceHandle: source + target: '1770860542237' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + isInLoop: false + sourceType: llm + targetType: end + id: 1770860542237-source-1770906524488-target + selected: false + source: '1770860542237' + sourceHandle: source + target: '1770906524488' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInIteration: false + isInLoop: false + sourceType: llm + targetType: tool + id: 1770860542237-source-1772413887082-target + source: '1770860542237' + sourceHandle: source + target: '1772413887082' + targetHandle: target + type: custom + zIndex: 0 + - data: + isInLoop: false + sourceType: tool + targetType: end + id: 1772413887082-source-1770906524488-target + source: '1772413887082' + sourceHandle: source + target: '1770906524488' + targetHandle: target + type: custom + zIndex: 0 + nodes: + - data: + selected: false + title: 开始 + type: start + variables: + - default: '' + hint: '' + label: 图片生成要求 + options: [] + placeholder: '' + required: true + type: paragraph + variable: query + height: 109 + id: '1770860537607' + position: + x: 120.48998334276632 + y: 282 + positionAbsolute: + x: 120.48998334276632 + y: 282 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 242 + - data: + context: + enabled: false + variable_selector: [] + desc: '' + model: + completion_params: + thinking: disabled + mode: chat + name: Doubao-Seed-2.0-lite + provider: langgenius/volcengine_maas/volcengine_maas + prompt_template: + - id: 30ca449a-8f74-411d-aac2-a8dfca5f7c20 + role: system + text: '你是一位专业的 AI 绘画提示词优化专家,专门优化适用于表情包图像生成模型的提示词。 + + 你的任务是: + + 将用户简单、模糊或口语化的描述,优化为清晰、具体、具有画面感、适合表情包图像生成模型的高质量提示词。 + + + 🦾 优化规则 + + 1️⃣ 使用自然语言完整描述画面 + + 避免堆砌关键词,使用流畅中文表达。 + + 2️⃣ 必须补充以下要素(若用户未提供): + + 主体特征(外貌、服装、表情、动作) + + 场景环境(地点、时间、天气) + + 光线效果(柔光、夕阳、逆光、霓虹灯等) + + 画面氛围(温暖、唯美、科技感、史诗感等) + + 画面清晰度与细节(高清、细节丰富、真实质感等) + + 3️⃣ 画面增强建议(智能补充) + + 可以合理补充: + + 镜头视角(近景、特写、广角、俯拍等) + + 构图方式(居中构图、电影构图) + + 质感细节(皮肤纹理、布料质感、金属反光等) + + 风格说明(写实摄影风格、二次元插画风格、赛博朋克风格等) + + + 🚫 禁止事项 + + 不要解释 + + 不要分点 + + 不要加引号 + + 不要输出多个版本 + + 只输出优化后的完整提示词 + + + 🔥 示例 + + 用户输入: + + 未来城市 + + 优化输出: + + 一座充满未来科技感的城市,高耸入云的玻璃与金属建筑,空中飞行汽车穿梭在霓虹灯光照亮的街道上,夜晚场景,蓝紫色霓虹灯光映射在潮湿的地面上,画面具有强烈的赛博朋克氛围,广角视角,细节丰富,高清画质,电影级光影效果 + + + 现在,请优化以下用户提供的描述:{{#1770860537607.query#}}' + - id: 8a923e7a-8934-4b9a-ba3f-4e80d37710de + role: user + text: '' + reasoning_format: tagged + selected: false + structured_output_enabled: false + title: 优化提示词 + type: llm + vision: + enabled: false + height: 88 + id: '1770860542237' + position: + x: 407.1277995859348 + y: 303 + positionAbsolute: + x: 407.1277995859348 + y: 303 + selected: true + sourcePosition: right + targetPosition: left + type: custom + width: 242 + - data: + outputs: + - value_selector: + - '1770860542237' + - text + value_type: string + variable: text + - value_selector: + - '1772413887082' + - files + value_type: array[file] + variable: files + selected: false + title: 结束 + type: end + height: 114 + id: '1770906524488' + position: + x: 1042.2803364774247 + y: 303 + positionAbsolute: + x: 1042.2803364774247 + y: 303 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 242 + - data: + is_team_authorization: true + paramSchemas: + - auto_generate: null + default: null + form: llm + human_description: + en_US: Text description of the image you want to generate + ja_JP: Text description of the image you want to generate + pt_BR: Text description of the image you want to generate + zh_Hans: 您想要生成的图像的文本描述 + label: + en_US: Prompt + ja_JP: Prompt + pt_BR: Prompt + zh_Hans: 提示词 + llm_description: Text description of the image to generate + max: null + min: null + name: prompt + options: [] + placeholder: null + precision: null + required: true + scope: null + template: null + type: string + - auto_generate: null + default: 2048x2048 + form: form + human_description: + en_US: Size of the generated image + ja_JP: Size of the generated image + pt_BR: Size of the generated image + zh_Hans: 生成图像的尺寸 + label: + en_US: Image Size + ja_JP: Image Size + pt_BR: Image Size + zh_Hans: 图像尺寸 + llm_description: Size of the generated image + max: null + min: null + name: size + options: + - icon: '' + label: + en_US: 1:1 (2048x2048) + ja_JP: 1:1 (2048x2048) + pt_BR: 1:1 (2048x2048) + zh_Hans: 1:1 (2048x2048) + value: 2048x2048 + - icon: '' + label: + en_US: 4:3 (2304x1728) + ja_JP: 4:3 (2304x1728) + pt_BR: 4:3 (2304x1728) + zh_Hans: 4:3 (2304x1728) + value: 2304x1728 + - icon: '' + label: + en_US: 3:4 (1728x2304) + ja_JP: 3:4 (1728x2304) + pt_BR: 3:4 (1728x2304) + zh_Hans: 3:4 (1728x2304) + value: 1728x2304 + - icon: '' + label: + en_US: 16:9 (2560x1440) + ja_JP: 16:9 (2560x1440) + pt_BR: 16:9 (2560x1440) + zh_Hans: 16:9 (2560x1440) + value: 2560x1440 + - icon: '' + label: + en_US: 9:16 (1440x2560) + ja_JP: 9:16 (1440x2560) + pt_BR: 9:16 (1440x2560) + zh_Hans: 9:16 (1440x2560) + value: 1440x2560 + - icon: '' + label: + en_US: 3:2 (2496x1664) + ja_JP: 3:2 (2496x1664) + pt_BR: 3:2 (2496x1664) + zh_Hans: 3:2 (2496x1664) + value: 2496x1664 + - icon: '' + label: + en_US: 2:3 (1664x2496) + ja_JP: 2:3 (1664x2496) + pt_BR: 2:3 (1664x2496) + zh_Hans: 2:3 (1664x2496) + value: 1664x2496 + - icon: '' + label: + en_US: 21:9 (3024x1296) + ja_JP: 21:9 (3024x1296) + pt_BR: 21:9 (3024x1296) + zh_Hans: 21:9 (3024x1296) + value: 3024x1296 + placeholder: null + precision: null + required: false + scope: null + template: null + type: select + - auto_generate: null + default: 'true' + form: form + human_description: + en_US: Whether to add 'AI Generated' watermark to the image + ja_JP: Whether to add 'AI Generated' watermark to the image + pt_BR: Whether to add 'AI Generated' watermark to the image + zh_Hans: 是否在图像上添加'AI生成'水印 + label: + en_US: Watermark + ja_JP: Watermark + pt_BR: Watermark + zh_Hans: 水印 + llm_description: Whether to add 'AI Generated' watermark to the image + max: null + min: null + name: watermark + options: + - icon: '' + label: + en_US: Enabled + ja_JP: Enabled + pt_BR: Enabled + zh_Hans: 启用 + value: 'true' + - icon: '' + label: + en_US: Disabled + ja_JP: Disabled + pt_BR: Disabled + zh_Hans: 禁用 + value: 'false' + placeholder: null + precision: null + required: false + scope: null + template: null + type: select + - auto_generate: null + default: doubao-seedream-4-5-251128 + form: form + human_description: + en_US: Choose the Seedream model version to use + ja_JP: Choose the Seedream model version to use + pt_BR: Choose the Seedream model version to use + zh_Hans: 选择要使用的Seedream模型版本 + label: + en_US: Model Version + ja_JP: Model Version + pt_BR: Model Version + zh_Hans: 模型版本 + llm_description: Choose the Seedream model version to use + max: null + min: null + name: model + options: + - icon: '' + label: + en_US: Seedream4.0 + ja_JP: Seedream4.0 + pt_BR: Seedream4.0 + zh_Hans: Seedream4.0 + value: doubao-seedream-4-0-250828 + - icon: '' + label: + en_US: Seedream4.5 + ja_JP: Seedream4.5 + pt_BR: Seedream4.5 + zh_Hans: Seedream4.5 + value: doubao-seedream-4-5-251128 + - icon: '' + label: + en_US: Seedream5.0 Lite + ja_JP: Seedream5.0 Lite + pt_BR: Seedream5.0 Lite + zh_Hans: Seedream5.0 Lite + value: doubao-seedream-5-0-260128 + placeholder: null + precision: null + required: false + scope: null + template: null + type: select + params: + model: '' + prompt: '' + size: '' + watermark: '' + plugin_id: sawyer-shi/seedream_aigc + plugin_unique_identifier: sawyer-shi/seedream_aigc:0.0.1@cb3174212b2e32038019fdbbba3c970f68116533ec294a30e6ebdb5af23a4662 + provider_icon: /console/api/workspaces/current/plugin/icon?tenant_id=c01909a5-16ac-4f4f-86f2-bf3c5643f5a6&filename=9638639a259e524d8a12d8fa29d692c7b226cc88124ff4fb1eb2d31d0c9f88d3.svg + provider_id: sawyer-shi/seedream_aigc/seedream_aigc + provider_name: sawyer-shi/seedream_aigc/seedream_aigc + provider_type: builtin + selected: false + title: 生成图片 + tool_configurations: + model: + type: constant + value: doubao-seedream-4-5-251128 + size: + type: constant + value: 2304x1728 + watermark: + type: constant + value: 'false' + tool_description: 使用Seedream模型根据文本描述生成图像 + tool_label: Seedream-文生图 + tool_name: text2image + tool_node_version: '2' + tool_parameters: + prompt: + type: mixed + value: '{{#1770860542237.text#}}' + type: tool + height: 140 + id: '1772413887082' + position: + x: 724.3961460301044 + y: 363.17781638938254 + positionAbsolute: + x: 724.3961460301044 + y: 363.17781638938254 + selected: false + sourcePosition: right + targetPosition: left + type: custom + width: 242 + viewport: + x: 129.28736721338242 + y: 132.27871402175327 + zoom: 0.7450591277173519 + rag_pipeline_variables: [] diff --git a/blade-plugin/blade-workflow/doc/dify/dsl/简单agent.yml b/blade-plugin/blade-workflow/doc/dify/dsl/简单agent.yml new file mode 100644 index 0000000..e3d67ff --- /dev/null +++ b/blade-plugin/blade-workflow/doc/dify/dsl/简单agent.yml @@ -0,0 +1,119 @@ +app: + description: Agent + icon: 🤖 + icon_background: '#FFEAD5' + icon_type: emoji + mode: agent-chat + name: 简单agent + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: marketplace + value: + marketplace_plugin_unique_identifier: langgenius/volcengine_maas:0.0.46@cbdbb9440236d4e83ee6a14566d42a75ab478abf47127c56d1f05642e4c60baf + version: null +kind: app +model_config: + agent_mode: + enabled: true + max_iteration: 10 + prompt: null + strategy: function_call + tools: + - enabled: true + isDeleted: false + notAuthor: false + provider_id: time + provider_name: time + provider_type: builtin + tool_label: 时区转换 + tool_name: timezone_conversion + tool_parameters: + current_time: null + current_timezone: Asia/Shanghai + target_timezone: Asia/Tokyo + type: builtin + - enabled: true + isDeleted: false + notAuthor: false + provider_id: time + provider_name: time + provider_type: builtin + tool_label: 获取当前时间 + tool_name: current_time + tool_parameters: + format: '%Y-%m-%d %H:%M:%S' + timezone: UTC + type: builtin + annotation_reply: + enabled: false + chat_prompt_config: + prompt: + - role: system + text: '' + completion_prompt_config: + conversation_histories_role: + assistant_prefix: '' + user_prefix: '' + prompt: + text: '' + dataset_configs: + datasets: + datasets: [] + retrieval_model: multiple + top_k: 4 + dataset_query_variable: '' + external_data_tools: [] + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + - .MP4 + - .MOV + - .MPEG + - .WEBM + allowed_file_types: [] + allowed_file_upload_methods: + - remote_url + - local_file + enabled: false + image: + detail: high + enabled: false + number_limits: 3 + transfer_methods: + - remote_url + - local_file + number_limits: 3 + model: + completion_params: + stop: [] + mode: chat + name: Doubao-Seed-2.0-lite + provider: langgenius/volcengine_maas/volcengine_maas + more_like_this: + enabled: false + opening_statement: '' + pre_prompt: '' + prompt_type: simple + retriever_resource: + enabled: true + sensitive_word_avoidance: + configs: [] + enabled: false + type: '' + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + user_input_form: [] +version: 0.6.0 diff --git a/blade-plugin/blade-workflow/doc/dify/dsl/翻译助手.yml b/blade-plugin/blade-workflow/doc/dify/dsl/翻译助手.yml new file mode 100644 index 0000000..d0d1e72 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/dify/dsl/翻译助手.yml @@ -0,0 +1,161 @@ +app: + description: 文成生成应用 + icon: 🤖 + icon_background: '#FFEAD5' + icon_type: emoji + mode: completion + name: 翻译助手 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: marketplace + value: + marketplace_plugin_unique_identifier: langgenius/volcengine_maas:0.0.46@cbdbb9440236d4e83ee6a14566d42a75ab478abf47127c56d1f05642e4c60baf + version: null +kind: app +model_config: + agent_mode: + enabled: false + max_iteration: 10 + strategy: function_call + tools: [] + annotation_reply: + enabled: false + chat_prompt_config: + prompt: + - role: system + text: '' + completion_prompt_config: + conversation_histories_role: + assistant_prefix: '' + user_prefix: '' + prompt: + text: '' + dataset_configs: + datasets: + datasets: [] + retrieval_model: multiple + top_k: 4 + dataset_query_variable: '' + external_data_tools: [] + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + - .MP4 + - .MOV + - .MPEG + - .WEBM + allowed_file_types: [] + allowed_file_upload_methods: + - remote_url + - local_file + enabled: false + image: + detail: high + enabled: false + number_limits: 3 + transfer_methods: + - remote_url + - local_file + number_limits: 3 + model: + completion_params: + stop: [] + thinking: disabled + mode: chat + name: Doubao-Seed-2.0-lite + provider: langgenius/volcengine_maas/volcengine_maas + more_like_this: + enabled: true + opening_statement: null + pre_prompt: '```xml + + + + 你是专业翻译专家,请按照以下步骤完成翻译任务: + + 1. 自动识别检测{{input_original_text}}的源语言,无需额外输出检测结果 + + 2. 确认本次翻译要求的目标语言为{{target_translate_language}} + + 3. 遵循专业翻译标准,结合原文语境,将原文准确、流畅地翻译成符合{{target_translate_language}}表达习惯的译文 + + 4. 你的输出仅需要提供最终译文,不允许包含任何xml标签,也不需要添加任何额外说明、注释内容 + + + + + + 输入变量说明: + + 1. {{input_original_text}}:需要翻译的原始文本内容 + + 2. {{target_translate_language}}:指定需要翻译成的目标语言名称 + + + + + + 示例1: + + 输入原文:Ich liebe dich + + 目标语言:简体中文 + + 输出:我爱你 + + + 示例2: + + 输入原文:这个周末我们打算去郊外野餐 + + 目标语言:英语 + + 输出:We are going to have a picnic in the countryside this weekend + + + + + + 仅输出符合要求的最终译文,不包含任何额外内容,不得出现任何xml标签 + + + + ```' + prompt_type: simple + retriever_resource: + enabled: true + sensitive_word_avoidance: + configs: [] + enabled: false + type: '' + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + user_input_form: + - paragraph: + default: '' + label: 原文 + required: true + variable: input_original_text + - select: + default: 中文 + label: 目标语言 + options: + - 中文 + - 英文 + - 日语 + required: true + variable: target_translate_language +version: 0.6.0 diff --git a/blade-plugin/blade-workflow/doc/dify/dsl/聊天助手.yml b/blade-plugin/blade-workflow/doc/dify/dsl/聊天助手.yml new file mode 100644 index 0000000..d3d289f --- /dev/null +++ b/blade-plugin/blade-workflow/doc/dify/dsl/聊天助手.yml @@ -0,0 +1,98 @@ +app: + description: 基于Doubao Seed 2.0 Lite,深度思考 + icon: 🤖 + icon_background: '#FFEAD5' + icon_type: emoji + mode: chat + name: 聊天助手 + use_icon_as_answer_icon: false +dependencies: +- current_identifier: null + type: marketplace + value: + marketplace_plugin_unique_identifier: langgenius/volcengine_maas:0.0.46@cbdbb9440236d4e83ee6a14566d42a75ab478abf47127c56d1f05642e4c60baf + version: null +kind: app +model_config: + agent_mode: + enabled: false + max_iteration: 10 + strategy: function_call + tools: [] + annotation_reply: + enabled: false + chat_prompt_config: + prompt: + - role: system + text: '' + completion_prompt_config: + conversation_histories_role: + assistant_prefix: '' + user_prefix: '' + prompt: + text: '' + dataset_configs: + datasets: + datasets: [] + retrieval_model: multiple + top_k: 4 + dataset_query_variable: '' + external_data_tools: [] + file_upload: + allowed_file_extensions: + - .JPG + - .JPEG + - .PNG + - .GIF + - .WEBP + - .SVG + - .MP4 + - .MOV + - .MPEG + - .WEBM + allowed_file_types: [] + allowed_file_upload_methods: + - local_file + enabled: false + image: + detail: high + enabled: false + number_limits: 3 + transfer_methods: + - local_file + number_limits: 3 + model: + completion_params: + stop: [] + thinking: disabled + mode: chat + name: Doubao-Seed-2.0-lite + provider: langgenius/volcengine_maas/volcengine_maas + more_like_this: + enabled: false + opening_statement: '' + pre_prompt: '{{{systemPrompt}}' + prompt_type: simple + retriever_resource: + enabled: true + sensitive_word_avoidance: + configs: [] + enabled: false + type: '' + speech_to_text: + enabled: false + suggested_questions: [] + suggested_questions_after_answer: + enabled: false + text_to_speech: + enabled: false + language: '' + voice: '' + user_input_form: + - paragraph: + default: '' + hide: true + label: 系统提示词 + required: false + variable: systemPrompt +version: 0.6.0 diff --git a/blade-plugin/blade-workflow/doc/dify/nginx.conf b/blade-plugin/blade-workflow/doc/dify/nginx.conf new file mode 100644 index 0000000..72e780d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/dify/nginx.conf @@ -0,0 +1,44 @@ +server { + listen 80; + listen [::]:80; + listen 443 ssl; + listen [::]:443 ssl; + http2 on; + ssl_certificate /usr/local/nginx/conf/ssl/your-domain-name.crt; + ssl_certificate_key /usr/local/nginx/conf/ssl/your-domain-name.key; + ssl_protocols TLSv1.2 TLSv1.3; + ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; + ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256; + ssl_conf_command Ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256; + ssl_conf_command Options PrioritizeChaCha; + ssl_prefer_server_ciphers on; + ssl_session_timeout 10m; + ssl_session_cache shared:SSL:10m; + ssl_buffer_size 2k; + add_header Strict-Transport-Security max-age=15768000; + server_name your-domain-name; + access_log /data/wwwlogs/your-domain-name_nginx.log combined; + index index.html index.htm index.php; + root /data/wwwroot/your-domain-name; + if ($ssl_protocol = "") { return 301 https://$host$request_uri; } + + include /usr/local/nginx/conf/rewrite/other.conf; + #error_page 404 /404.html; + #error_page 502 /502.html; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_buffering off; + proxy_pass http://localhost:8066; + } + + location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) { + deny all; + } + + location /.well-known { + allow all; + } +} diff --git a/blade-plugin/blade-workflow/doc/nacos/blade-workflow-dev.yaml b/blade-plugin/blade-workflow/doc/nacos/blade-workflow-dev.yaml new file mode 100644 index 0000000..fcdae56 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/nacos/blade-workflow-dev.yaml @@ -0,0 +1,34 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + #driver-class-name: org.postgresql.Driver + #driver-class-name: oracle.jdbc.OracleDriver + #driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + druid: + # MySql、PostgreSQL、SqlServer校验 + validation-query: select 1 + # Oracle校验 + #validation-query: select 1 from dual + +#项目模块集中配置 +blade: + #工作流模块开发生产环境数据库地址 + datasource: + workflow: + dev: + # MySql + url: jdbc:mysql://localhost:3306/bladex_workflow?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true + username: root + password: password + # PostgreSQL + #url: jdbc:postgresql://127.0.0.1:5432/bladex_workflow + #username: postgres + #password: 123456 + # Oracle + #url: jdbc:oracle:thin:@127.0.0.1:1521:orcl + #username: BLADEX_FLOW + #password: BLADEX_FLOW + # SqlServer + #url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=bladex_workflow + #username: bladex_flow + #password: bladex_flow diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/dm/bladex_menu.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/dm/bladex_menu.sql new file mode 100644 index 0000000..3f4acaa --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/dm/bladex_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1164733399669963301', '0', 'workflow', '协同办公', 'menu', '/plugin/workflow', 'iconfont iconicon_send', '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347061240995815426', '1164733399669963301', 'wf_design', '流程设计', 'menu', '/plugin/workflow/design', 'iconfont iconicon_work', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347061240995815427', '1347061240995815426', 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/design/model', 'iconfont iconicon_discovery', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590658', '1347061240995815427', 'wf_design_model_add', '新增', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590659', '1347061240995815427', 'wf_design_model_edit', '修改', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590660', '1347061240995815427', 'wf_design_model_delete', '删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590661', '1347061240995815427', 'wf_design_model_view', '查看', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590662', '1347061240995815427', 'wf_design_model_history', '历史', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590663', '1347061240995815427', 'wf_design_model_history_view', '历史-预览', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590664', '1347061240995815427', 'wf_design_model_history_delete', '历史-删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590665', '1347061240995815427', 'wf_design_model_history_main', '历史-主版本', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590666', '1347061240995815427', 'wf_design_model_design', '设计', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590667', '1347061240995815427', 'wf_design_model_deploy', '部署', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590668', '1347061240995815427', 'wf_design_model_scope', '权限', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590669', '1347061240995815427', 'wf_design_model_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590670', '1347061240995815427', 'wf_design_model_copy', '拷贝', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590671', '1347061240995815427', 'wf_design_model_icon', '图标', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826049', '1347061240995815426', 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/design/form', 'iconfont icon-biaodan', '2', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826050', '1347083757101826049', 'wf_design_form_add', '新增', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826051', '1347083757101826049', 'wf_design_form_edit', '修改', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826052', '1347083757101826049', 'wf_design_form_delete', '删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826053', '1347083757101826049', 'wf_design_form_view', '查看', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826054', '1347083757101826049', 'wf_design_form_design', '设计', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826055', '1347083757101826049', 'wf_design_form_copy', '拷贝', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826056', '1347083757101826049', 'wf_design_form_history', '历史', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826057', '1347083757101826049', 'wf_design_form_history_view', '历史-预览', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826058', '1347083757101826049', 'wf_design_form_history_delete', '历史-删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826059', '1347083757101826049', 'wf_design_form_history_main', '历史-主版本', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826060', '1347083757101826049', 'wf_design_form_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113282', '1347061240995815426', 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/design/deployment', 'iconfont iconicon_cloud_history', '3', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113283', '1347095124710113282', 'wf_design_deployment_status', '修改状态', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113284', '1347095124710113282', 'wf_design_deployment_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113285', '1347095124710113282', 'wf_design_deployment_delete', '删除部署', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113286', '1347061240995815426', 'wf_design_form_theme', '表单主题', 'menu', '/plugin/workflow/design/form-theme', 'iconfont icon-canshu', '7', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113287', '1347095124710113286', 'wf_design_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113288', '1347095124710113286', 'wf_design_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113289', '1347095124710113286', 'wf_design_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113290', '1347095124710113286', 'wf_design_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114284', '1164733399669963301', 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'iconfont iconicon_notice', '2', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114285', '1347095124710114284', 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/process/start', 'iconfont iconicon_compile', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114286', '1347095124710114285', 'wf_process_start_flow', '发起', 'flow', NULL, 'flow', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114287', '1347095124710114285', 'wf_process_start_image', '流程图', 'image', NULL, 'image', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114288', '1347095124710114284', 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/process/claim', 'iconfont iconicon_ding', '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114289', '1347095124710114288', 'wf_process_claim_sign', '签收', 'sign', NULL, 'sign', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114290', '1347095124710114288', 'wf_process_claim_detail', '详情', 'detail', NULL, 'detail', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114291', '1347095124710114288', 'wf_process_claim_follow', '跟踪', 'follow', NULL, 'follow', '3', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114292', '1347095124710114284', 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/process/todo', 'iconfont iconicon_savememo', '2', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114293', '1347095124710114292', 'wf_process_todo_handle', '办理', 'handle', NULL, 'handle', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114294', '1347095124710114292', 'wf_process_todo_detail', '详情', 'detail', NULL, 'detail', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114295', '1347095124710114292', 'wf_process_todo_follow', '跟踪', 'follow', NULL, 'follow', '3', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114296', '1347095124710114284', 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/process/send', 'iconfont iconicon_doc', '3', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114297', '1347095124710114296', 'wf_process_send_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114298', '1347095124710114296', 'wf_process_send_follow', '跟踪', 'follow', NULL, 'follow', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114299', '1347095124710114284', 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/process/done', 'iconfont iconicon_dispose', '4', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114300', '1347095124710114299', 'wf_process_done_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114301', '1347095124710114299', 'wf_process_done_follow', '跟踪', 'follow', NULL, 'follow', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114302', '1347095124710114284', 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/process/my-done', 'iconfont iconicon_dispose', '3', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114303', '1347095124710114302', 'wf_process_my_done_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114304', '1347095124710114302', 'wf_process_my_done_follow', '跟踪', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114305', '1347095124710114284', 'wf_process_draft', '草稿箱', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114306', '1347095124710114284', 'wf_process_withdraw', '撤销', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114307', '1347095124710114292', 'wf_process_todo_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114308', '1347095124710114296', 'wf_process_send_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114309', '1347095124710114299', 'wf_process_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114310', '1347095124710114302', 'wf_process_my_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114311', '1347095124710114288', 'wf_process_claim_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434310', '1347061240995815426', 'wf_button', '流程按钮', 'menu', '/plugin/workflow/design/button', NULL, '4', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434311', '1394106647182434310', 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434312', '1394106647182434310', 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434313', '1394106647182434310', 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434314', '1394106647182434310', 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149511', '1347061240995815426', 'wf_category', '流程分类', 'menu', '/plugin/workflow/design/category', NULL, '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149512', '1394106647392149511', 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149513', '1394106647392149511', 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149514', '1394106647392149511', 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149515', '1394106647392149511', 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206087', '1347095124710114284', 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/process/copy', NULL, '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206088', '1394657590156206087', 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206089', '1394657590156206087', 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206090', '1394657590156206087', 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206091', '1394657590156206087', 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518919', '1347061240995815426', 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/design/form-default-values', NULL, '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518920', '1399260774324518919', 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518921', '1399260774324518919', 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518922', '1399260774324518919', 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518923', '1399260774324518919', 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518924', '1399260774324518919', 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984966', '1347061240995815426', 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/design/condition', NULL, '6', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984967', '1408263948050984966', 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984968', '1408263948050984966', 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984969', '1408263948050984966', 'wf_condition_delete', '删除', 'delete', '/api/plugin/workflow/design/condition/remove', 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984970', '1408263948050984966', 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/design/listener', 'iconfont iconicon_details', '7', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412666776159797249', '1164733399669963301', 'wf_ops', '流程运维', 'menu', '/workflow/ops', 'iconfont iconicon_cspace', '3', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562690', '1412666776159797249', 'wf_ops', '运维调度', 'menu', '/plugin/workflow/ops/index', 'iconfont iconicon_exchange', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562691', '1412667489128562690', 'wf_ops_detail', '详情', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562692', '1412667489128562690', 'wf_ops_follow', '流程图', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562693', '1412667489128562690', 'wf_ops_reject', '驳回', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562694', '1412667489128562690', 'wf_ops_pass', '通过', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562695', '1412667489128562690', 'wf_ops_transfer', '转办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562696', '1412667489128562690', 'wf_ops_delegate', '委托', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562697', '1412667489128562690', 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562698', '1412667489128562690', 'wf_ops_terminate', '终止', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562699', '1412667489128562690', 'wf_ops_copy', '抄送', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562700', '1412667489128562690', 'wf_ops_urge', '催办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562701', '1412667489128562690', 'wf_ops_active', '激活', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562702', '1412667489128562690', 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562703', '1412667489128562690', 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562704', '1412667489128562690', 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562705', '1412667489128562690', 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562706', '1412667489128562690', 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562800', '1412666776159797249', 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/ops/done', 'iconfont iconicon_safety', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562801', '1412666776159797249', 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/ops/list', 'iconfont iconicon_safety', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562802', '1412667489128562801', 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638534', '1412666776159797249', 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/ops/proxy', NULL, '1', '1', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638535', '1513394358223638534', 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638536', '1513394358223638534', 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638537', '1513394358223638534', 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638538', '1513394358223638534', 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682182', '1164733399669963301', 'wf_demo', '业务示例', 'menu', '/plugin/workflow/demo', 'iconfont iconicon_cspace', '4', '1', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682183', '1513683238709682182', 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/demo/leave/index', NULL, '1', '1', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682184', '1513683238709682182', 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, '4', '2', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682185', '1164733399669963301', 'statistics', '流程统计', 'menu', '/plugin/workflow/statistics', 'iconfont iconicon_airplay', '4', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682186', '1513683238709682185', 'wf_statistics', '总览', 'menu', '/plugin/workflow/statistics/index', 'iconfont iconicon_airplay', '4', '1', '0', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/dm/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/dm/bladex_workflow.sql new file mode 100644 index 0000000..48c27f6 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/dm/bladex_workflow.sql @@ -0,0 +1,994 @@ +CREATE TABLE "ACT_DE_MODEL" ( + "ID" NVARCHAR2(255) NOT NULL, + "NAME" NVARCHAR2(400) NOT NULL, + "MODEL_KEY" NVARCHAR2(400) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "CATEGORY_ID" NUMBER(20,0), + "DESCRIPTION" NCLOB, + "MODEL_COMMENT" NCLOB, + "CREATED" DATE, + "CREATED_BY" NVARCHAR2(255), + "LAST_UPDATED" DATE, + "LAST_UPDATED_BY" NVARCHAR2(255), + "VERSION" NUMBER(11,0), + "MODEL_XML" NCLOB, + "MODEL_EDITOR_JSON" NCLOB, + "THUMBNAIL" BLOB, + "MODEL_TYPE" NUMBER(11,0), + "TENANT_ID" NVARCHAR2(255), + "ICON" NVARCHAR2(255) +) +; +COMMENT ON COLUMN "ACT_DE_MODEL"."NAME" IS '名称'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_KEY" IS '模型标识'; +COMMENT ON COLUMN "ACT_DE_MODEL"."FORM_KEY" IS '表单标识'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "ACT_DE_MODEL"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_COMMENT" IS '评论'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CREATED" IS '创建时间'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CREATED_BY" IS '创建人'; +COMMENT ON COLUMN "ACT_DE_MODEL"."LAST_UPDATED" IS '最后更新时间'; +COMMENT ON COLUMN "ACT_DE_MODEL"."LAST_UPDATED_BY" IS '最后更新人'; +COMMENT ON COLUMN "ACT_DE_MODEL"."VERSION" IS '版本'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_XML" IS '模型XML'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_EDITOR_JSON" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "ACT_DE_MODEL"."THUMBNAIL" IS '缩略图'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_TYPE" IS '类型'; +COMMENT ON COLUMN "ACT_DE_MODEL"."TENANT_ID" IS '租户id'; +COMMENT ON COLUMN "ACT_DE_MODEL"."ICON" IS '图标'; +COMMENT ON TABLE "ACT_DE_MODEL" IS '流程 - 定义 - 模型'; + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL_HISTORY +-- ---------------------------- +CREATE TABLE "ACT_DE_MODEL_HISTORY" ( + "ID" NVARCHAR2(255) NOT NULL, + "NAME" NVARCHAR2(400) NOT NULL, + "MODEL_KEY" NVARCHAR2(400) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "CATEGORY_ID" NUMBER(20,0), + "DESCRIPTION" NCLOB, + "MODEL_COMMENT" NCLOB, + "CREATED" DATE, + "CREATED_BY" NVARCHAR2(255), + "LAST_UPDATED" DATE, + "LAST_UPDATED_BY" NVARCHAR2(255), + "REMOVAL_DATE" DATE, + "VERSION" NUMBER(11,0), + "MODEL_XML" NCLOB, + "MODEL_EDITOR_JSON" NCLOB, + "MODEL_ID" NVARCHAR2(255) NOT NULL, + "MODEL_TYPE" NUMBER(11,0), + "TENANT_ID" NVARCHAR2(255), + "ICON" NVARCHAR2(255) +) +; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."NAME" IS '名称'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_KEY" IS '模型标识'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."FORM_KEY" IS '表单标识'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_COMMENT" IS '注释'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CREATED" IS '创建时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CREATED_BY" IS '创建人'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."LAST_UPDATED" IS '最后更新时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."LAST_UPDATED_BY" IS '最后更新人'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."REMOVAL_DATE" IS '移除时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."VERSION" IS '版本'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_XML" IS '模型XML'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_EDITOR_JSON" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_ID" IS 'modelId'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_TYPE" IS '类型'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."TENANT_ID" IS '租户id'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."ICON" IS '图标'; +COMMENT ON TABLE "ACT_DE_MODEL_HISTORY" IS '流程 - 定义 - 模型历史'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL_HISTORY +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_BUTTON +-- ---------------------------- +CREATE TABLE "BLADE_WF_BUTTON" ( + "ID" NUMBER(20,0) NOT NULL, + "BUTTON_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "DISPLAY" NUMBER(4,0), + "SORT" NUMBER(11,0), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."BUTTON_KEY" IS '按钮key'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."DISPLAY" IS '默认是否显示'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."SORT" IS '排序'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_BUTTON" IS '流程按钮'; + +-- ---------------------------- +-- Records of BLADE_WF_BUTTON +-- ---------------------------- +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394176899911041025', 'wf_pass', '通过', '1', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:24:10', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:24:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394177198465794050', 'wf_reject', '驳回', '1', '2', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:25:21', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:25:21', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394179125421326337', 'wf_print', '打印', '1', '3', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:33:01', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:33:01', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394609969089761281', 'wf_transfer', '转办', '1', '4', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 19:05:02', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 19:05:02', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394610036672581634', 'wf_delegate', '委托', '1', '5', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 19:05:18', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 19:05:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395271519601426433', 'wf_terminate', '终止', '1', '6', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 14:53:48', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 14:53:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274709692579841', 'wf_add_instance', '加签', '1', '7', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:06:28', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:06:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274774674931713', 'wf_del_instance', '减签', '1', '8', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:06:44', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:06:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274955986305025', 'wf_rollback', '指定回退', '1', '9', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:07:27', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:07:27', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_CATEGORY +-- ---------------------------- +CREATE TABLE "BLADE_WF_CATEGORY" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "PID" NUMBER(20,0) DEFAULT 0, + "SORT" NUMBER(11,0), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."NAME" IS '分类名称'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."PID" IS '上级id'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."SORT" IS '排序'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_CATEGORY" IS '流程分类'; + +-- ---------------------------- +-- Records of BLADE_WF_CATEGORY +-- ---------------------------- +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394133715940073474', '请假流程', '0', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 11:32:34', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 20:37:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394158934813609986', '财务流程', '0', '2', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 13:12:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 13:13:07', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394159147934584833', '报销流程', '1394158934813609986', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 13:13:38', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 13:13:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_CONDITION +-- ---------------------------- +CREATE TABLE "BLADE_WF_CONDITION" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "EXPRESSION" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."EXPRESSION" IS '表达式'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."TYPE" IS '类型'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_CONDITION" IS '流程表达式'; + +-- ---------------------------- +-- Records of BLADE_WF_CONDITION +-- ---------------------------- +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408267023015739393', '流程发起人', 'applyUser', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 11:33:17', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 11:33:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408267100878798850', '当前操作人', 'currentUser', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 11:33:36', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 11:33:36', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408305933398896641', '上级部门领导', 'leader', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 14:07:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 14:07:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_COPY +-- ---------------------------- +CREATE TABLE "BLADE_WF_COPY" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "TITLE" NVARCHAR2(255), + "INITIATOR" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "PROCESS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "FORM_KEY" NVARCHAR2(255), + "FORM_URL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) +; +COMMENT ON COLUMN "BLADE_WF_COPY"."USER_ID" IS '用户id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."TITLE" IS '标题'; +COMMENT ON COLUMN "BLADE_WF_COPY"."INITIATOR" IS '发起者'; +COMMENT ON COLUMN "BLADE_WF_COPY"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."PROCESS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."FORM_KEY" IS '外置表单key'; +COMMENT ON COLUMN "BLADE_WF_COPY"."FORM_URL" IS '外置表单url'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_COPY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_COPY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_COPY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_COPY"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_COPY" IS '流程抄送'; + +-- ---------------------------- +-- Records of BLADE_WF_COPY +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +CREATE TABLE "BLADE_WF_DEPLOYMENT_FORM" ( + "ID" NUMBER(20,0) NOT NULL, + "DEPLOYMENT_ID" NVARCHAR2(255), + "FORM_KEY" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "TASK_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) +; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_KEY" IS '节点key'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_NAME" IS '节点名称'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_DEPLOYMENT_FORM" IS '流程部署 - 表单'; + +-- ---------------------------- +-- Records of BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_DRAFT +-- ---------------------------- +CREATE TABLE "BLADE_WF_DRAFT" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "FORM_KEY" NVARCHAR2(255), + "PROCESS_DEF_ID" NVARCHAR2(255), + "VARIABLES" NCLOB, + "PLATFORM" NVARCHAR2(255) +) +; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."USER_ID" IS '用户id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."PROCESS_DEF_ID" IS '流程定义id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."VARIABLES" IS '表单变量'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."PLATFORM" IS '平台 pc/app'; +COMMENT ON TABLE "BLADE_WF_DRAFT" IS '流程草稿箱'; + +-- ---------------------------- +-- Records of BLADE_WF_DRAFT +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM" ( + "ID" NUMBER(20,0) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "VERSION" NUMBER(11,0), + "CATEGORY_ID" NUMBER(20,0), + "REMARK" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_FORM"."NAME" IS '表单名称'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM"."VERSION" IS '版本'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "BLADE_WF_FORM"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM" IS '流程表单'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399359377009377281', 'default-value', '测试默认值', '{column:[{type:''input'',label:''人事姓名'',span:24,display:true,prop:''1622472547203_21841'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''人事职位'',span:24,display:true,prop:''1622553629767_65211'',value:''${this.$store.getters.userInfo.post_name}''},{type:''input'',label:''人事部门'',span:24,display:true,prop:''1622472547375_86557'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''当前日期'',span:24,display:true,prop:''1622553629949_3168'',value:''${this.dateFormat(new Date(),\"yyyy-MM-dd\")}''},{type:''input'',label:''当前时间'',span:24,display:true,prop:''1622553631752_15562'',value:''${this.dateFormat(new Date(),\"hh:mm:ss\")}''},{type:''input'',label:''人事姓名和日期'',span:24,display:true,prop:''1622553691156_69886'',value:''${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}''},{type:''input'',label:''经理姓名'',span:24,display:true,prop:''1622472547780_5707'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''经理部门'',span:24,display:true,prop:''1622472547975_90560'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''老板姓名'',span:24,display:true,prop:''1622472548372_60141'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''老板部门'',span:24,display:true,prop:''1622472548560_32474'',value:''${this.$store.getters.userInfo.dept_name}''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"人事姓名","span":24,"display":true,"prop":"1622472547203_21841","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"人事职位","span":24,"display":true,"prop":"1622553629767_65211","value":"${this.$store.getters.userInfo.post_name}"},{"type":"input","label":"人事部门","span":24,"display":true,"prop":"1622472547375_86557","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"当前日期","span":24,"display":true,"prop":"1622553629949_3168","value":"${this.dateFormat(new Date(),\"yyyy-MM-dd\")}"},{"type":"input","label":"当前时间","span":24,"display":true,"prop":"1622553631752_15562","value":"${this.dateFormat(new Date(),\"hh:mm:ss\")}"},{"type":"input","label":"人事姓名和日期","span":24,"display":true,"prop":"1622553691156_69886","value":"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}"},{"type":"input","label":"经理姓名","span":24,"display":true,"prop":"1622472547780_5707","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"经理部门","span":24,"display":true,"prop":"1622472547975_90560","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"老板姓名","span":24,"display":true,"prop":"1622472548372_60141","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"老板部门","span":24,"display":true,"prop":"1622472548560_32474","value":"${this.$store.getters.userInfo.dept_name}"}],"labelPosition":"left","labelSuffix":":","labelWidth":140,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '-1', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 21:37:29', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-11-01 09:08:05', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408402768310304770', 'demo-test', '测试简单表单', '{column:[{type:''input'',label:''单行文本'',span:24,display:true,prop:''1624624365132_23209''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"单行文本","span":24,"display":true,"prop":"1624624365132_23209"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '-1', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 20:32:41', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-11-01 09:08:09', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1429672727182159874', 'field-linkage', '字段联动', '{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input'',change:({value}) => { + +}},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.$set(this.form, ''input2'', text) +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2'',change:({value}) => { + +}}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"switch","label":"控制显隐","span":24,"display":true,"value":"0","dicData":[{"label":"","value":"0"},{"label":"","value":"1"}],"prop":"1629695558953_19833","change":"({value}) => {\r\n const input = this.findObject(this.option.column, ''input'')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input","change":"({value}) => {\r\n\r\n}"},{"type":"select","label":"值改变","dicData":[{"label":"一天","value":"1"},{"label":"两天","value":"2"},{"label":"三天","value":"3"}],"cascaderItem":[],"span":24,"display":true,"props":{"label":"label","value":"value"},"prop":"1629695859796_23456","change":"({value}) => {\r\n let text = value\r\n if(value) {\r\n text = ''请假 '' + value + '' 天''\r\n }\r\n this.$set(this.form, ''input2'', text)\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input2","change":"({value}) => {\r\n\r\n}"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '-1', '字段联动示例', '1123598821738675201', '1123598813738675201', TO_DATE('2021-08-23 13:11:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-11-01 09:08:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399729025840140290', 'leave', '请假流程表单', '{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''yyyy-MM-dd HH:mm:ss'',valueFormat:''yyyy-MM-dd HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { + if (!value || value.length == 0) { + this.$set(this.form, ''days'', undefined) + } else { + const d1 = Date.parse(value.split('','')[0]) + const d2 = Date.parse(value.split('','')[1]) + const day = (d2-d1)/(1*24*60*60*1000) + this.$set(this.form, ''days'', Number(day.toFixed(2))) + } +},dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { + if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' ) + else this.$set(this.form, ''reason'', '''') +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"yyyy-MM-dd HH:mm:ss","valueFormat":"yyyy-MM-dd HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, ''days'', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, ''days'', Number(day.toFixed(2)))\r\n }\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' )\n else this.$set(this.form, ''reason'', '''')\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '-1', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 22:06:20', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2022-04-12 10:27:07', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CONTENT" NVARCHAR2(255), + "FIELD_TYPE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CONTENT" IS '内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."FIELD_TYPE" IS '字段类型'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_DEFAULT_VALUES" IS '流程表单字段默认值'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399346112331087873', '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 20:44:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-31 20:56:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399347906465595393', '当前操作人部门', '${this.$store.getters.userInfo.dept_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 20:51:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-31 20:56:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717069960855553', '当前日期', '${this.dateFormat(new Date(),"yyyy-MM-dd")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:18:50', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:34:25', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717187904684034', '当前操作人职位', '${this.$store.getters.userInfo.post_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:19:18', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:19:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717285564858369', '当前时间', '${this.dateFormat(new Date(),"hh:mm:ss")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:19:41', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:34:34', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399718803940655106', '当前操作人姓名和日期', '${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),"yyyy-MM-dd")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:25:43', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:34:40', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408401952027443201', '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 20:29:27', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 20:29:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', '1', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_HISTORY +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM_HISTORY" ( + "ID" NUMBER(20,0) NOT NULL, + "FORM_ID" NUMBER(20,0), + "FORM_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "VERSION" NUMBER(11,0), + "CATEGORY_ID" NUMBER(20,0), + "REMARK" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."FORM_ID" IS '表单id'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."NAME" IS '表单名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."VERSION" IS '版本'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_FORM_HISTORY" IS '流程表单'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_HISTORY +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM_THEME" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255) NOT NULL, + "THEME_KEY" NVARCHAR2(255) NOT NULL, + "BORDER_WIDTH" NVARCHAR2(255), + "BORDER_COLOR" NVARCHAR2(255), + "LABEL_COLOR" NVARCHAR2(255), + "LABEL_BG" NVARCHAR2(255), + "LABEL_WIDTH" NVARCHAR2(255), + "LABEL_FONT_SIZE" NVARCHAR2(255), + "VALUE_COLOR" NVARCHAR2(255), + "VALUE_BG" NVARCHAR2(255), + "VALUE_FONT_SIZE" NVARCHAR2(255), + "FIELD0" NVARCHAR2(255), + "FIELD1" NVARCHAR2(255), + "FIELD2" NVARCHAR2(255), + "FIELD3" NVARCHAR2(255), + "FIELD4" NVARCHAR2(255), + "FIELD5" NVARCHAR2(255), + "FIELD6" NVARCHAR2(255), + "FIELD7" NVARCHAR2(255), + "FIELD8" NVARCHAR2(255), + "FIELD9" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."THEME_KEY" IS '主题key'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_WIDTH" IS '边框宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_COLOR" IS '边框颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_COLOR" IS 'label字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_BG" IS 'label背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_WIDTH" IS 'label宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_FONT_SIZE" IS 'label字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_COLOR" IS 'value字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_BG" IS 'value背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_FONT_SIZE" IS 'value字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD0" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD1" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD2" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD3" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD4" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD5" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD6" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD7" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD8" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD9" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_THEME" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_THEME +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1', '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', NULL, '14px', NULL, NULL, '14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:36:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('2', '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:16:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-18 11:50:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('3', '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598821738675201', TO_DATE('2023-04-04 16:57:35', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011945" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011942" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011943" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011944" CHECK ("THEME_KEY" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" + ON "BLADE_WF_FORM_THEME" ("THEME_KEY" ASC); + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_VARIABLE +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_VARIABLE"; +CREATE TABLE "BLADE_WF_FORM_VARIABLE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "TASK_DEF_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "FORM_OPTION" NCLOB, + "FORM_VARIABLE" NCLOB, + "STATUS" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20,0), + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_DEF_KEY" IS '任务节点key'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_NAME" IS '任务节点名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_OPTION" IS '表单js'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_VARIABLE" IS '表单值'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_VARIABLE" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012109" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012108" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Table structure for BLADE_WF_LISTENER +-- ---------------------------- +DROP TABLE "BLADE_WF_LISTENER"; +CREATE TABLE "BLADE_WF_LISTENER" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CATEGORY" NVARCHAR2(255), + "EVENT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CATEGORY" IS '分类'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."EVENT" IS '事件'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TYPE" IS '监听类型'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."VAL" IS '值'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_LISTENER" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011312" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011311" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Table structure for BLADE_WF_MODEL_SCOPE +-- ---------------------------- +CREATE TABLE "BLADE_WF_MODEL_SCOPE" ( + "ID" NUMBER(20,0) NOT NULL, + "MODEL_ID" NVARCHAR2(255), + "MODEL_KEY" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "TEXT" NVARCHAR2(255) +) +; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."MODEL_ID" IS '模型id'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."MODEL_KEY" IS '模型key'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."TYPE" IS '类型 user用户 role角色 dept部门 post职位'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."VAL" IS '用户/角色/部门/职位 id集合'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."TEXT" IS '用户/角色/部门/职位 name集合'; +COMMENT ON TABLE "BLADE_WF_MODEL_SCOPE" IS '流程模型权限'; + +-- ---------------------------- +-- Records of BLADE_WF_MODEL_SCOPE +-- ---------------------------- +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418455767366799361', '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418457955400978434', '0676f2277420b7dc67f69dd3a0ec1164', 'ex-leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418457988913467393', '5b7a367e1139f1ab5cb1e6210685fa91', 'demo-multi-instance', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418458020752429058', 'fb4c1a6a8c4588779a2519a547966846', 'test-default-values', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1429675430591442946', '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1447556025547763714', 'd71049b6ba4eda39cacf9baf984274ac', 'indep-form', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); + +-- ---------------------------- +-- Table structure for BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +CREATE TABLE "BLADE_WF_PROCESS_LEAVE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(64), + "PROCESS_DEF_ID" NVARCHAR2(64), + "CURRENT_NODE" NVARCHAR2(64), + "DATETIME" NVARCHAR2(64), + "DAYS" NUMBER(11,0), + "REASON" NCLOB, + "ATTACHMENT" NCLOB, + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE NOT NULL, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "FORM_KEY" VARCHAR(255), + "FORM_URL" VARCHAR(255) +) +; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_DEF_ID" IS '流程定义id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CURRENT_NODE" IS '当前节点'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DATETIME" IS '时间范围'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DAYS" IS '请假天数'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."REASON" IS '请假理由'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."ATTACHMENT" IS '附件'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_KEY" IS '外置表单key'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_URL" IS '外置表单url'; +COMMENT ON TABLE "BLADE_WF_PROCESS_LEAVE" IS '请假流程业务示例'; + +-- ---------------------------- +-- Table structure for BLADE_WF_PROXY +-- ---------------------------- +CREATE TABLE "BLADE_WF_PROXY" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "PROXY_USER_ID" NUMBER(20,0), + "PROCESS_DEF_KEY" NVARCHAR2(750), + "TYPE" NVARCHAR2(255), + "START_TIME" DATE, + "END_TIME" DATE, + "STATUS" NUMBER(11,0) +) +; +COMMENT ON COLUMN "BLADE_WF_PROXY"."USER_ID" IS '委托人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROXY_USER_ID" IS '代理人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROCESS_DEF_KEY" IS '流程定义key'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."TYPE" IS '1永久 2定时'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."START_TIME" IS '开始时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."END_TIME" IS '结束时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."STATUS" IS '状态'; +COMMENT ON TABLE "BLADE_WF_PROXY" IS '流程代理'; + +-- ---------------------------- +-- Table structure for BLADE_WF_SERIAL +-- ---------------------------- +CREATE TABLE "BLADE_WF_SERIAL" ( + "ID" NUMBER(20,0) NOT NULL, + "DEPLOYMENT_ID" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "PREFIX" NVARCHAR2(255), + "DATE_FORMAT" NVARCHAR2(255), + "SUFFIX_LENGTH" NUMBER(11,0), + "START_SEQUENCE" NUMBER(11,0), + "CONNECTOR" NVARCHAR2(255), + "CURRENT_SEQUENCE" NUMBER(11,0), + "CYCLE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) +; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."DEPLOYMENT_ID" IS '部署id'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."PREFIX" IS '前缀'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."DATE_FORMAT" IS '日期格式化'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."SUFFIX_LENGTH" IS '后缀位数'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."START_SEQUENCE" IS '初始数值'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CONNECTOR" IS '连接符'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CURRENT_SEQUENCE" IS '当前序列'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CYCLE" IS '重置周期 none不重置 day天 week周 month月 year年'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_SERIAL" IS '流程流水号'; + +-- ---------------------------- +-- Records of BLADE_WF_SERIAL +-- ---------------------------- + +-- ---------------------------- +-- Checks structure for table ACT_DE_MODEL +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012501" CHECK ("ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012502" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012503" CHECK ("MODEL_KEY" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012506" CHECK ("ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012507" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012508" CHECK ("MODEL_KEY" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012382" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012364" CHECK ("ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012365" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012366" CHECK ("MODEL_KEY" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012367" CHECK ("MODEL_ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012509" CHECK ("ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012510" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012511" CHECK ("MODEL_KEY" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012512" CHECK ("MODEL_ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_BUTTON +-- ---------------------------- +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012384" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_BUTTON +-- ---------------------------- +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012363" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012513" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CATEGORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012385" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CATEGORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012371" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012514" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CONDITION +-- ---------------------------- +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012386" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CONDITION +-- ---------------------------- +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012372" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012515" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_COPY +-- ---------------------------- +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012387" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_COPY +-- ---------------------------- +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012373" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012516" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012388" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012374" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012517" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_DRAFT +-- ---------------------------- +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012389" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_DRAFT +-- ---------------------------- +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012375" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012518" CHECK ("ID" IS NOT NULL); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI" + ON "BLADE_WF_DRAFT" ("USER_ID", "PROCESS_DEF_ID", "PLATFORM"); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" + ON "BLADE_WF_DRAFT" ("USER_ID", "TASK_ID", "PLATFORM"); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012390" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012376" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012519" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_FORM_KEY" + ON "BLADE_WF_FORM" ("FORM_KEY" ASC, "TENANT_ID" ASC); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012391" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012377" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012520" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_HISTORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012392" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_HISTORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012378" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012521" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_MODEL_SCOPE +-- ---------------------------- +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012393" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_MODEL_SCOPE +-- ---------------------------- +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012379" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012522" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013052" PRIMARY KEY ("ID", "CREATE_TIME"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013050" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013051" CHECK ("CREATE_TIME" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013053" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013049" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_PROXY +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_UNI_PROXY" + ON "BLADE_WF_PROXY" ("USER_ID" ASC, "PROCESS_DEF_KEY" ASC); +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_SERIAL +-- ---------------------------- +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012394" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_SERIAL +-- ---------------------------- +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012380" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012523" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_SERIAL +-- ---------------------------- +CREATE UNIQUE INDEX "UNI" + ON "BLADE_WF_SERIAL" ("DEPLOYMENT_ID" ASC); diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/mysql/bladex_menu.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/mysql/bladex_menu.sql new file mode 100644 index 0000000..7800f5e --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/mysql/bladex_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1164733399669963301, 0, 'workflow', '协同办公', 'menu', '/plugin/workflow', 'iconfont iconicon_send', 5, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347061240995815426, 1164733399669963301, 'wf_design', '流程设计', 'menu', '/plugin/workflow/design', 'iconfont iconicon_work', 1, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347061240995815427, 1347061240995815426, 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/design/model', 'iconfont iconicon_discovery', 1, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590658, 1347061240995815427, 'wf_design_model_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590659, 1347061240995815427, 'wf_design_model_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590660, 1347061240995815427, 'wf_design_model_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590661, 1347061240995815427, 'wf_design_model_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590662, 1347061240995815427, 'wf_design_model_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590663, 1347061240995815427, 'wf_design_model_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590664, 1347061240995815427, 'wf_design_model_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590665, 1347061240995815427, 'wf_design_model_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590666, 1347061240995815427, 'wf_design_model_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590667, 1347061240995815427, 'wf_design_model_deploy', '部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590668, 1347061240995815427, 'wf_design_model_scope', '权限', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590669, 1347061240995815427, 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590670, 1347061240995815427, 'wf_design_model_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590671, 1347061240995815427, 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826049, 1347061240995815426, 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/design/form', 'iconfont icon-biaodan', 2, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826050, 1347083757101826049, 'wf_design_form_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826051, 1347083757101826049, 'wf_design_form_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826052, 1347083757101826049, 'wf_design_form_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826053, 1347083757101826049, 'wf_design_form_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826054, 1347083757101826049, 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826055, 1347083757101826049, 'wf_design_form_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826056, 1347083757101826049, 'wf_design_form_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826057, 1347083757101826049, 'wf_design_form_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826058, 1347083757101826049, 'wf_design_form_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826059, 1347083757101826049, 'wf_design_form_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826060, 1347083757101826049, 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113282, 1347061240995815426, 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/design/deployment', 'iconfont iconicon_cloud_history', 3, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113283, 1347095124710113282, 'wf_design_deployment_status', '修改状态', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113284, 1347095124710113282, 'wf_design_deployment_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113285, 1347095124710113282, 'wf_design_deployment_delete', '删除部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113286, 1347061240995815426, 'wf_design_form_theme', '表单主题', 'menu', '/plugin/workflow/design/form-theme', 'iconfont icon-canshu', 7, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113287, 1347095124710113286, 'wf_design_form_theme_add', '新增', 'add', '', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113288, 1347095124710113286, 'wf_design_form_theme_edit', '修改', 'edit', '', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113289, 1347095124710113286, 'wf_design_form_theme_delete', '删除', 'delete', '', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113290, 1347095124710113286, 'wf_design_form_theme_view', '查看', 'view', '', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114284, 1164733399669963301, 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'iconfont iconicon_notice', 2, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114285, 1347095124710114284, 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/process/start', 'iconfont iconicon_compile', 1, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114286, 1347095124710114285, 'wf_process_start_flow', '发起', 'flow', '', 'flow', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114287, 1347095124710114285, 'wf_process_start_image', '流程图', 'image', '', 'image', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114288, 1347095124710114284, 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/process/claim', 'iconfont iconicon_ding', 5, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114289, 1347095124710114288, 'wf_process_claim_sign', '签收', 'sign', '', 'sign', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114290, 1347095124710114288, 'wf_process_claim_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114291, 1347095124710114288, 'wf_process_claim_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114292, 1347095124710114284, 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/process/todo', 'iconfont iconicon_savememo', 2, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114293, 1347095124710114292, 'wf_process_todo_handle', '办理', 'handle', '', 'handle', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114294, 1347095124710114292, 'wf_process_todo_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114295, 1347095124710114292, 'wf_process_todo_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114296, 1347095124710114284, 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/process/send', 'iconfont iconicon_doc', 3, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114297, 1347095124710114296, 'wf_process_send_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114298, 1347095124710114296, 'wf_process_send_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114299, 1347095124710114284, 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/process/done', 'iconfont iconicon_dispose', 4, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114300, 1347095124710114299, 'wf_process_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114301, 1347095124710114299, 'wf_process_done_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114302, 1347095124710114284, 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/process/my-done', 'iconfont iconicon_dispose', 3, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114303, 1347095124710114302, 'wf_process_my_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114304, 1347095124710114302, 'wf_process_my_done_follow', '跟踪', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114305, 1347095124710114284, 'wf_process_draft', '草稿箱', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114306, 1347095124710114284, 'wf_process_withdraw', '撤销', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114307, 1347095124710114292, 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114308, 1347095124710114296, 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114309, 1347095124710114299, 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114310, 1347095124710114302, 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114311, 1347095124710114288, 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647182434310, 1347061240995815426, 'wf_button', '流程按钮', 'menu', '/plugin/workflow/design/button', NULL, 4, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647182434311, 1394106647182434310, 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647182434312, 1394106647182434310, 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647182434313, 1394106647182434310, 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647182434314, 1394106647182434310, 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647392149511, 1347061240995815426, 'wf_category', '流程分类', 'menu', '/plugin/workflow/design/category', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647392149512, 1394106647392149511, 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647392149513, 1394106647392149511, 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647392149514, 1394106647392149511, 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394106647392149515, 1394106647392149511, 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394657590156206087, 1347095124710114284, 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/process/copy', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394657590156206088, 1394657590156206087, 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394657590156206089, 1394657590156206087, 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394657590156206090, 1394657590156206087, 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1394657590156206091, 1394657590156206087, 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518919, 1347061240995815426, 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/design/form-default-values', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518920, 1399260774324518919, 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518921, 1399260774324518919, 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518922, 1399260774324518919, 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518923, 1399260774324518919, 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518924, 1399260774324518919, 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984966, 1347061240995815426, 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/design/condition', NULL, 6, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984967, 1408263948050984966, 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984968, 1408263948050984966, 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984969, 1408263948050984966, 'wf_condition_delete', '删除', 'delete', '/api/plugin/workflow/design/condition/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984970, 1408263948050984966, 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/design/listener', 'iconfont iconicon_details', 7, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412666776159797249, 1164733399669963301, 'wf_ops', '流程运维', 'menu', '/workflow/ops', 'iconfont iconicon_cspace', 3, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562690, 1412666776159797249, 'wf_ops', '运维调度', 'menu', '/plugin/workflow/ops/index', 'iconfont iconicon_exchange', 1, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562691, 1412667489128562690, 'wf_ops_detail', '详情', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562692, 1412667489128562690, 'wf_ops_follow', '流程图', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562693, 1412667489128562690, 'wf_ops_reject', '驳回', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562694, 1412667489128562690, 'wf_ops_pass', '通过', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562695, 1412667489128562690, 'wf_ops_transfer', '转办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562696, 1412667489128562690, 'wf_ops_delegate', '委托', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562697, 1412667489128562690, 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562698, 1412667489128562690, 'wf_ops_terminate', '终止', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562699, 1412667489128562690, 'wf_ops_copy', '抄送', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562700, 1412667489128562690, 'wf_ops_urge', '催办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562701, 1412667489128562690, 'wf_ops_active', '激活', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562702, 1412667489128562690, 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562703, 1412667489128562690, 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562704, 1412667489128562690, 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562705, 1412667489128562690, 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562706, 1412667489128562690, 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562800, 1412666776159797249, 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/ops/done', 'iconfont iconicon_safety', 1, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562801, 1412666776159797249, 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/ops/list', 'iconfont iconicon_safety', 1, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562802, 1412667489128562801, 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638534, 1412666776159797249, 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/ops/proxy', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638535, 1513394358223638534, 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638536, 1513394358223638534, 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638537, 1513394358223638534, 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638538, 1513394358223638534, 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513683238709682182, 1164733399669963301, 'wf_demo', '业务示例', 'menu', '/plugin/workflow/demo', 'iconfont iconicon_cspace', 4, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513683238709682183, 1513683238709682182, 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/demo/leave/index', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513683238709682184, 1513683238709682182, 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, 4, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513683238709682185, 1164733399669963301, 'statistics', '流程统计', 'menu', '/plugin/workflow/statistics', 'iconfont iconicon_airplay', 4, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513683238709682186, 1513683238709682185, 'wf_statistics', '总览', 'menu', '/plugin/workflow/statistics/index', 'iconfont iconicon_subordinate', 4, 1, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/mysql/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/mysql/bladex_workflow.sql new file mode 100644 index 0000000..1614d19 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/mysql/bladex_workflow.sql @@ -0,0 +1,561 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_DE_MODEL`; +CREATE TABLE `ACT_DE_MODEL` ( + `id` varchar(255) NOT NULL, + `name` varchar(400) NOT NULL COMMENT '名称', + `model_key` varchar(400) NOT NULL COMMENT '模型标识', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单标识', + `category_id` bigint(64) DEFAULT NULL COMMENT '分类id', + `description` varchar(4000) DEFAULT NULL COMMENT '描述', + `model_comment` varchar(4000) DEFAULT NULL COMMENT '评论', + `created` datetime(6) DEFAULT NULL COMMENT '创建时间', + `created_by` varchar(255) DEFAULT NULL COMMENT '创建人', + `last_updated` datetime(6) DEFAULT NULL COMMENT '最后更新时间', + `last_updated_by` varchar(255) DEFAULT NULL COMMENT '最后更新人', + `version` int(11) DEFAULT NULL COMMENT '版本', + `model_xml` longtext COMMENT '模型XML', + `model_editor_json` longtext COMMENT 'flowable-ui编辑器json', + `thumbnail` longblob COMMENT '缩略图', + `model_type` int(11) DEFAULT NULL COMMENT '类型', + `tenant_id` varchar(255) DEFAULT NULL COMMENT '租户id', + `icon` varchar(255) DEFAULT NULL COMMENT '图标', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `WF_IDX_MODEL_KEY` (`model_key`,`tenant_id`), + KEY `idx_proc_mod_created` (`created_by`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程 - 定义 - 模型'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL +-- ---------------------------- +BEGIN; +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('0676f2277420b7dc67f69dd3a0ec1164', '请假流程 - 外置表单', 'ex-leave', 'wf_ex_Leave', NULL, NULL, NULL, '2021-06-08 08:40:51.901000', '1123598821738675201', '2021-10-11 21:19:07.045000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n Flow_1itpbiu\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1itpbiu\n Flow_0eeuztq\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0eeuztq\n Flow_1vu0qon\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1vu0qon\n Flow_1d63z9m\n \n \n \n Flow_1d63z9m\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"ex-leave\",\"name\":\"请假流程 - 外置表单\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1itpbiu\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_1bvvbi2\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1bvvbi2\",\"name\":\"发起人\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"${applyUser}\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0eeuztq\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1itpbiu\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1bvvbi2\"}],\"target\":{\"resourceId\":\"Activity_1bvvbi2\"},\"properties\":{\"overrideid\":\"Flow_1itpbiu\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_0xqgcpk\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0xqgcpk\",\"name\":\"人事\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"candidateUsers\":[{\"value\":\"1123598821738675202\"}]}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1vu0qon\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0eeuztq\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0xqgcpk\"}],\"target\":{\"resourceId\":\"Activity_0xqgcpk\"},\"properties\":{\"overrideid\":\"Flow_0eeuztq\"}},{\"bounds\":{\"lowerRight\":{\"x\":720.0,\"y\":255.0},\"upperLeft\":{\"x\":620.0,\"y\":175.0}},\"resourceId\":\"Activity_0k0fyan\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0k0fyan\",\"name\":\"经理\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"candidateUsers\":[{\"value\":\"1123598821738675203\"}]}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1d63z9m\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1vu0qon\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0k0fyan\"}],\"target\":{\"resourceId\":\"Activity_0k0fyan\"},\"properties\":{\"overrideid\":\"Flow_1vu0qon\"}},{\"bounds\":{\"lowerRight\":{\"x\":808.0,\"y\":233.0},\"upperLeft\":{\"x\":772.0,\"y\":197.0}},\"resourceId\":\"Event_06z26fy\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_06z26fy\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1d63z9m\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_06z26fy\"}],\"target\":{\"resourceId\":\"Event_06z26fy\"},\"properties\":{\"overrideid\":\"Flow_1d63z9m\"}}]}', NULL, 0, '000000'); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`, `icon`) VALUES ('2f6b3b6de24354bb5df5aad3a87789af', '请假流程', 'leave', 'leave', NULL, NULL, NULL, '2021-06-01 22:14:07.363000', '1123598821738675201', '2022-05-16 09:10:49.113000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n Flow_0bz2pj7\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0bz2pj7\n Flow_1pf3fia\n \n \n \n Flow_1pf3fia\n Flow_0of3zct\n Flow_139q6po\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0of3zct\n Flow_1dmv86y\n \n \n ${days<5}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_139q6po\n Flow_1bugorc\n \n \n ${days>=5}\n \n \n Flow_1dmv86y\n Flow_1bugorc\n Flow_0vtl8w4\n \n \n \n \n Flow_0vtl8w4\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"leave\",\"name\":\"请假流程\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0myeljb\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_0u3ywm0\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0u3ywm0\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0bz2pj7\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0myeljb\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0u3ywm0\"}],\"target\":{\"resourceId\":\"Activity_0u3ywm0\"},\"properties\":{\"overrideid\":\"Flow_0myeljb\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_1hmjyx7\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1hmjyx7\",\"name\":\"人事\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1pf3fia\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0bz2pj7\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1hmjyx7\"}],\"target\":{\"resourceId\":\"Activity_1hmjyx7\"},\"properties\":{\"overrideid\":\"Flow_0bz2pj7\"}},{\"bounds\":{\"lowerRight\":{\"x\":675.0,\"y\":240.0},\"upperLeft\":{\"x\":625.0,\"y\":190.0}},\"resourceId\":\"Gateway_1qc70vy\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_1qc70vy\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0of3zct\"},{\"resourceId\":\"Flow_139q6po\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1pf3fia\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_1qc70vy\"}],\"target\":{\"resourceId\":\"Gateway_1qc70vy\"},\"properties\":{\"overrideid\":\"Flow_1pf3fia\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":150.0},\"upperLeft\":{\"x\":730.0,\"y\":70.0}},\"resourceId\":\"Activity_1r4xgdo\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1r4xgdo\",\"name\":\"经理\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1dmv86y\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0of3zct\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":110.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1r4xgdo\"}],\"target\":{\"resourceId\":\"Activity_1r4xgdo\"},\"properties\":{\"overrideid\":\"Flow_0of3zct\",\"name\":\"小于5天\",\"conditionsequenceflow\":\"${days<5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":370.0},\"upperLeft\":{\"x\":730.0,\"y\":290.0}},\"resourceId\":\"Activity_1bt0gzy\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1bt0gzy\",\"name\":\"老板\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1bugorc\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_139q6po\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":330.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1bt0gzy\"}],\"target\":{\"resourceId\":\"Activity_1bt0gzy\"},\"properties\":{\"overrideid\":\"Flow_139q6po\",\"name\":\"大于5天\",\"conditionsequenceflow\":\"${days>=5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":925.0,\"y\":240.0},\"upperLeft\":{\"x\":875.0,\"y\":190.0}},\"resourceId\":\"Gateway_0ciyfci\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0ciyfci\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0vtl8w4\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1dmv86y\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":110.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1dmv86y\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1bugorc\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":330.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1bugorc\"}},{\"bounds\":{\"lowerRight\":{\"x\":1028.0,\"y\":233.0},\"upperLeft\":{\"x\":992.0,\"y\":197.0}},\"resourceId\":\"Event_1j9xjra\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_1j9xjra\",\"name\":\"结束\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0vtl8w4\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_1j9xjra\"}],\"target\":{\"resourceId\":\"Event_1j9xjra\"},\"properties\":{\"overrideid\":\"Flow_0vtl8w4\"}}]}', NULL, 0, '000000', NULL); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('5b7a367e1139f1ab5cb1e6210685fa91', '多实例示例', 'demo-multi-instance', 'demo-test', NULL, NULL, NULL, '2021-06-25 20:35:27.522000', '1123598821738675201', '2021-06-25 21:12:43.852000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n Flow_1i5g9nh\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1i5g9nh\n Flow_15l5hak\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_15l5hak\n Flow_0afq5tt\n \n ${nrOfCompletedInstances/nrOfInstances >= 0.5}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0afq5tt\n Flow_0dera7k\n \n ${nrOfCompletedInstances/nrOfInstances >= 1}\n \n \n \n \n Flow_0dera7k\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"demo-multi-instance\",\"name\":\"多实例示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1i5g9nh\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_0srhxhz\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0srhxhz\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_15l5hak\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1i5g9nh\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0srhxhz\"}],\"target\":{\"resourceId\":\"Activity_0srhxhz\"},\"properties\":{\"overrideid\":\"Flow_1i5g9nh\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_1qj1out\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1qj1out\",\"name\":\"多实例(串行)\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"${assignee}\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"multiinstance_type\":\"Sequential\",\"multiinstance_collection\":\"${wfMultiInstanceHandler.getList(execution)}\",\"multiinstance_variable\":\"assignee\",\"multiinstance_condition\":\"${nrOfCompletedInstances/nrOfInstances >= 0.5}\",\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0afq5tt\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_15l5hak\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1qj1out\"}],\"target\":{\"resourceId\":\"Activity_1qj1out\"},\"properties\":{\"overrideid\":\"Flow_15l5hak\"}},{\"bounds\":{\"lowerRight\":{\"x\":720.0,\"y\":255.0},\"upperLeft\":{\"x\":620.0,\"y\":175.0}},\"resourceId\":\"Activity_0oh31om\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0oh31om\",\"name\":\"多实例(并行)\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"${assignee}\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"multiinstance_type\":\"Parallel\",\"multiinstance_collection\":\"${wfMultiInstanceHandler.getList(execution)}\",\"multiinstance_variable\":\"assignee\",\"multiinstance_condition\":\"${nrOfCompletedInstances/nrOfInstances >= 1}\",\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0dera7k\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0afq5tt\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0oh31om\"}],\"target\":{\"resourceId\":\"Activity_0oh31om\"},\"properties\":{\"overrideid\":\"Flow_0afq5tt\"}},{\"bounds\":{\"lowerRight\":{\"x\":808.0,\"y\":233.0},\"upperLeft\":{\"x\":772.0,\"y\":197.0}},\"resourceId\":\"Event_02858i0\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_02858i0\",\"name\":\"结束\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0dera7k\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_02858i0\"}],\"target\":{\"resourceId\":\"Event_02858i0\"},\"properties\":{\"overrideid\":\"Flow_0dera7k\"}}]}', NULL, 0, '000000'); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('617167d80b6051708484bbedfb72a137', '人员/流转调用自定义方法示例', 'demo-custom-method', 'demo-test', NULL, '人员/流转调用自定义方法示例', NULL, '2021-11-29 09:42:20.068000', '1123598821738675201', '2021-12-01 19:18:18.463000', '1123598821738675201', 1, '\n\n \n 人员/流转调用自定义方法示例\n \n \n \n \n Flow_0yhobgw\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0yhobgw\n Flow_1t6zwdf\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1t6zwdf\n Flow_0kxxs74\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kxxs74\n Flow_01h467o\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kdt4xu\n Flow_1x5wxzy\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0jw1ae2\n Flow_00r5t9o\n \n \n Flow_1fun2ye\n \n \n Flow_01h467o\n Flow_0kdt4xu\n Flow_0jw1ae2\n \n \n \n ${wfCustomUserHandler.condition(execution, \'对\')}\n \n \n ${wfCustomUserHandler.condition(execution, \'错\')}\n \n \n Flow_1x5wxzy\n Flow_00r5t9o\n Flow_1fun2ye\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"demo-custom-method\",\"name\":\"人员/流转调用自定义方法示例\",\"documentation\":\"人员/流转调用自定义方法示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":276.0,\"y\":236.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0yhobgw\"}]},{\"bounds\":{\"lowerRight\":{\"x\":430.0,\"y\":258.0},\"upperLeft\":{\"x\":330.0,\"y\":178.0}},\"resourceId\":\"Activity_06t0e98\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_06t0e98\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1t6zwdf\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0yhobgw\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":18.0,\"y\":18.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_06t0e98\"}],\"target\":{\"resourceId\":\"Activity_06t0e98\"},\"properties\":{\"overrideid\":\"Flow_0yhobgw\"}},{\"bounds\":{\"lowerRight\":{\"x\":590.0,\"y\":258.0},\"upperLeft\":{\"x\":490.0,\"y\":178.0}},\"resourceId\":\"Activity_07ghy8s\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_07ghy8s\",\"name\":\"方式1\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0kxxs74\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1t6zwdf\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_07ghy8s\"}],\"target\":{\"resourceId\":\"Activity_07ghy8s\"},\"properties\":{\"overrideid\":\"Flow_1t6zwdf\"}},{\"bounds\":{\"lowerRight\":{\"x\":750.0,\"y\":258.0},\"upperLeft\":{\"x\":650.0,\"y\":178.0}},\"resourceId\":\"Activity_10810pv\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_10810pv\",\"name\":\"方式2\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_01h467o\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0kxxs74\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_10810pv\"}],\"target\":{\"resourceId\":\"Activity_10810pv\"},\"properties\":{\"overrideid\":\"Flow_0kxxs74\"}},{\"bounds\":{\"lowerRight\":{\"x\":1010.0,\"y\":130.0},\"upperLeft\":{\"x\":910.0,\"y\":50.0}},\"resourceId\":\"Activity_1i46ta4\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1i46ta4\",\"name\":\"方式3\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1x5wxzy\"}]},{\"bounds\":{\"lowerRight\":{\"x\":1010.0,\"y\":400.0},\"upperLeft\":{\"x\":910.0,\"y\":320.0}},\"resourceId\":\"Activity_03trwm6\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_03trwm6\",\"name\":\"方式4\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_00r5t9o\"}]},{\"bounds\":{\"lowerRight\":{\"x\":1178.0,\"y\":236.0},\"upperLeft\":{\"x\":1142.0,\"y\":200.0}},\"resourceId\":\"Event_0uefnoo\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_0uefnoo\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":865.0,\"y\":243.0},\"upperLeft\":{\"x\":815.0,\"y\":193.0}},\"resourceId\":\"Gateway_0mtj57e\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0mtj57e\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0kdt4xu\"},{\"resourceId\":\"Flow_0jw1ae2\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_01h467o\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0mtj57e\"}],\"target\":{\"resourceId\":\"Gateway_0mtj57e\"},\"properties\":{\"overrideid\":\"Flow_01h467o\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0kdt4xu\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":840.0,\"y\":90.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1i46ta4\"}],\"target\":{\"resourceId\":\"Activity_1i46ta4\"},\"properties\":{\"overrideid\":\"Flow_0kdt4xu\",\"conditionsequenceflow\":\"${wfCustomUserHandler.condition(execution, \'对\')}\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0jw1ae2\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":840.0,\"y\":360.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_03trwm6\"}],\"target\":{\"resourceId\":\"Activity_03trwm6\"},\"properties\":{\"overrideid\":\"Flow_0jw1ae2\",\"conditionsequenceflow\":\"${wfCustomUserHandler.condition(execution, \'错\')}\"}},{\"bounds\":{\"lowerRight\":{\"x\":1105.0,\"y\":243.0},\"upperLeft\":{\"x\":1055.0,\"y\":193.0}},\"resourceId\":\"Gateway_0ha0m7b\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0ha0m7b\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1fun2ye\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1x5wxzy\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":1080.0,\"y\":90.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ha0m7b\"}],\"target\":{\"resourceId\":\"Gateway_0ha0m7b\"},\"properties\":{\"overrideid\":\"Flow_1x5wxzy\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1fun2ye\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_0uefnoo\"}],\"target\":{\"resourceId\":\"Event_0uefnoo\"},\"properties\":{\"overrideid\":\"Flow_1fun2ye\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_00r5t9o\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":1080.0,\"y\":360.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ha0m7b\"}],\"target\":{\"resourceId\":\"Gateway_0ha0m7b\"},\"properties\":{\"overrideid\":\"Flow_00r5t9o\"}}]}', NULL, 0, '000000'); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('89d9c299dfed64a7834fdb7caccc913f', '字段联动', 'field-linkage', 'field-linkage', NULL, '表单字段联动示例', NULL, '2021-08-23 13:22:16.481000', '1123598821738675201', '2021-08-23 13:25:32.180000', '1123598821738675201', 1, '\n\n \n 表单字段联动示例\n \n \n \n \n \n \n \n Flow_0ij25wf\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0ij25wf\n Flow_0vq4xed\n \n \n \n Flow_0vq4xed\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"field-linkage\",\"name\":\"字段联动\",\"documentation\":\"表单字段联动示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":276.0,\"y\":236.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1629695558953_19833\",\"name\":\"控制显隐\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"input\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1629695859796_23456\",\"name\":\"值改变\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"input2\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0ij25wf\"}]},{\"bounds\":{\"lowerRight\":{\"x\":430.0,\"y\":258.0},\"upperLeft\":{\"x\":330.0,\"y\":178.0}},\"resourceId\":\"Activity_1tlsc5z\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1tlsc5z\",\"name\":\"1\",\"formproperties\":{\"formProperties\":[{\"id\":\"1629695558953_19833\",\"name\":\"控制显隐\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"input\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1629695859796_23456\",\"name\":\"值改变\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"input2\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0vq4xed\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0ij25wf\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":18.0,\"y\":18.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1tlsc5z\"}],\"target\":{\"resourceId\":\"Activity_1tlsc5z\"},\"properties\":{\"overrideid\":\"Flow_0ij25wf\"}},{\"bounds\":{\"lowerRight\":{\"x\":528.0,\"y\":236.0},\"upperLeft\":{\"x\":492.0,\"y\":200.0}},\"resourceId\":\"Event_1ettf2b\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_1ettf2b\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0vq4xed\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_1ettf2b\"}],\"target\":{\"resourceId\":\"Event_1ettf2b\"},\"properties\":{\"overrideid\":\"Flow_0vq4xed\"}}]}', NULL, 0, '000000'); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('d71049b6ba4eda39cacf9baf984274ac', '节点独立表单示例', 'indep-form', 'wf_indep_default-value', NULL, NULL, NULL, '2021-10-11 21:32:41.567000', '1123598821738675201', '2021-10-11 21:32:41.567000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0u2w7hr\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0u2w7hr\n Flow_1gfy6oq\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1gfy6oq\n Flow_016wlba\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_016wlba\n Flow_1omx17n\n \n \n \n Flow_1omx17n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"indep-form\",\"name\":\"节点独立表单示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":276.0,\"y\":236.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1622472547203_21841\",\"name\":\"人事姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553629767_65211\",\"name\":\"人事职位\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472547375_86557\",\"name\":\"人事部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553629949_3168\",\"name\":\"当前日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553631752_15562\",\"name\":\"当前时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553691156_69886\",\"name\":\"人事姓名和日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472547780_5707\",\"name\":\"经理姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472547975_90560\",\"name\":\"经理部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472548372_60141\",\"name\":\"老板姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472548560_32474\",\"name\":\"老板部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0u2w7hr\"}]},{\"bounds\":{\"lowerRight\":{\"x\":430.0,\"y\":258.0},\"upperLeft\":{\"x\":330.0,\"y\":178.0}},\"resourceId\":\"Activity_0a06fpe\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0a06fpe\",\"name\":\"节点1\",\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1gfy6oq\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0u2w7hr\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":18.0,\"y\":18.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0a06fpe\"}],\"target\":{\"resourceId\":\"Activity_0a06fpe\"},\"properties\":{\"overrideid\":\"Flow_0u2w7hr\"}},{\"bounds\":{\"lowerRight\":{\"x\":590.0,\"y\":258.0},\"upperLeft\":{\"x\":490.0,\"y\":178.0}},\"resourceId\":\"Activity_0k3kp91\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0k3kp91\",\"name\":\"节点2\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_016wlba\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1gfy6oq\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0k3kp91\"}],\"target\":{\"resourceId\":\"Activity_0k3kp91\"},\"properties\":{\"overrideid\":\"Flow_1gfy6oq\"}},{\"bounds\":{\"lowerRight\":{\"x\":750.0,\"y\":258.0},\"upperLeft\":{\"x\":650.0,\"y\":178.0}},\"resourceId\":\"Activity_1yv7km2\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1yv7km2\",\"name\":\"汇总\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1omx17n\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_016wlba\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1yv7km2\"}],\"target\":{\"resourceId\":\"Activity_1yv7km2\"},\"properties\":{\"overrideid\":\"Flow_016wlba\"}},{\"bounds\":{\"lowerRight\":{\"x\":848.0,\"y\":236.0},\"upperLeft\":{\"x\":812.0,\"y\":200.0}},\"resourceId\":\"Event_1vr1neq\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_1vr1neq\",\"name\":\"结束\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1omx17n\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_1vr1neq\"}],\"target\":{\"resourceId\":\"Event_1vr1neq\"},\"properties\":{\"overrideid\":\"Flow_1omx17n\"}}]}', NULL, 0, '000000'); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('fb4c1a6a8c4588779a2519a547966846', '测试默认值', 'test-default-values', 'default-value', NULL, NULL, NULL, '2021-05-31 21:39:46.545000', '1123598821738675201', '2021-07-23 14:22:04.176000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0c932wc\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0c932wc\n Flow_042y9oy\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_042y9oy\n Flow_0c47aum\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0c47aum\n Flow_1ehhsly\n \n \n \n Flow_1ehhsly\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"test-default-values\",\"name\":\"测试默认值\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1622472547203_21841\",\"name\":\"人事姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553629767_65211\",\"name\":\"人事职位\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472547375_86557\",\"name\":\"人事部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553629949_3168\",\"name\":\"当前日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553631752_15562\",\"name\":\"当前时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553691156_69886\",\"name\":\"人事姓名和日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472547780_5707\",\"name\":\"经理姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472547975_90560\",\"name\":\"经理部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472548372_60141\",\"name\":\"老板姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472548560_32474\",\"name\":\"老板部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0c932wc\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_0p2hxfq\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0p2hxfq\",\"name\":\"人事\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"1123598821738675201\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"1622472547203_21841\",\"name\":\"人事姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553629767_65211\",\"name\":\"人事职位\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472547375_86557\",\"name\":\"人事部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553629949_3168\",\"name\":\"当前日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553631752_15562\",\"name\":\"当前时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553691156_69886\",\"name\":\"人事姓名和日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472547780_5707\",\"name\":\"经理姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472547975_90560\",\"name\":\"经理部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472548372_60141\",\"name\":\"老板姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472548560_32474\",\"name\":\"老板部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_042y9oy\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0c932wc\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0p2hxfq\"}],\"target\":{\"resourceId\":\"Activity_0p2hxfq\"},\"properties\":{\"overrideid\":\"Flow_0c932wc\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_0p0q6jd\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0p0q6jd\",\"name\":\"经理\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"1123598821738675203\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"1622472547203_21841\",\"name\":\"人事姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553629767_65211\",\"name\":\"人事职位\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472547375_86557\",\"name\":\"人事部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553629949_3168\",\"name\":\"当前日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553631752_15562\",\"name\":\"当前时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553691156_69886\",\"name\":\"人事姓名和日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472547780_5707\",\"name\":\"经理姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472547975_90560\",\"name\":\"经理部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472548372_60141\",\"name\":\"老板姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472548560_32474\",\"name\":\"老板部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0c47aum\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_042y9oy\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0p0q6jd\"}],\"target\":{\"resourceId\":\"Activity_0p0q6jd\"},\"properties\":{\"overrideid\":\"Flow_042y9oy\"}},{\"bounds\":{\"lowerRight\":{\"x\":720.0,\"y\":255.0},\"upperLeft\":{\"x\":620.0,\"y\":175.0}},\"resourceId\":\"Activity_1dj1hpj\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1dj1hpj\",\"name\":\"老板\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"1123598821738675204\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"1622472547203_21841\",\"name\":\"人事姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553629767_65211\",\"name\":\"人事职位\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472547375_86557\",\"name\":\"人事部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553629949_3168\",\"name\":\"当前日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553631752_15562\",\"name\":\"当前时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622553691156_69886\",\"name\":\"人事姓名和日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472547780_5707\",\"name\":\"经理姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472547975_90560\",\"name\":\"经理部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"1622472548372_60141\",\"name\":\"老板姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472548560_32474\",\"name\":\"老板部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1ehhsly\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0c47aum\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1dj1hpj\"}],\"target\":{\"resourceId\":\"Activity_1dj1hpj\"},\"properties\":{\"overrideid\":\"Flow_0c47aum\"}},{\"bounds\":{\"lowerRight\":{\"x\":808.0,\"y\":233.0},\"upperLeft\":{\"x\":772.0,\"y\":197.0}},\"resourceId\":\"Event_03anpp1\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_03anpp1\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1ehhsly\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_03anpp1\"}],\"target\":{\"resourceId\":\"Event_03anpp1\"},\"properties\":{\"overrideid\":\"Flow_1ehhsly\"}}]}', NULL, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL_HISTORY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_DE_MODEL_HISTORY`; +CREATE TABLE `ACT_DE_MODEL_HISTORY` ( + `id` varchar(255) NOT NULL, + `name` varchar(400) NOT NULL COMMENT '名称', + `model_key` varchar(400) NOT NULL COMMENT '模型标识', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单标识', + `category_id` bigint(64) DEFAULT NULL COMMENT '分类id', + `description` varchar(4000) DEFAULT NULL COMMENT '描述', + `model_comment` varchar(4000) DEFAULT NULL COMMENT '注释', + `created` datetime(6) DEFAULT NULL COMMENT '创建时间', + `created_by` varchar(255) DEFAULT NULL COMMENT '创建人', + `last_updated` datetime(6) DEFAULT NULL COMMENT '最后更新时间', + `last_updated_by` varchar(255) DEFAULT NULL COMMENT '最后更新人', + `removal_date` datetime(6) DEFAULT NULL COMMENT '移除时间', + `version` int(11) DEFAULT NULL COMMENT '版本', + `model_xml` longtext COMMENT '模型XML', + `model_editor_json` longtext COMMENT 'flowable-ui编辑器json', + `model_id` varchar(255) NOT NULL COMMENT 'modelId', + `model_type` int(11) DEFAULT NULL COMMENT '类型', + `tenant_id` varchar(255) DEFAULT NULL COMMENT '租户id', + `icon` varchar(255) DEFAULT NULL COMMENT '图标', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_proc_mod_history_proc` (`model_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程 - 定义 - 模型历史'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL_HISTORY +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_button +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_button`; +CREATE TABLE `blade_wf_button` ( + `id` bigint(64) NOT NULL, + `button_key` varchar(255) DEFAULT NULL COMMENT '按钮key', + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `display` tinyint(1) DEFAULT NULL COMMENT '默认是否显示', + `sort` int(11) DEFAULT NULL COMMENT '排序', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程按钮'; + +-- ---------------------------- +-- Records of blade_wf_button +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394176899911041025, 'wf_pass', '通过', 1, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 14:24:10', 1123598821738675201, '2021-05-16 14:24:10', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394177198465794050, 'wf_reject', '驳回', 1, 2, 1123598821738675201, 1123598813738675201, '2021-05-16 14:25:21', 1123598821738675201, '2021-05-16 14:25:21', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394179125421326337, 'wf_print', '打印', 1, 3, 1123598821738675201, 1123598813738675201, '2021-05-16 14:33:01', 1123598821738675201, '2021-05-16 14:33:01', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394609969089761281, 'wf_transfer', '转办', 1, 4, 1123598821738675201, 1123598813738675201, '2021-05-16 19:05:02', 1123598821738675201, '2021-05-16 19:05:02', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394610036672581634, 'wf_delegate', '委托', 1, 5, 1123598821738675201, 1123598813738675201, '2021-05-16 19:05:18', 1123598821738675201, '2021-05-16 19:05:18', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1395271519601426433, 'wf_terminate', '终止', 1, 6, 1123598821738675201, 1123598813738675201, '2021-05-20 14:53:48', 1123598821738675201, '2021-05-20 14:53:48', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1395274709692579841, 'wf_add_instance', '加签', 1, 7, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:28', 1123598821738675201, '2021-05-20 15:06:28', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1395274774674931713, 'wf_del_instance', '减签', 1, 8, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:44', 1123598821738675201, '2021-05-20 15:06:44', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1395274955986305025, 'wf_rollback', '指定回退', 1, 9, 1123598821738675201, 1123598813738675201, '2021-05-20 15:07:27', 1123598821738675201, '2021-05-20 15:07:27', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_category +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_category`; +CREATE TABLE `blade_wf_category` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '分类名称', + `pid` bigint(64) DEFAULT '0' COMMENT '上级id', + `sort` int(11) DEFAULT NULL COMMENT '排序', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程分类'; + +-- ---------------------------- +-- Records of blade_wf_category +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_category` (`id`, `name`, `pid`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394133715940073474, '请假流程', 0, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 11:32:34', 1123598821738675201, '2021-06-25 20:37:49', '1', 0, '000000'); +INSERT INTO `blade_wf_category` (`id`, `name`, `pid`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394158934813609986, '财务流程', 0, 2, 1123598821738675201, 1123598813738675201, '2021-05-16 13:12:47', 1123598821738675201, '2021-05-16 13:13:07', '1', 0, '000000'); +INSERT INTO `blade_wf_category` (`id`, `name`, `pid`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394159147934584833, '报销流程', 1394158934813609986, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 13:13:38', 1123598821738675201, '2021-05-16 13:13:38', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_condition +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_condition`; +CREATE TABLE `blade_wf_condition` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `expression` varchar(255) DEFAULT NULL COMMENT '表达式', + `type` varchar(255) DEFAULT NULL COMMENT '类型', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_EXPRESSION` (`expression`,`type`,`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表达式'; + +-- ---------------------------- +-- Records of blade_wf_condition +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_condition` (`id`, `name`, `expression`, `type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408267023015739393, '流程发起人', 'applyUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:17', 1123598821738675201, '2021-06-25 11:33:17', '1', 0, '000000'); +INSERT INTO `blade_wf_condition` (`id`, `name`, `expression`, `type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408267100878798850, '当前操作人', 'currentUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:36', 1123598821738675201, '2021-06-25 11:33:36', '1', 0, '000000'); +INSERT INTO `blade_wf_condition` (`id`, `name`, `expression`, `type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408305933398896641, '上级部门领导', 'leader', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 14:07:54', 1123598821738675201, '2021-06-25 14:07:54', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_copy +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_copy`; +CREATE TABLE `blade_wf_copy` ( + `id` bigint(64) NOT NULL, + `user_id` bigint(64) DEFAULT NULL COMMENT '用户id', + `title` varchar(255) DEFAULT NULL COMMENT '标题', + `initiator` varchar(255) DEFAULT NULL COMMENT '发起者', + `task_id` varchar(255) DEFAULT NULL COMMENT '任务id', + `process_id` varchar(255) DEFAULT NULL COMMENT '流程实例id', + `deployment_id` varchar(255) DEFAULT NULL COMMENT '流程部署id', + `form_key` varchar(255) DEFAULT NULL COMMENT '外置表单key', + `form_url` varchar(255) DEFAULT NULL COMMENT '外置表单url', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程抄送'; + +-- ---------------------------- +-- Records of blade_wf_copy +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_deployment_form +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_deployment_form`; +CREATE TABLE `blade_wf_deployment_form` ( + `id` bigint(64) NOT NULL, + `deployment_id` varchar(255) DEFAULT NULL COMMENT '流程部署id', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单key', + `content` longtext COMMENT '表单内容', + `app_content` longtext COMMENT 'app表单内容', + `task_key` varchar(255) DEFAULT NULL COMMENT '节点key', + `task_name` varchar(255) DEFAULT NULL COMMENT '节点名称', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程部署 - 表单'; + +-- ---------------------------- +-- Records of blade_wf_deployment_form +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_draft +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_draft`; +CREATE TABLE `blade_wf_draft` ( + `id` bigint(64) NOT NULL, + `user_id` bigint(64) DEFAULT NULL COMMENT '用户id', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单key', + `process_def_id` varchar(255) DEFAULT NULL COMMENT '流程定义id', + `task_id` varchar(255) DEFAULT NULL COMMENT '任务id', + `variables` text COMMENT '表单变量', + `platform` varchar(255) DEFAULT NULL COMMENT '平台 pc/app', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_DRAFT_UNI` (`user_id`,`process_def_id`,`platform`) USING BTREE, + UNIQUE KEY `WF_IDX_DRAFT_UNI2` (`user_id`,`task_id`,`platform`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程草稿箱'; + +-- ---------------------------- +-- Records of blade_wf_draft +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form`; +CREATE TABLE `blade_wf_form` ( + `id` bigint(64) NOT NULL, + `form_key` varchar(255) DEFAULT NULL COMMENT '表单key', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '表单名称', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '表单内容', + `app_content` longtext COMMENT 'app表单内容', + `version` int(11) DEFAULT NULL COMMENT '版本', + `category_id` bigint(64) DEFAULT NULL COMMENT '分类id', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_FORM_KEY` (`form_key`,`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单'; + +-- ---------------------------- +-- Records of blade_wf_form +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399359377009377281, 'default-value', '测试默认值', '{column:[{type:\'input\',label:\'人事姓名\',span:24,display:true,prop:\'1622472547203_21841\',value:\'${this.$store.getters.userInfo.nick_name}\'},{type:\'input\',label:\'人事职位\',span:24,display:true,prop:\'1622553629767_65211\',value:\'${this.$store.getters.userInfo.post_name}\'},{type:\'input\',label:\'人事部门\',span:24,display:true,prop:\'1622472547375_86557\',value:\'${this.$store.getters.userInfo.dept_name}\'},{type:\'input\',label:\'当前日期\',span:24,display:true,prop:\'1622553629949_3168\',value:\'${this.dateFormat(new Date(),\\\"yyyy-MM-dd\\\")}\'},{type:\'input\',label:\'当前时间\',span:24,display:true,prop:\'1622553631752_15562\',value:\'${this.dateFormat(new Date(),\\\"hh:mm:ss\\\")}\'},{type:\'input\',label:\'人事姓名和日期\',span:24,display:true,prop:\'1622553691156_69886\',value:\'${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\\\"yyyy-MM-dd\\\")}\'},{type:\'input\',label:\'经理姓名\',span:24,display:true,prop:\'1622472547780_5707\',value:\'${this.$store.getters.userInfo.nick_name}\'},{type:\'input\',label:\'经理部门\',span:24,display:true,prop:\'1622472547975_90560\',value:\'${this.$store.getters.userInfo.dept_name}\'},{type:\'input\',label:\'老板姓名\',span:24,display:true,prop:\'1622472548372_60141\',value:\'${this.$store.getters.userInfo.nick_name}\'},{type:\'input\',label:\'老板部门\',span:24,display:true,prop:\'1622472548560_32474\',value:\'${this.$store.getters.userInfo.dept_name}\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"input\",\"label\":\"人事姓名\",\"span\":24,\"display\":true,\"prop\":\"1622472547203_21841\",\"value\":\"${this.$store.getters.userInfo.nick_name}\"},{\"type\":\"input\",\"label\":\"人事职位\",\"span\":24,\"display\":true,\"prop\":\"1622553629767_65211\",\"value\":\"${this.$store.getters.userInfo.post_name}\"},{\"type\":\"input\",\"label\":\"人事部门\",\"span\":24,\"display\":true,\"prop\":\"1622472547375_86557\",\"value\":\"${this.$store.getters.userInfo.dept_name}\"},{\"type\":\"input\",\"label\":\"当前日期\",\"span\":24,\"display\":true,\"prop\":\"1622553629949_3168\",\"value\":\"${this.dateFormat(new Date(),\\\"yyyy-MM-dd\\\")}\"},{\"type\":\"input\",\"label\":\"当前时间\",\"span\":24,\"display\":true,\"prop\":\"1622553631752_15562\",\"value\":\"${this.dateFormat(new Date(),\\\"hh:mm:ss\\\")}\"},{\"type\":\"input\",\"label\":\"人事姓名和日期\",\"span\":24,\"display\":true,\"prop\":\"1622553691156_69886\",\"value\":\"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\\\"yyyy-MM-dd\\\")}\"},{\"type\":\"input\",\"label\":\"经理姓名\",\"span\":24,\"display\":true,\"prop\":\"1622472547780_5707\",\"value\":\"${this.$store.getters.userInfo.nick_name}\"},{\"type\":\"input\",\"label\":\"经理部门\",\"span\":24,\"display\":true,\"prop\":\"1622472547975_90560\",\"value\":\"${this.$store.getters.userInfo.dept_name}\"},{\"type\":\"input\",\"label\":\"老板姓名\",\"span\":24,\"display\":true,\"prop\":\"1622472548372_60141\",\"value\":\"${this.$store.getters.userInfo.nick_name}\"},{\"type\":\"input\",\"label\":\"老板部门\",\"span\":24,\"display\":true,\"prop\":\"1622472548560_32474\",\"value\":\"${this.$store.getters.userInfo.dept_name}\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":140,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, -1, '', 1123598821738675201, 1123598813738675201, '2021-05-31 21:37:29', 1123598821738675201, '2021-11-01 09:08:05', 1, 0, '000000'); +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399729025840140290, 'leave', '请假流程表单', '{column:[{type:\'input\',label:\'创建人\',span:12,display:true,prop:\'creator\',value:\'${this.$store.getters.userInfo.nick_name}\',readonly:true},{type:\'input\',label:\'创建部门\',span:12,display:true,prop:\'creatorDept\',value:\'${this.$store.getters.userInfo.dept_name}\',readonly:true},{type:\'datetimerange\',label:\'请假时间\',span:12,display:true,format:\'yyyy-MM-dd HH:mm:ss\',valueFormat:\'yyyy-MM-dd HH:mm:ss\',prop:\'datetime\',required:true,rules:[{required:true,message:\'请假时间必须填写\'}],change:({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, \'days\', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split(\',\')[0])\r\n const d2 = Date.parse(value.split(\',\')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\r\n }\r\n},dataType:\'string\'},{type:\'number\',label:\'请假天数\',span:12,display:true,prop:\'days\',required:true,rules:[{required:true,message:\'请假天数必须填写\'}],controls:true,controlsPosition:\'right\',change:({value}) => {\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\n else this.$set(this.form, \'reason\', \'\')\n}},{type:\'textarea\',label:\'请假理由\',span:24,display:true,prop:\'reason\',required:true,rules:[{required:true,message:\'请假理由必须填写\'}]},{label:\'附件\',type:\'upload\',propsHttp:{res:\'data\',url:\'link\',name:\'originalName\'},action:\'/api/blade-resource/oss/endpoint/put-file\',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:\'attachment\',dataType:\'string\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"input\",\"label\":\"创建人\",\"span\":12,\"display\":true,\"prop\":\"creator\",\"value\":\"${this.$store.getters.userInfo.nick_name}\",\"readonly\":true},{\"type\":\"input\",\"label\":\"创建部门\",\"span\":12,\"display\":true,\"prop\":\"creatorDept\",\"value\":\"${this.$store.getters.userInfo.dept_name}\",\"readonly\":true},{\"type\":\"datetimerange\",\"label\":\"请假时间\",\"span\":12,\"display\":true,\"format\":\"yyyy-MM-dd HH:mm:ss\",\"valueFormat\":\"yyyy-MM-dd HH:mm:ss\",\"prop\":\"datetime\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假时间必须填写\"}],\"change\":\"({value}) => {\\r\\n if (!value || value.length == 0) {\\r\\n this.$set(this.form, \'days\', undefined)\\r\\n } else {\\r\\n const d1 = Date.parse(value.split(\',\')[0])\\r\\n const d2 = Date.parse(value.split(\',\')[1])\\r\\n const day = (d2-d1)/(1*24*60*60*1000)\\r\\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\\r\\n }\\r\\n}\",\"dataType\":\"string\"},{\"type\":\"number\",\"label\":\"请假天数\",\"span\":12,\"display\":true,\"prop\":\"days\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假天数必须填写\"}],\"controls\":true,\"controlsPosition\":\"right\",\"change\":\"({value}) => {\\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\\n else this.$set(this.form, \'reason\', \'\')\\n}\"},{\"type\":\"textarea\",\"label\":\"请假理由\",\"span\":24,\"display\":true,\"prop\":\"reason\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假理由必须填写\"}]},{\"label\":\"附件\",\"type\":\"upload\",\"propsHttp\":{\"res\":\"data\",\"url\":\"link\",\"name\":\"originalName\"},\"action\":\"/api/blade-resource/oss/endpoint/put-file\",\"display\":true,\"span\":24,\"showFileList\":true,\"multiple\":true,\"limit\":10,\"prop\":\"attachment\",\"dataType\":\"string\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, -1, '', 1123598821738675201, 1123598813738675201, '2021-06-01 22:06:20', 1123598821738675201, '2022-04-12 10:27:07', 1, 0, '000000'); +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408402768310304770, 'demo-test', '测试简单表单', '{column:[{type:\'input\',label:\'单行文本\',span:24,display:true,prop:\'1624624365132_23209\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"input\",\"label\":\"单行文本\",\"span\":24,\"display\":true,\"prop\":\"1624624365132_23209\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, -1, '', 1123598821738675201, 1123598813738675201, '2021-06-25 20:32:41', 1123598821738675201, '2021-11-01 09:08:09', 1, 0, '000000'); +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1429672727182159874, 'field-linkage', '字段联动', '{column:[{type:\'switch\',label:\'控制显隐\',span:24,display:true,value:\'0\',dicData:[{label:\'\',value:\'0\'},{label:\'\',value:\'1\'}],prop:\'1629695558953_19833\',change:({value}) => {\r\n const input = this.findObject(this.option.column, \'input\')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}},{type:\'input\',label:\'单行文本\',span:24,display:true,prop:\'input\',change:({value}) => {\r\n\r\n}},{type:\'select\',label:\'值改变\',dicData:[{label:\'一天\',value:\'1\'},{label:\'两天\',value:\'2\'},{label:\'三天\',value:\'3\'}],cascaderItem:[],span:24,display:true,props:{label:\'label\',value:\'value\'},prop:\'1629695859796_23456\',change:({value}) => {\r\n let text = value\r\n if(value) {\r\n text = \'请假 \' + value + \' 天\'\r\n }\r\n this.$set(this.form, \'input2\', text)\r\n}},{type:\'input\',label:\'单行文本\',span:24,display:true,prop:\'input2\',change:({value}) => {\r\n\r\n}}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"switch\",\"label\":\"控制显隐\",\"span\":24,\"display\":true,\"value\":\"0\",\"dicData\":[{\"label\":\"\",\"value\":\"0\"},{\"label\":\"\",\"value\":\"1\"}],\"prop\":\"1629695558953_19833\",\"change\":\"({value}) => {\\r\\n const input = this.findObject(this.option.column, \'input\')\\r\\n if(value == 0) {\\r\\n input.display = false\\r\\n } else {\\r\\n input.display = true\\r\\n }\\r\\n}\"},{\"type\":\"input\",\"label\":\"单行文本\",\"span\":24,\"display\":true,\"prop\":\"input\",\"change\":\"({value}) => {\\r\\n\\r\\n}\"},{\"type\":\"select\",\"label\":\"值改变\",\"dicData\":[{\"label\":\"一天\",\"value\":\"1\"},{\"label\":\"两天\",\"value\":\"2\"},{\"label\":\"三天\",\"value\":\"3\"}],\"cascaderItem\":[],\"span\":24,\"display\":true,\"props\":{\"label\":\"label\",\"value\":\"value\"},\"prop\":\"1629695859796_23456\",\"change\":\"({value}) => {\\r\\n let text = value\\r\\n if(value) {\\r\\n text = \'请假 \' + value + \' 天\'\\r\\n }\\r\\n this.$set(this.form, \'input2\', text)\\r\\n}\"},{\"type\":\"input\",\"label\":\"单行文本\",\"span\":24,\"display\":true,\"prop\":\"input2\",\"change\":\"({value}) => {\\r\\n\\r\\n}\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, -1, '字段联动示例', 1123598821738675201, 1123598813738675201, '2021-08-23 13:11:54', 1123598821738675201, '2021-11-01 09:08:10', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_default_values +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_default_values`; +CREATE TABLE `blade_wf_form_default_values` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `content` varchar(255) DEFAULT NULL COMMENT '内容', + `field_type` varchar(255) DEFAULT NULL COMMENT '字段类型', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单字段默认值'; + +-- ---------------------------- +-- Records of blade_wf_form_default_values +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399346112331087873, '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:44:46', 1123598821738675201, '2021-05-31 20:56:32', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399347906465595393, '当前操作人部门', '${this.$store.getters.userInfo.dept_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:51:54', 1123598821738675201, '2021-05-31 20:56:41', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399717069960855553, '当前日期', '${this.dateFormat(new Date(),\"yyyy-MM-dd\")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:18:50', 1123598821738675201, '2021-06-01 21:34:25', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399717187904684034, '当前操作人职位', '${this.$store.getters.userInfo.post_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:18', 1123598821738675201, '2021-06-01 21:19:18', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399717285564858369, '当前时间', '${this.dateFormat(new Date(),\"hh:mm:ss\")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:41', 1123598821738675201, '2021-06-01 21:34:34', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399718803940655106, '当前操作人姓名和日期', '${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:25:43', 1123598821738675201, '2021-06-01 21:34:40', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408401952027443201, '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-25 20:29:27', 1123598821738675201, '2021-06-25 20:29:32', '1', 1, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_history +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_history`; +CREATE TABLE `blade_wf_form_history` ( + `id` bigint(64) NOT NULL, + `form_id` bigint(64) DEFAULT NULL COMMENT '表单id', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单key', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '表单名称', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '表单内容', + `app_content` longtext COMMENT 'app表单内容', + `version` int(11) DEFAULT NULL COMMENT '版本', + `category_id` bigint(64) DEFAULT NULL COMMENT '分类id', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单'; + +-- ---------------------------- +-- Records of blade_wf_form_history +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_theme`; +CREATE TABLE `blade_wf_form_theme` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) NOT NULL COMMENT '名称', + `theme_key` varchar(255) NOT NULL COMMENT '主题key', + `border_width` varchar(255) DEFAULT NULL COMMENT '边框宽度', + `border_color` varchar(255) DEFAULT NULL COMMENT '边框颜色', + `label_color` varchar(255) DEFAULT NULL COMMENT 'label字体颜色', + `label_bg` varchar(255) DEFAULT NULL COMMENT 'label背景颜色', + `label_width` varchar(255) DEFAULT NULL COMMENT 'label宽度', + `label_font_size` varchar(255) DEFAULT NULL COMMENT 'label字体大小', + `value_color` varchar(255) DEFAULT NULL COMMENT 'value字体颜色', + `value_bg` varchar(255) DEFAULT NULL COMMENT 'value背景颜色', + `value_font_size` varchar(255) DEFAULT NULL COMMENT 'value字体大小', + `field0` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field1` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field2` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field3` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field4` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field5` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field6` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field7` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field8` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field9` varchar(255) DEFAULT NULL COMMENT '预留字段', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `WF_IDX_THEME_KEY` (`theme_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单 - 主题'; + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1, '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', '', '14px', '', '', '14px', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:36:46', 1123598821738675201, '2023-05-04 10:43:18', 1, 0, '000000'); +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2, '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:16:47', 1123598821738675201, '2023-04-18 11:50:10', 1, 0, '000000'); +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (3, '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598821738675201, '2023-04-04 16:57:35', 1123598821738675201, '2023-05-04 10:43:44', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_variable`; +CREATE TABLE `blade_wf_form_variable` ( + `id` bigint(64) NOT NULL, + `process_ins_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程实例id', + `deployment_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程部署id', + `task_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '任务id', + `task_def_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '任务节点key', + `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '任务节点名称', + `form_option` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '表单js', + `form_variable` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '表单值', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单 - 历史变量'; + +-- ---------------------------- +-- Records of blade_wf_form_variable +-- ---------------------------- +BEGIN; +COMMIT; + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_listener`; +CREATE TABLE `blade_wf_listener` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `category` varchar(255) DEFAULT NULL COMMENT '分类', + `event` varchar(255) DEFAULT NULL COMMENT '事件', + `type` varchar(255) DEFAULT NULL COMMENT '监听类型', + `val` varchar(255) DEFAULT NULL COMMENT '值', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务/执行监听器'; + +SET FOREIGN_KEY_CHECKS = 1; + +-- ---------------------------- +-- Table structure for blade_wf_model_scope +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_model_scope`; +CREATE TABLE `blade_wf_model_scope` ( + `id` bigint(64) NOT NULL, + `model_id` varchar(255) DEFAULT NULL COMMENT '模型id', + `model_key` varchar(255) DEFAULT NULL COMMENT '模型key', + `type` varchar(255) DEFAULT NULL COMMENT '类型 user用户 role角色 dept部门 post职位', + `val` varchar(255) DEFAULT NULL COMMENT '用户/角色/部门/职位 id集合', + `text` varchar(255) DEFAULT NULL COMMENT '用户/角色/部门/职位 name集合', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程模型权限'; + +-- ---------------------------- +-- Records of blade_wf_model_scope +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1418457955400978434, '0676f2277420b7dc67f69dd3a0ec1164', 'ex-leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1418457988913467393, '5b7a367e1139f1ab5cb1e6210685fa91', 'demo-multi-instance', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1418458020752429058, 'fb4c1a6a8c4588779a2519a547966846', 'test-default-values', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1429675430591442946, '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1447556025547763714, 'd71049b6ba4eda39cacf9baf984274ac', 'indep-form', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1497075507278168066, '617167d80b6051708484bbedfb72a137', 'demo-custom-method', 'user', '1123598821738675201', '管理员'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1497075622621528065, '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1497075622625722369, '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'platform', 'h5,mp-wx,ios,android', '移动端H5,微信小程序,IOS,安卓'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_process_leave +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_process_leave`; +CREATE TABLE `blade_wf_process_leave` ( + `id` bigint(64) NOT NULL, + `process_ins_id` varchar(64) DEFAULT NULL COMMENT '流程实例id', + `process_def_id` varchar(64) DEFAULT NULL COMMENT '流程定义id', + `current_node` varchar(64) DEFAULT NULL COMMENT '当前节点', + `datetime` varchar(64) DEFAULT NULL COMMENT '时间范围', + `days` int(11) DEFAULT NULL COMMENT '请假天数', + `reason` text COMMENT '请假理由', + `attachment` text COMMENT '附件', + `create_user` bigint(20) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(2) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT NULL COMMENT '是否已删除', + `form_key` varchar(255) DEFAULT NULL COMMENT '外置表单key', + `form_url` varchar(255) DEFAULT NULL COMMENT '外置表单url', + PRIMARY KEY (`id`,`create_time`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='请假流程业务示例'; + +-- ---------------------------- +-- Table structure for blade_wf_proxy +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_proxy`; +CREATE TABLE `blade_wf_proxy` ( + `id` bigint(64) NOT NULL, + `user_id` bigint(64) DEFAULT NULL COMMENT '委托人', + `proxy_user_id` bigint(64) DEFAULT NULL COMMENT '代理人', + `process_def_key` varchar(750) DEFAULT NULL COMMENT '流程定义key', + `type` varchar(255) DEFAULT NULL COMMENT '1永久 2定时', + `start_time` datetime DEFAULT NULL COMMENT '开始时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `status` int(2) DEFAULT NULL COMMENT '状态', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_UNI_PROXY` (`user_id`,`process_def_key`) USING BTREE, + KEY `WF_IDX_USER_ID` (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程代理'; + +-- ---------------------------- +-- Table structure for blade_wf_serial +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_serial`; +CREATE TABLE `blade_wf_serial` ( + `id` bigint(64) NOT NULL, + `deployment_id` varchar(255) DEFAULT NULL COMMENT '部署id', + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `prefix` varchar(255) DEFAULT NULL COMMENT '前缀', + `date_format` varchar(255) DEFAULT NULL COMMENT '日期格式化', + `suffix_length` int(11) DEFAULT NULL COMMENT '后缀位数', + `start_sequence` int(11) DEFAULT NULL COMMENT '初始数值', + `connector` varchar(255) DEFAULT NULL COMMENT '连接符', + `current_sequence` int(11) DEFAULT NULL COMMENT '当前序列', + `cycle` varchar(255) DEFAULT NULL COMMENT '重置周期 none不重置 day天 week周 month月 year年', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uni` (`deployment_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程流水号'; + +-- ---------------------------- +-- Records of blade_wf_serial +-- ---------------------------- +BEGIN; +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/oracle/bladex_menu.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/oracle/bladex_menu.sql new file mode 100644 index 0000000..3f4acaa --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/oracle/bladex_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1164733399669963301', '0', 'workflow', '协同办公', 'menu', '/plugin/workflow', 'iconfont iconicon_send', '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347061240995815426', '1164733399669963301', 'wf_design', '流程设计', 'menu', '/plugin/workflow/design', 'iconfont iconicon_work', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347061240995815427', '1347061240995815426', 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/design/model', 'iconfont iconicon_discovery', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590658', '1347061240995815427', 'wf_design_model_add', '新增', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590659', '1347061240995815427', 'wf_design_model_edit', '修改', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590660', '1347061240995815427', 'wf_design_model_delete', '删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590661', '1347061240995815427', 'wf_design_model_view', '查看', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590662', '1347061240995815427', 'wf_design_model_history', '历史', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590663', '1347061240995815427', 'wf_design_model_history_view', '历史-预览', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590664', '1347061240995815427', 'wf_design_model_history_delete', '历史-删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590665', '1347061240995815427', 'wf_design_model_history_main', '历史-主版本', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590666', '1347061240995815427', 'wf_design_model_design', '设计', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590667', '1347061240995815427', 'wf_design_model_deploy', '部署', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590668', '1347061240995815427', 'wf_design_model_scope', '权限', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590669', '1347061240995815427', 'wf_design_model_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590670', '1347061240995815427', 'wf_design_model_copy', '拷贝', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590671', '1347061240995815427', 'wf_design_model_icon', '图标', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826049', '1347061240995815426', 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/design/form', 'iconfont icon-biaodan', '2', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826050', '1347083757101826049', 'wf_design_form_add', '新增', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826051', '1347083757101826049', 'wf_design_form_edit', '修改', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826052', '1347083757101826049', 'wf_design_form_delete', '删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826053', '1347083757101826049', 'wf_design_form_view', '查看', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826054', '1347083757101826049', 'wf_design_form_design', '设计', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826055', '1347083757101826049', 'wf_design_form_copy', '拷贝', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826056', '1347083757101826049', 'wf_design_form_history', '历史', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826057', '1347083757101826049', 'wf_design_form_history_view', '历史-预览', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826058', '1347083757101826049', 'wf_design_form_history_delete', '历史-删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826059', '1347083757101826049', 'wf_design_form_history_main', '历史-主版本', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826060', '1347083757101826049', 'wf_design_form_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113282', '1347061240995815426', 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/design/deployment', 'iconfont iconicon_cloud_history', '3', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113283', '1347095124710113282', 'wf_design_deployment_status', '修改状态', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113284', '1347095124710113282', 'wf_design_deployment_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113285', '1347095124710113282', 'wf_design_deployment_delete', '删除部署', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113286', '1347061240995815426', 'wf_design_form_theme', '表单主题', 'menu', '/plugin/workflow/design/form-theme', 'iconfont icon-canshu', '7', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113287', '1347095124710113286', 'wf_design_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113288', '1347095124710113286', 'wf_design_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113289', '1347095124710113286', 'wf_design_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113290', '1347095124710113286', 'wf_design_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114284', '1164733399669963301', 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'iconfont iconicon_notice', '2', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114285', '1347095124710114284', 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/process/start', 'iconfont iconicon_compile', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114286', '1347095124710114285', 'wf_process_start_flow', '发起', 'flow', NULL, 'flow', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114287', '1347095124710114285', 'wf_process_start_image', '流程图', 'image', NULL, 'image', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114288', '1347095124710114284', 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/process/claim', 'iconfont iconicon_ding', '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114289', '1347095124710114288', 'wf_process_claim_sign', '签收', 'sign', NULL, 'sign', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114290', '1347095124710114288', 'wf_process_claim_detail', '详情', 'detail', NULL, 'detail', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114291', '1347095124710114288', 'wf_process_claim_follow', '跟踪', 'follow', NULL, 'follow', '3', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114292', '1347095124710114284', 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/process/todo', 'iconfont iconicon_savememo', '2', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114293', '1347095124710114292', 'wf_process_todo_handle', '办理', 'handle', NULL, 'handle', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114294', '1347095124710114292', 'wf_process_todo_detail', '详情', 'detail', NULL, 'detail', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114295', '1347095124710114292', 'wf_process_todo_follow', '跟踪', 'follow', NULL, 'follow', '3', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114296', '1347095124710114284', 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/process/send', 'iconfont iconicon_doc', '3', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114297', '1347095124710114296', 'wf_process_send_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114298', '1347095124710114296', 'wf_process_send_follow', '跟踪', 'follow', NULL, 'follow', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114299', '1347095124710114284', 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/process/done', 'iconfont iconicon_dispose', '4', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114300', '1347095124710114299', 'wf_process_done_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114301', '1347095124710114299', 'wf_process_done_follow', '跟踪', 'follow', NULL, 'follow', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114302', '1347095124710114284', 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/process/my-done', 'iconfont iconicon_dispose', '3', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114303', '1347095124710114302', 'wf_process_my_done_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114304', '1347095124710114302', 'wf_process_my_done_follow', '跟踪', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114305', '1347095124710114284', 'wf_process_draft', '草稿箱', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114306', '1347095124710114284', 'wf_process_withdraw', '撤销', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114307', '1347095124710114292', 'wf_process_todo_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114308', '1347095124710114296', 'wf_process_send_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114309', '1347095124710114299', 'wf_process_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114310', '1347095124710114302', 'wf_process_my_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114311', '1347095124710114288', 'wf_process_claim_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434310', '1347061240995815426', 'wf_button', '流程按钮', 'menu', '/plugin/workflow/design/button', NULL, '4', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434311', '1394106647182434310', 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434312', '1394106647182434310', 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434313', '1394106647182434310', 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647182434314', '1394106647182434310', 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149511', '1347061240995815426', 'wf_category', '流程分类', 'menu', '/plugin/workflow/design/category', NULL, '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149512', '1394106647392149511', 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149513', '1394106647392149511', 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149514', '1394106647392149511', 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394106647392149515', '1394106647392149511', 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206087', '1347095124710114284', 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/process/copy', NULL, '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206088', '1394657590156206087', 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206089', '1394657590156206087', 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206090', '1394657590156206087', 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1394657590156206091', '1394657590156206087', 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518919', '1347061240995815426', 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/design/form-default-values', NULL, '5', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518920', '1399260774324518919', 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518921', '1399260774324518919', 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518922', '1399260774324518919', 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518923', '1399260774324518919', 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324518924', '1399260774324518919', 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984966', '1347061240995815426', 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/design/condition', NULL, '6', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984967', '1408263948050984966', 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984968', '1408263948050984966', 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984969', '1408263948050984966', 'wf_condition_delete', '删除', 'delete', '/api/plugin/workflow/design/condition/remove', 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1408263948050984970', '1408263948050984966', 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/design/listener', 'iconfont iconicon_details', '7', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412666776159797249', '1164733399669963301', 'wf_ops', '流程运维', 'menu', '/workflow/ops', 'iconfont iconicon_cspace', '3', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562690', '1412666776159797249', 'wf_ops', '运维调度', 'menu', '/plugin/workflow/ops/index', 'iconfont iconicon_exchange', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562691', '1412667489128562690', 'wf_ops_detail', '详情', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562692', '1412667489128562690', 'wf_ops_follow', '流程图', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562693', '1412667489128562690', 'wf_ops_reject', '驳回', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562694', '1412667489128562690', 'wf_ops_pass', '通过', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562695', '1412667489128562690', 'wf_ops_transfer', '转办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562696', '1412667489128562690', 'wf_ops_delegate', '委托', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562697', '1412667489128562690', 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562698', '1412667489128562690', 'wf_ops_terminate', '终止', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562699', '1412667489128562690', 'wf_ops_copy', '抄送', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562700', '1412667489128562690', 'wf_ops_urge', '催办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562701', '1412667489128562690', 'wf_ops_active', '激活', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562702', '1412667489128562690', 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562703', '1412667489128562690', 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562704', '1412667489128562690', 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562705', '1412667489128562690', 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562706', '1412667489128562690', 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562800', '1412666776159797249', 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/ops/done', 'iconfont iconicon_safety', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562801', '1412666776159797249', 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/ops/list', 'iconfont iconicon_safety', '1', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562802', '1412667489128562801', 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638534', '1412666776159797249', 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/ops/proxy', NULL, '1', '1', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638535', '1513394358223638534', 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638536', '1513394358223638534', 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638537', '1513394358223638534', 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638538', '1513394358223638534', 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682182', '1164733399669963301', 'wf_demo', '业务示例', 'menu', '/plugin/workflow/demo', 'iconfont iconicon_cspace', '4', '1', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682183', '1513683238709682182', 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/demo/leave/index', NULL, '1', '1', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682184', '1513683238709682182', 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, '4', '2', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682185', '1164733399669963301', 'statistics', '流程统计', 'menu', '/plugin/workflow/statistics', 'iconfont iconicon_airplay', '4', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682186', '1513683238709682185', 'wf_statistics', '总览', 'menu', '/plugin/workflow/statistics/index', 'iconfont iconicon_airplay', '4', '1', '0', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/oracle/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/oracle/bladex_workflow.sql new file mode 100644 index 0000000..600a35b --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/oracle/bladex_workflow.sql @@ -0,0 +1,1305 @@ +-- ---------------------------- +-- Table structure for ACT_DE_MODEL +-- ---------------------------- +DROP TABLE "ACT_DE_MODEL"; +CREATE TABLE "ACT_DE_MODEL" ( + "ID" NVARCHAR2(255) NOT NULL, + "NAME" NVARCHAR2(400) NOT NULL, + "MODEL_KEY" NVARCHAR2(400) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "CATEGORY_ID" NUMBER(20,0), + "DESCRIPTION" NCLOB, + "MODEL_COMMENT" NCLOB, + "CREATED" DATE, + "CREATED_BY" NVARCHAR2(255), + "LAST_UPDATED" DATE, + "LAST_UPDATED_BY" NVARCHAR2(255), + "VERSION" NUMBER(11,0), + "MODEL_XML" NCLOB, + "MODEL_EDITOR_JSON" NCLOB, + "THUMBNAIL" BLOB, + "MODEL_TYPE" NUMBER(11,0), + "TENANT_ID" NVARCHAR2(255), + "ICON" NVARCHAR2(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "ACT_DE_MODEL"."NAME" IS '名称'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_KEY" IS '模型标识'; +COMMENT ON COLUMN "ACT_DE_MODEL"."FORM_KEY" IS '表单标识'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "ACT_DE_MODEL"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_COMMENT" IS '评论'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CREATED" IS '创建时间'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CREATED_BY" IS '创建人'; +COMMENT ON COLUMN "ACT_DE_MODEL"."LAST_UPDATED" IS '最后更新时间'; +COMMENT ON COLUMN "ACT_DE_MODEL"."LAST_UPDATED_BY" IS '最后更新人'; +COMMENT ON COLUMN "ACT_DE_MODEL"."VERSION" IS '版本'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_XML" IS '模型XML'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_EDITOR_JSON" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "ACT_DE_MODEL"."THUMBNAIL" IS '缩略图'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_TYPE" IS '类型'; +COMMENT ON COLUMN "ACT_DE_MODEL"."TENANT_ID" IS '租户id'; +COMMENT ON COLUMN "ACT_DE_MODEL"."ICON" IS '图标'; +COMMENT ON TABLE "ACT_DE_MODEL" IS '流程 - 定义 - 模型'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL_HISTORY +-- ---------------------------- +DROP TABLE "ACT_DE_MODEL_HISTORY"; +CREATE TABLE "ACT_DE_MODEL_HISTORY" ( + "ID" NVARCHAR2(255) NOT NULL, + "NAME" NVARCHAR2(400) NOT NULL, + "MODEL_KEY" NVARCHAR2(400) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "CATEGORY_ID" NUMBER(20,0), + "DESCRIPTION" NCLOB, + "MODEL_COMMENT" NCLOB, + "CREATED" DATE, + "CREATED_BY" NVARCHAR2(255), + "LAST_UPDATED" DATE, + "LAST_UPDATED_BY" NVARCHAR2(255), + "REMOVAL_DATE" DATE, + "VERSION" NUMBER(11,0), + "MODEL_XML" NCLOB, + "MODEL_EDITOR_JSON" NCLOB, + "MODEL_ID" NVARCHAR2(255) NOT NULL, + "MODEL_TYPE" NUMBER(11,0), + "TENANT_ID" NVARCHAR2(255), + "ICON" NVARCHAR2(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."NAME" IS '名称'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_KEY" IS '模型标识'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."FORM_KEY" IS '表单标识'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_COMMENT" IS '注释'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CREATED" IS '创建时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CREATED_BY" IS '创建人'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."LAST_UPDATED" IS '最后更新时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."LAST_UPDATED_BY" IS '最后更新人'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."REMOVAL_DATE" IS '移除时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."VERSION" IS '版本'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_XML" IS '模型XML'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_EDITOR_JSON" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_ID" IS 'modelId'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_TYPE" IS '类型'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."TENANT_ID" IS '租户id'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."ICON" IS '图标'; +COMMENT ON TABLE "ACT_DE_MODEL_HISTORY" IS '流程 - 定义 - 模型历史'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL_HISTORY +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_BUTTON +-- ---------------------------- +DROP TABLE "BLADE_WF_BUTTON"; +CREATE TABLE "BLADE_WF_BUTTON" ( + "ID" NUMBER(20,0) NOT NULL, + "BUTTON_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "DISPLAY" NUMBER(4,0), + "SORT" NUMBER(11,0), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."BUTTON_KEY" IS '按钮key'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."DISPLAY" IS '默认是否显示'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."SORT" IS '排序'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_BUTTON" IS '流程按钮'; + +-- ---------------------------- +-- Records of BLADE_WF_BUTTON +-- ---------------------------- +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394176899911041025', 'wf_pass', '通过', '1', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:24:10', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:24:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394177198465794050', 'wf_reject', '驳回', '1', '2', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:25:21', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:25:21', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394179125421326337', 'wf_print', '打印', '1', '3', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:33:01', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:33:01', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394609969089761281', 'wf_transfer', '转办', '1', '4', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 19:05:02', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 19:05:02', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394610036672581634', 'wf_delegate', '委托', '1', '5', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 19:05:18', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 19:05:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395271519601426433', 'wf_terminate', '终止', '1', '6', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 14:53:48', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 14:53:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274709692579841', 'wf_add_instance', '加签', '1', '7', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:06:28', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:06:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274774674931713', 'wf_del_instance', '减签', '1', '8', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:06:44', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:06:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274955986305025', 'wf_rollback', '指定回退', '1', '9', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:07:27', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:07:27', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_CATEGORY +-- ---------------------------- +DROP TABLE "BLADE_WF_CATEGORY"; +CREATE TABLE "BLADE_WF_CATEGORY" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "PID" NUMBER(20,0) DEFAULT 0, + "SORT" NUMBER(11,0), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."NAME" IS '分类名称'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."PID" IS '上级id'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."SORT" IS '排序'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_CATEGORY" IS '流程分类'; + +-- ---------------------------- +-- Records of BLADE_WF_CATEGORY +-- ---------------------------- +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394133715940073474', '请假流程', '0', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 11:32:34', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 20:37:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394158934813609986', '财务流程', '0', '2', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 13:12:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 13:13:07', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394159147934584833', '报销流程', '1394158934813609986', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 13:13:38', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 13:13:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_CONDITION +-- ---------------------------- +DROP TABLE "BLADE_WF_CONDITION"; +CREATE TABLE "BLADE_WF_CONDITION" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "EXPRESSION" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."EXPRESSION" IS '表达式'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."TYPE" IS '类型'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_CONDITION" IS '流程表达式'; + +-- ---------------------------- +-- Records of BLADE_WF_CONDITION +-- ---------------------------- +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408267023015739393', '流程发起人', 'applyUser', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 11:33:17', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 11:33:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408267100878798850', '当前操作人', 'currentUser', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 11:33:36', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 11:33:36', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408305933398896641', '上级部门领导', 'leader', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 14:07:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 14:07:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_COPY +-- ---------------------------- +DROP TABLE "BLADE_WF_COPY"; +CREATE TABLE "BLADE_WF_COPY" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "TITLE" NVARCHAR2(255), + "INITIATOR" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "PROCESS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "FORM_KEY" NVARCHAR2(255), + "FORM_URL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_COPY"."USER_ID" IS '用户id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."TITLE" IS '标题'; +COMMENT ON COLUMN "BLADE_WF_COPY"."INITIATOR" IS '发起者'; +COMMENT ON COLUMN "BLADE_WF_COPY"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."PROCESS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."FORM_KEY" IS '外置表单key'; +COMMENT ON COLUMN "BLADE_WF_COPY"."FORM_URL" IS '外置表单url'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_COPY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_COPY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_COPY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_COPY"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_COPY" IS '流程抄送'; + +-- ---------------------------- +-- Records of BLADE_WF_COPY +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +DROP TABLE "BLADE_WF_DEPLOYMENT_FORM"; +CREATE TABLE "BLADE_WF_DEPLOYMENT_FORM" ( + "ID" NUMBER(20,0) NOT NULL, + "DEPLOYMENT_ID" NVARCHAR2(255), + "FORM_KEY" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "TASK_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_KEY" IS '节点key'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_NAME" IS '节点名称'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_DEPLOYMENT_FORM" IS '流程部署 - 表单'; + +-- ---------------------------- +-- Records of BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_DRAFT +-- ---------------------------- +DROP TABLE "BLADE_WF_DRAFT"; +CREATE TABLE "BLADE_WF_DRAFT" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "FORM_KEY" NVARCHAR2(255), + "PROCESS_DEF_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "VARIABLES" NCLOB, + "PLATFORM" NVARCHAR2(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."USER_ID" IS '用户id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."PROCESS_DEF_ID" IS '流程定义id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."VARIABLES" IS '表单变量'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."PLATFORM" IS '平台 pc/app'; +COMMENT ON TABLE "BLADE_WF_DRAFT" IS '流程草稿箱'; + +-- ---------------------------- +-- Records of BLADE_WF_DRAFT +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM"; +CREATE TABLE "BLADE_WF_FORM" ( + "ID" NUMBER(20,0) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "VERSION" NUMBER(11,0), + "CATEGORY_ID" NUMBER(20,0), + "REMARK" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_FORM"."NAME" IS '表单名称'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM"."VERSION" IS '版本'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "BLADE_WF_FORM"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM" IS '流程表单'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399359377009377281', 'default-value', '测试默认值', '{column:[{type:''input'',label:''人事姓名'',span:24,display:true,prop:''1622472547203_21841'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''人事职位'',span:24,display:true,prop:''1622553629767_65211'',value:''${this.$store.getters.userInfo.post_name}''},{type:''input'',label:''人事部门'',span:24,display:true,prop:''1622472547375_86557'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''当前日期'',span:24,display:true,prop:''1622553629949_3168'',value:''${this.dateFormat(new Date(),\"yyyy-MM-dd\")}''},{type:''input'',label:''当前时间'',span:24,display:true,prop:''1622553631752_15562'',value:''${this.dateFormat(new Date(),\"hh:mm:ss\")}''},{type:''input'',label:''人事姓名和日期'',span:24,display:true,prop:''1622553691156_69886'',value:''${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}''},{type:''input'',label:''经理姓名'',span:24,display:true,prop:''1622472547780_5707'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''经理部门'',span:24,display:true,prop:''1622472547975_90560'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''老板姓名'',span:24,display:true,prop:''1622472548372_60141'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''老板部门'',span:24,display:true,prop:''1622472548560_32474'',value:''${this.$store.getters.userInfo.dept_name}''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"人事姓名","span":24,"display":true,"prop":"1622472547203_21841","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"人事职位","span":24,"display":true,"prop":"1622553629767_65211","value":"${this.$store.getters.userInfo.post_name}"},{"type":"input","label":"人事部门","span":24,"display":true,"prop":"1622472547375_86557","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"当前日期","span":24,"display":true,"prop":"1622553629949_3168","value":"${this.dateFormat(new Date(),\"yyyy-MM-dd\")}"},{"type":"input","label":"当前时间","span":24,"display":true,"prop":"1622553631752_15562","value":"${this.dateFormat(new Date(),\"hh:mm:ss\")}"},{"type":"input","label":"人事姓名和日期","span":24,"display":true,"prop":"1622553691156_69886","value":"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}"},{"type":"input","label":"经理姓名","span":24,"display":true,"prop":"1622472547780_5707","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"经理部门","span":24,"display":true,"prop":"1622472547975_90560","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"老板姓名","span":24,"display":true,"prop":"1622472548372_60141","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"老板部门","span":24,"display":true,"prop":"1622472548560_32474","value":"${this.$store.getters.userInfo.dept_name}"}],"labelPosition":"left","labelSuffix":":","labelWidth":140,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '-1', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 21:37:29', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-11-01 09:08:05', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408402768310304770', 'demo-test', '测试简单表单', '{column:[{type:''input'',label:''单行文本'',span:24,display:true,prop:''1624624365132_23209''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"单行文本","span":24,"display":true,"prop":"1624624365132_23209"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '-1', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 20:32:41', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-11-01 09:08:09', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1429672727182159874', 'field-linkage', '字段联动', '{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input'',change:({value}) => { + +}},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.$set(this.form, ''input2'', text) +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2'',change:({value}) => { + +}}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"switch","label":"控制显隐","span":24,"display":true,"value":"0","dicData":[{"label":"","value":"0"},{"label":"","value":"1"}],"prop":"1629695558953_19833","change":"({value}) => {\r\n const input = this.findObject(this.option.column, ''input'')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input","change":"({value}) => {\r\n\r\n}"},{"type":"select","label":"值改变","dicData":[{"label":"一天","value":"1"},{"label":"两天","value":"2"},{"label":"三天","value":"3"}],"cascaderItem":[],"span":24,"display":true,"props":{"label":"label","value":"value"},"prop":"1629695859796_23456","change":"({value}) => {\r\n let text = value\r\n if(value) {\r\n text = ''请假 '' + value + '' 天''\r\n }\r\n this.$set(this.form, ''input2'', text)\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input2","change":"({value}) => {\r\n\r\n}"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '-1', '字段联动示例', '1123598821738675201', '1123598813738675201', TO_DATE('2021-08-23 13:11:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-11-01 09:08:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399729025840140290', 'leave', '请假流程表单', '{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''yyyy-MM-dd HH:mm:ss'',valueFormat:''yyyy-MM-dd HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { + if (!value || value.length == 0) { + this.$set(this.form, ''days'', undefined) + } else { + const d1 = Date.parse(value.split('','')[0]) + const d2 = Date.parse(value.split('','')[1]) + const day = (d2-d1)/(1*24*60*60*1000) + this.$set(this.form, ''days'', Number(day.toFixed(2))) + } +},dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { + if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' ) + else this.$set(this.form, ''reason'', '''') +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"yyyy-MM-dd HH:mm:ss","valueFormat":"yyyy-MM-dd HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, ''days'', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, ''days'', Number(day.toFixed(2)))\r\n }\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' )\n else this.$set(this.form, ''reason'', '''')\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '-1', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 22:06:20', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2022-04-12 10:27:07', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_DEFAULT_VALUES"; +CREATE TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CONTENT" NVARCHAR2(255), + "FIELD_TYPE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CONTENT" IS '内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."FIELD_TYPE" IS '字段类型'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_DEFAULT_VALUES" IS '流程表单字段默认值'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399346112331087873', '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 20:44:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-31 20:56:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399347906465595393', '当前操作人部门', '${this.$store.getters.userInfo.dept_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 20:51:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-31 20:56:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717069960855553', '当前日期', '${this.dateFormat(new Date(),"yyyy-MM-dd")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:18:50', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:34:25', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717187904684034', '当前操作人职位', '${this.$store.getters.userInfo.post_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:19:18', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:19:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717285564858369', '当前时间', '${this.dateFormat(new Date(),"hh:mm:ss")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:19:41', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:34:34', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399718803940655106', '当前操作人姓名和日期', '${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),"yyyy-MM-dd")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:25:43', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:34:40', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408401952027443201', '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 20:29:27', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 20:29:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', '1', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_HISTORY +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_HISTORY"; +CREATE TABLE "BLADE_WF_FORM_HISTORY" ( + "ID" NUMBER(20,0) NOT NULL, + "FORM_ID" NUMBER(20,0), + "FORM_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "VERSION" NUMBER(11,0), + "CATEGORY_ID" NUMBER(20,0), + "REMARK" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."FORM_ID" IS '表单id'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."NAME" IS '表单名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."VERSION" IS '版本'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_FORM_HISTORY" IS '流程表单'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_HISTORY +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_THEME +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_THEME"; +CREATE TABLE "BLADE_WF_FORM_THEME" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255) NOT NULL, + "THEME_KEY" NVARCHAR2(255) NOT NULL, + "BORDER_WIDTH" NVARCHAR2(255), + "BORDER_COLOR" NVARCHAR2(255), + "LABEL_COLOR" NVARCHAR2(255), + "LABEL_BG" NVARCHAR2(255), + "LABEL_WIDTH" NVARCHAR2(255), + "LABEL_FONT_SIZE" NVARCHAR2(255), + "VALUE_COLOR" NVARCHAR2(255), + "VALUE_BG" NVARCHAR2(255), + "VALUE_FONT_SIZE" NVARCHAR2(255), + "FIELD0" NVARCHAR2(255), + "FIELD1" NVARCHAR2(255), + "FIELD2" NVARCHAR2(255), + "FIELD3" NVARCHAR2(255), + "FIELD4" NVARCHAR2(255), + "FIELD5" NVARCHAR2(255), + "FIELD6" NVARCHAR2(255), + "FIELD7" NVARCHAR2(255), + "FIELD8" NVARCHAR2(255), + "FIELD9" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."THEME_KEY" IS '主题key'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_WIDTH" IS '边框宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_COLOR" IS '边框颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_COLOR" IS 'label字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_BG" IS 'label背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_WIDTH" IS 'label宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_FONT_SIZE" IS 'label字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_COLOR" IS 'value字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_BG" IS 'value背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_FONT_SIZE" IS 'value字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD0" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD1" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD2" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD3" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD4" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD5" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD6" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD7" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD8" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD9" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_THEME" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_THEME +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1', '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', NULL, '14px', NULL, NULL, '14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:36:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('2', '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:16:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-18 11:50:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('3', '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598821738675201', TO_DATE('2023-04-04 16:57:35', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011945" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011942" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011943" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011944" CHECK ("THEME_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" + ON "BLADE_WF_FORM_THEME" ("THEME_KEY" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +); + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_VARIABLE +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_VARIABLE"; +CREATE TABLE "BLADE_WF_FORM_VARIABLE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "TASK_DEF_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "FORM_OPTION" NCLOB, + "FORM_VARIABLE" NCLOB, + "STATUS" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20,0), + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_DEF_KEY" IS '任务节点key'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_NAME" IS '任务节点名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_OPTION" IS '表单js'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_VARIABLE" IS '表单值'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_VARIABLE" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012109" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012108" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Table structure for BLADE_WF_LISTENER +-- ---------------------------- +DROP TABLE "BLADE_WF_LISTENER"; +CREATE TABLE "BLADE_WF_LISTENER" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CATEGORY" NVARCHAR2(255), + "EVENT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CATEGORY" IS '分类'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."EVENT" IS '事件'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TYPE" IS '监听类型'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."VAL" IS '值'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_LISTENER" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011312" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011311" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Table structure for BLADE_WF_MODEL_SCOPE +-- ---------------------------- +DROP TABLE "BLADE_WF_MODEL_SCOPE"; +CREATE TABLE "BLADE_WF_MODEL_SCOPE" ( + "ID" NUMBER(20,0) NOT NULL, + "MODEL_ID" NVARCHAR2(255), + "MODEL_KEY" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "TEXT" NVARCHAR2(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."MODEL_ID" IS '模型id'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."MODEL_KEY" IS '模型key'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."TYPE" IS '类型 user用户 role角色 dept部门 post职位'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."VAL" IS '用户/角色/部门/职位 id集合'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."TEXT" IS '用户/角色/部门/职位 name集合'; +COMMENT ON TABLE "BLADE_WF_MODEL_SCOPE" IS '流程模型权限'; + +-- ---------------------------- +-- Records of BLADE_WF_MODEL_SCOPE +-- ---------------------------- +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418455767366799361', '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418457955400978434', '0676f2277420b7dc67f69dd3a0ec1164', 'ex-leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418457988913467393', '5b7a367e1139f1ab5cb1e6210685fa91', 'demo-multi-instance', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418458020752429058', 'fb4c1a6a8c4588779a2519a547966846', 'test-default-values', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1429675430591442946', '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1447556025547763714', 'd71049b6ba4eda39cacf9baf984274ac', 'indep-form', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +DROP TABLE "BLADE_WF_PROCESS_LEAVE"; +CREATE TABLE "BLADE_WF_PROCESS_LEAVE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(64), + "PROCESS_DEF_ID" NVARCHAR2(64), + "CURRENT_NODE" NVARCHAR2(64), + "DATETIME" NVARCHAR2(64), + "DAYS" NUMBER(11,0), + "REASON" NCLOB, + "ATTACHMENT" NCLOB, + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE NOT NULL, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "FORM_KEY" VARCHAR(255), + "FORM_URL" VARCHAR(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_DEF_ID" IS '流程定义id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CURRENT_NODE" IS '当前节点'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DATETIME" IS '时间范围'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DAYS" IS '请假天数'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."REASON" IS '请假理由'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."ATTACHMENT" IS '附件'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_KEY" IS '外置表单key'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_URL" IS '外置表单url'; +COMMENT ON TABLE "BLADE_WF_PROCESS_LEAVE" IS '请假流程业务示例'; + +-- ---------------------------- +-- Table structure for BLADE_WF_PROXY +-- ---------------------------- +DROP TABLE "BLADE_WF_PROXY"; +CREATE TABLE "BLADE_WF_PROXY" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "PROXY_USER_ID" NUMBER(20,0), + "PROCESS_DEF_KEY" NVARCHAR2(750), + "TYPE" NVARCHAR2(255), + "START_TIME" DATE, + "END_TIME" DATE, + "STATUS" NUMBER(11,0) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_PROXY"."USER_ID" IS '委托人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROXY_USER_ID" IS '代理人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROCESS_DEF_KEY" IS '流程定义key'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."TYPE" IS '1永久 2定时'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."START_TIME" IS '开始时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."END_TIME" IS '结束时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."STATUS" IS '状态'; +COMMENT ON TABLE "BLADE_WF_PROXY" IS '流程代理'; + +-- ---------------------------- +-- Table structure for BLADE_WF_SERIAL +-- ---------------------------- +DROP TABLE "BLADE_WF_SERIAL"; +CREATE TABLE "BLADE_WF_SERIAL" ( + "ID" NUMBER(20,0) NOT NULL, + "DEPLOYMENT_ID" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "PREFIX" NVARCHAR2(255), + "DATE_FORMAT" NVARCHAR2(255), + "SUFFIX_LENGTH" NUMBER(11,0), + "START_SEQUENCE" NUMBER(11,0), + "CONNECTOR" NVARCHAR2(255), + "CURRENT_SEQUENCE" NUMBER(11,0), + "CYCLE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."DEPLOYMENT_ID" IS '部署id'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."PREFIX" IS '前缀'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."DATE_FORMAT" IS '日期格式化'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."SUFFIX_LENGTH" IS '后缀位数'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."START_SEQUENCE" IS '初始数值'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CONNECTOR" IS '连接符'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CURRENT_SEQUENCE" IS '当前序列'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CYCLE" IS '重置周期 none不重置 day天 week周 month月 year年'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_SERIAL" IS '流程流水号'; + +-- ---------------------------- +-- Records of BLADE_WF_SERIAL +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Checks structure for table ACT_DE_MODEL +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012501" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012502" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012503" CHECK ("MODEL_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012506" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012507" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012508" CHECK ("MODEL_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012382" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012364" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012365" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012366" CHECK ("MODEL_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012367" CHECK ("MODEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012509" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012510" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012511" CHECK ("MODEL_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012512" CHECK ("MODEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_BUTTON +-- ---------------------------- +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012384" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_BUTTON +-- ---------------------------- +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012363" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012513" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CATEGORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012385" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CATEGORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012371" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012514" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CONDITION +-- ---------------------------- +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012386" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CONDITION +-- ---------------------------- +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012372" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012515" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_COPY +-- ---------------------------- +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012387" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_COPY +-- ---------------------------- +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012373" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012516" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012388" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012374" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012517" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_DRAFT +-- ---------------------------- +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012389" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_DRAFT +-- ---------------------------- +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012375" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012518" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI" + ON "BLADE_WF_DRAFT" ("USER_ID", "PROCESS_DEF_ID", "PLATFORM"); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" + ON "BLADE_WF_DRAFT" ("USER_ID", "TASK_ID", "PLATFORM"); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012390" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012376" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012519" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_FORM_KEY" + ON "BLADE_WF_FORM" ("FORM_KEY" ASC, "TENANT_ID" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012391" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012377" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012520" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_HISTORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012392" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_HISTORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012378" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012521" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_MODEL_SCOPE +-- ---------------------------- +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012393" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_MODEL_SCOPE +-- ---------------------------- +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012379" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012522" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013052" PRIMARY KEY ("ID", "CREATE_TIME"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013050" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013051" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013053" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013049" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_PROXY +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_UNI_PROXY" + ON "BLADE_WF_PROXY" ("USER_ID" ASC, "PROCESS_DEF_KEY" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); +CREATE INDEX "WF_IDX_USER_ID" + ON "BLADE_WF_PROXY" ("USER_ID" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_SERIAL +-- ---------------------------- +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012394" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_SERIAL +-- ---------------------------- +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012380" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012523" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_SERIAL +-- ---------------------------- +CREATE UNIQUE INDEX "UNI" + ON "BLADE_WF_SERIAL" ("DEPLOYMENT_ID" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/postgres/bladex_menu.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/postgres/bladex_menu.sql new file mode 100644 index 0000000..c2b667d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/postgres/bladex_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1164733399669963301, 0, 'workflow', '协同办公', 'menu', '/plugin/workflow', 'iconfont iconicon_send', 5, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347061240995815426, 1164733399669963301, 'wf_design', '流程设计', 'menu', '/plugin/workflow/design', 'iconfont iconicon_work', 1, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347061240995815427, 1347061240995815426, 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/design/model', 'iconfont iconicon_discovery', 1, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590658, 1347061240995815427, 'wf_design_model_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590659, 1347061240995815427, 'wf_design_model_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590660, 1347061240995815427, 'wf_design_model_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590661, 1347061240995815427, 'wf_design_model_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590662, 1347061240995815427, 'wf_design_model_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590663, 1347061240995815427, 'wf_design_model_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590664, 1347061240995815427, 'wf_design_model_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590665, 1347061240995815427, 'wf_design_model_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590666, 1347061240995815427, 'wf_design_model_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590667, 1347061240995815427, 'wf_design_model_deploy', '部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590668, 1347061240995815427, 'wf_design_model_scope', '权限', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590669, 1347061240995815427, 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590670, 1347061240995815427, 'wf_design_model_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590671, 1347061240995815427, 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826049, 1347061240995815426, 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/design/form', 'iconfont icon-biaodan', 2, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826050, 1347083757101826049, 'wf_design_form_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826051, 1347083757101826049, 'wf_design_form_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826052, 1347083757101826049, 'wf_design_form_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826053, 1347083757101826049, 'wf_design_form_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826054, 1347083757101826049, 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826055, 1347083757101826049, 'wf_design_form_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826056, 1347083757101826049, 'wf_design_form_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826057, 1347083757101826049, 'wf_design_form_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826058, 1347083757101826049, 'wf_design_form_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826059, 1347083757101826049, 'wf_design_form_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826060, 1347083757101826049, 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113282, 1347061240995815426, 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/design/deployment', 'iconfont iconicon_cloud_history', 3, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113283, 1347095124710113282, 'wf_design_deployment_status', '修改状态', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113284, 1347095124710113282, 'wf_design_deployment_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113285, 1347095124710113282, 'wf_design_deployment_delete', '删除部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113286, 1347061240995815426, 'wf_design_form_theme', '表单主题', 'menu', '/plugin/workflow/design/form-theme', 'iconfont icon-canshu', 7, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113287, 1347095124710113286, 'wf_design_form_theme_add', '新增', 'add', '', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113288, 1347095124710113286, 'wf_design_form_theme_edit', '修改', 'edit', '', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113289, 1347095124710113286, 'wf_design_form_theme_delete', '删除', 'delete', '', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113290, 1347095124710113286, 'wf_design_form_theme_view', '查看', 'view', '', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114284, 1164733399669963301, 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'iconfont iconicon_notice', 2, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114285, 1347095124710114284, 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/process/start', 'iconfont iconicon_compile', 1, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114286, 1347095124710114285, 'wf_process_start_flow', '发起', 'flow', '', 'flow', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114287, 1347095124710114285, 'wf_process_start_image', '流程图', 'image', '', 'image', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114288, 1347095124710114284, 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/process/claim', 'iconfont iconicon_ding', 5, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114289, 1347095124710114288, 'wf_process_claim_sign', '签收', 'sign', '', 'sign', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114290, 1347095124710114288, 'wf_process_claim_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114291, 1347095124710114288, 'wf_process_claim_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114292, 1347095124710114284, 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/process/todo', 'iconfont iconicon_savememo', 2, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114293, 1347095124710114292, 'wf_process_todo_handle', '办理', 'handle', '', 'handle', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114294, 1347095124710114292, 'wf_process_todo_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114295, 1347095124710114292, 'wf_process_todo_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114296, 1347095124710114284, 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/process/send', 'iconfont iconicon_doc', 3, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114297, 1347095124710114296, 'wf_process_send_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114298, 1347095124710114296, 'wf_process_send_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114299, 1347095124710114284, 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/process/done', 'iconfont iconicon_dispose', 4, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114300, 1347095124710114299, 'wf_process_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114301, 1347095124710114299, 'wf_process_done_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114302, 1347095124710114284, 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/process/my-done', 'iconfont iconicon_dispose', 3, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114303, 1347095124710114302, 'wf_process_my_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114304, 1347095124710114302, 'wf_process_my_done_follow', '跟踪', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114305, 1347095124710114284, 'wf_process_draft', '草稿箱', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114306, 1347095124710114284, 'wf_process_withdraw', '撤销', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114307, 1347095124710114292, 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114308, 1347095124710114296, 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114309, 1347095124710114299, 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114310, 1347095124710114302, 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114311, 1347095124710114288, 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434310, 1347061240995815426, 'wf_button', '流程按钮', 'menu', '/plugin/workflow/design/button', NULL, 4, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434311, 1394106647182434310, 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434312, 1394106647182434310, 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434313, 1394106647182434310, 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434314, 1394106647182434310, 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149511, 1347061240995815426, 'wf_category', '流程分类', 'menu', '/plugin/workflow/design/category', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149512, 1394106647392149511, 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149513, 1394106647392149511, 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149514, 1394106647392149511, 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149515, 1394106647392149511, 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206087, 1347095124710114284, 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/process/copy', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206088, 1394657590156206087, 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206089, 1394657590156206087, 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206090, 1394657590156206087, 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206091, 1394657590156206087, 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518919, 1347061240995815426, 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/design/form-default-values', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518920, 1399260774324518919, 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518921, 1399260774324518919, 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518922, 1399260774324518919, 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518923, 1399260774324518919, 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518924, 1399260774324518919, 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984966, 1347061240995815426, 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/design/condition', NULL, 6, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984967, 1408263948050984966, 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984968, 1408263948050984966, 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984969, 1408263948050984966, 'wf_condition_delete', '删除', 'delete', '/api/plugin/workflow/design/condition/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984970, 1408263948050984966, 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/design/listener', 'iconfont iconicon_details', 7, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412666776159797249, 1164733399669963301, 'wf_ops', '流程运维', 'menu', '/workflow/ops', 'iconfont iconicon_cspace', 3, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562690, 1412666776159797249, 'wf_ops', '运维调度', 'menu', '/plugin/workflow/ops/index', 'iconfont iconicon_exchange', 1, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562691, 1412667489128562690, 'wf_ops_detail', '详情', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562692, 1412667489128562690, 'wf_ops_follow', '流程图', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562693, 1412667489128562690, 'wf_ops_reject', '驳回', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562694, 1412667489128562690, 'wf_ops_pass', '通过', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562695, 1412667489128562690, 'wf_ops_transfer', '转办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562696, 1412667489128562690, 'wf_ops_delegate', '委托', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562697, 1412667489128562690, 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562698, 1412667489128562690, 'wf_ops_terminate', '终止', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562699, 1412667489128562690, 'wf_ops_copy', '抄送', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562700, 1412667489128562690, 'wf_ops_urge', '催办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562701, 1412667489128562690, 'wf_ops_active', '激活', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562702, 1412667489128562690, 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562703, 1412667489128562690, 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562704, 1412667489128562690, 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562705, 1412667489128562690, 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562706, 1412667489128562690, 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562800, 1412666776159797249, 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/ops/done', 'iconfont iconicon_safety', 1, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562801, 1412666776159797249, 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/ops/list', 'iconfont iconicon_safety', 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562802, 1412667489128562801, 'wf_ops_delete_process', '删除流程', 'menu', '', '', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638534, 1412666776159797249, 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/ops/proxy', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638535, 1513394358223638534, 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638536, 1513394358223638534, 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638537, 1513394358223638534, 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638538, 1513394358223638534, 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682182, 1164733399669963301, 'wf_demo', '业务示例', 'menu', '/plugin/workflow/demo', 'iconfont iconicon_cspace', 4, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682183, 1513683238709682182, 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/demo/leave/index', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682184, 1513683238709682182, 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, 4, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682185, 1164733399669963301, 'statistics', '流程统计', 'menu', '/plugin/workflow/statistics', 'iconfont iconicon_airplay', 4, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682186, 1513683238709682185, 'wf_statistics', '总览', 'menu', '/plugin/workflow/statistics/index', 'iconfont iconicon_subordinate', 4, 1, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/postgres/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/postgres/bladex_workflow.sql new file mode 100644 index 0000000..abdc58a --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/postgres/bladex_workflow.sql @@ -0,0 +1,1971 @@ +-- ---------------------------- +-- Table structure for act_de_model +-- ---------------------------- +DROP TABLE IF EXISTS "act_de_model"; +CREATE TABLE "act_de_model" ( + "id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(400) COLLATE "pg_catalog"."default" NOT NULL, + "model_key" varchar(400) COLLATE "pg_catalog"."default" NOT NULL, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "category_id" int8, + "description" varchar(4000) COLLATE "pg_catalog"."default", + "model_comment" varchar(4000) COLLATE "pg_catalog"."default", + "created" timestamp(6), + "created_by" varchar(255) COLLATE "pg_catalog"."default", + "last_updated" timestamp(6), + "last_updated_by" varchar(255) COLLATE "pg_catalog"."default", + "version" int4, + "model_xml" text COLLATE "pg_catalog"."default", + "model_editor_json" text COLLATE "pg_catalog"."default", + "thumbnail" bytea, + "model_type" int4, + "tenant_id" varchar(255) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying, + "icon" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "act_de_model" OWNER TO "postgres"; +COMMENT ON COLUMN "act_de_model"."name" IS '名称'; +COMMENT ON COLUMN "act_de_model"."model_key" IS '模型标识'; +COMMENT ON COLUMN "act_de_model"."form_key" IS '表单标识'; +COMMENT ON COLUMN "act_de_model"."category_id" IS '分类id'; +COMMENT ON COLUMN "act_de_model"."description" IS '描述'; +COMMENT ON COLUMN "act_de_model"."model_comment" IS '评论'; +COMMENT ON COLUMN "act_de_model"."created" IS '创建时间'; +COMMENT ON COLUMN "act_de_model"."created_by" IS '创建人'; +COMMENT ON COLUMN "act_de_model"."last_updated" IS '最后更新时间'; +COMMENT ON COLUMN "act_de_model"."last_updated_by" IS '最后更新人'; +COMMENT ON COLUMN "act_de_model"."version" IS '版本'; +COMMENT ON COLUMN "act_de_model"."model_xml" IS '模型XML'; +COMMENT ON COLUMN "act_de_model"."model_editor_json" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "act_de_model"."thumbnail" IS '缩略图'; +COMMENT ON COLUMN "act_de_model"."model_type" IS '类型'; +COMMENT ON COLUMN "act_de_model"."tenant_id" IS '租户id'; +COMMENT ON COLUMN "act_de_model"."icon" IS '图标'; +COMMENT ON TABLE "act_de_model" IS '流程 - 定义 - 模型'; + +-- ---------------------------- +-- Records of act_de_model +-- ---------------------------- +BEGIN; +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id") VALUES ('0676f2277420b7dc67f69dd3a0ec1164', '请假流程 - 外置表单', 'ex-leave', 'wf_ex_Leave', NULL, NULL, NULL, '2021-06-08 08:40:51.901', '1123598821738675201', '2021-10-11 21:19:07.045', '1123598821738675201', 1, ' + + + + + + + + + + + + + Flow_1itpbiu + + + + + + + + + + + + + + + + + Flow_1itpbiu + Flow_0eeuztq + + + + + + + + + + + + + + + + + + Flow_0eeuztq + Flow_1vu0qon + + + + + + + + + + + + + + + + + + Flow_1vu0qon + Flow_1d63z9m + + + + Flow_1d63z9m + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', '{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"ex-leave","name":"请假流程 - 外置表单","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":270.0,"y":230.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1itpbiu"}]},{"bounds":{"lowerRight":{"x":420.0,"y":255.0},"upperLeft":{"x":320.0,"y":175.0}},"resourceId":"Activity_1bvvbi2","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1bvvbi2","name":"发起人","usertaskassignment":{"assignment":{"type":"static","assignee":"${applyUser}"}},"formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0eeuztq"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1itpbiu","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":15.0,"y":15.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1bvvbi2"}],"target":{"resourceId":"Activity_1bvvbi2"},"properties":{"overrideid":"Flow_1itpbiu"}},{"bounds":{"lowerRight":{"x":570.0,"y":255.0},"upperLeft":{"x":470.0,"y":175.0}},"resourceId":"Activity_0xqgcpk","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0xqgcpk","name":"人事","usertaskassignment":{"assignment":{"type":"static","candidateUsers":[{"value":"1123598821738675202"}]}},"formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1vu0qon"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0eeuztq","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0xqgcpk"}],"target":{"resourceId":"Activity_0xqgcpk"},"properties":{"overrideid":"Flow_0eeuztq"}},{"bounds":{"lowerRight":{"x":720.0,"y":255.0},"upperLeft":{"x":620.0,"y":175.0}},"resourceId":"Activity_0k0fyan","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0k0fyan","name":"经理","usertaskassignment":{"assignment":{"type":"static","candidateUsers":[{"value":"1123598821738675203"}]}},"formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1d63z9m"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1vu0qon","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0k0fyan"}],"target":{"resourceId":"Activity_0k0fyan"},"properties":{"overrideid":"Flow_1vu0qon"}},{"bounds":{"lowerRight":{"x":808.0,"y":233.0},"upperLeft":{"x":772.0,"y":197.0}},"resourceId":"Event_06z26fy","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_06z26fy","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1d63z9m","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_06z26fy"}],"target":{"resourceId":"Event_06z26fy"},"properties":{"overrideid":"Flow_1d63z9m"}}]}', NULL, 0, '000000'); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id") VALUES ('5b7a367e1139f1ab5cb1e6210685fa91', '多实例示例', 'demo-multi-instance', 'demo-test', NULL, NULL, NULL, '2021-06-25 20:35:27.522', '1123598821738675201', '2021-06-25 21:12:43.852', '1123598821738675201', 1, ' + + + + + + + + + + Flow_1i5g9nh + + + + + + + + + + + + + + + + Flow_1i5g9nh + Flow_15l5hak + + + + + + + + + + + + + + + + + Flow_15l5hak + Flow_0afq5tt + + ${nrOfCompletedInstances/nrOfInstances >= 0.5} + + + + + + + + + + + + + + + + + + Flow_0afq5tt + Flow_0dera7k + + ${nrOfCompletedInstances/nrOfInstances >= 1} + + + + + Flow_0dera7k + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', '{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"demo-multi-instance","name":"多实例示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":270.0,"y":230.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1i5g9nh"}]},{"bounds":{"lowerRight":{"x":420.0,"y":255.0},"upperLeft":{"x":320.0,"y":175.0}},"resourceId":"Activity_0srhxhz","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0srhxhz","name":"发起人","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_15l5hak"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1i5g9nh","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":15.0,"y":15.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0srhxhz"}],"target":{"resourceId":"Activity_0srhxhz"},"properties":{"overrideid":"Flow_1i5g9nh"}},{"bounds":{"lowerRight":{"x":570.0,"y":255.0},"upperLeft":{"x":470.0,"y":175.0}},"resourceId":"Activity_1qj1out","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1qj1out","name":"多实例(串行)","usertaskassignment":{"assignment":{"type":"static","assignee":"${assignee}"}},"formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"multiinstance_type":"Sequential","multiinstance_collection":"${wfMultiInstanceHandler.getList(execution)}","multiinstance_variable":"assignee","multiinstance_condition":"${nrOfCompletedInstances/nrOfInstances >= 0.5}","tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0afq5tt"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_15l5hak","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1qj1out"}],"target":{"resourceId":"Activity_1qj1out"},"properties":{"overrideid":"Flow_15l5hak"}},{"bounds":{"lowerRight":{"x":720.0,"y":255.0},"upperLeft":{"x":620.0,"y":175.0}},"resourceId":"Activity_0oh31om","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0oh31om","name":"多实例(并行)","usertaskassignment":{"assignment":{"type":"static","assignee":"${assignee}"}},"formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"multiinstance_type":"Parallel","multiinstance_collection":"${wfMultiInstanceHandler.getList(execution)}","multiinstance_variable":"assignee","multiinstance_condition":"${nrOfCompletedInstances/nrOfInstances >= 1}","tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0dera7k"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0afq5tt","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0oh31om"}],"target":{"resourceId":"Activity_0oh31om"},"properties":{"overrideid":"Flow_0afq5tt"}},{"bounds":{"lowerRight":{"x":808.0,"y":233.0},"upperLeft":{"x":772.0,"y":197.0}},"resourceId":"Event_02858i0","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_02858i0","name":"结束","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0dera7k","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_02858i0"}],"target":{"resourceId":"Event_02858i0"},"properties":{"overrideid":"Flow_0dera7k"}}]}', NULL, 0, '000000'); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id") VALUES ('617167d80b6051708484bbedfb72a137', '人员/流转调用自定义方法示例', 'demo-custom-method', 'demo-test', NULL, '人员/流转调用自定义方法示例', NULL, '2021-11-29 09:42:20.068', '1123598821738675201', '2021-12-01 19:18:18.463', '1123598821738675201', 1, ' + + + 人员/流转调用自定义方法示例 + + + + + Flow_0yhobgw + + + + + + + + + + + + + + + + Flow_0yhobgw + Flow_1t6zwdf + + + + + + + + + + + + + + + + + Flow_1t6zwdf + Flow_0kxxs74 + + + + + + + + + + + + + + + + + Flow_0kxxs74 + Flow_01h467o + + + + + + + + + + + + + + + + + Flow_0kdt4xu + Flow_1x5wxzy + + + + + + + + + + + + + + + + Flow_0jw1ae2 + Flow_00r5t9o + + + Flow_1fun2ye + + + Flow_01h467o + Flow_0kdt4xu + Flow_0jw1ae2 + + + + ${wfCustomUserHandler.condition(execution, ''对'')} + + + ${wfCustomUserHandler.condition(execution, ''错'')} + + + Flow_1x5wxzy + Flow_00r5t9o + Flow_1fun2ye + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', '{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"demo-custom-method","name":"人员/流转调用自定义方法示例","documentation":"人员/流转调用自定义方法示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":276.0,"y":236.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0yhobgw"}]},{"bounds":{"lowerRight":{"x":430.0,"y":258.0},"upperLeft":{"x":330.0,"y":178.0}},"resourceId":"Activity_06t0e98","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_06t0e98","name":"发起人","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1t6zwdf"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0yhobgw","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":18.0,"y":18.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_06t0e98"}],"target":{"resourceId":"Activity_06t0e98"},"properties":{"overrideid":"Flow_0yhobgw"}},{"bounds":{"lowerRight":{"x":590.0,"y":258.0},"upperLeft":{"x":490.0,"y":178.0}},"resourceId":"Activity_07ghy8s","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_07ghy8s","name":"方式1","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0kxxs74"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1t6zwdf","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_07ghy8s"}],"target":{"resourceId":"Activity_07ghy8s"},"properties":{"overrideid":"Flow_1t6zwdf"}},{"bounds":{"lowerRight":{"x":750.0,"y":258.0},"upperLeft":{"x":650.0,"y":178.0}},"resourceId":"Activity_10810pv","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_10810pv","name":"方式2","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_01h467o"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0kxxs74","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_10810pv"}],"target":{"resourceId":"Activity_10810pv"},"properties":{"overrideid":"Flow_0kxxs74"}},{"bounds":{"lowerRight":{"x":1010.0,"y":130.0},"upperLeft":{"x":910.0,"y":50.0}},"resourceId":"Activity_1i46ta4","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1i46ta4","name":"方式3","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1x5wxzy"}]},{"bounds":{"lowerRight":{"x":1010.0,"y":400.0},"upperLeft":{"x":910.0,"y":320.0}},"resourceId":"Activity_03trwm6","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_03trwm6","name":"方式4","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_00r5t9o"}]},{"bounds":{"lowerRight":{"x":1178.0,"y":236.0},"upperLeft":{"x":1142.0,"y":200.0}},"resourceId":"Event_0uefnoo","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_0uefnoo","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":865.0,"y":243.0},"upperLeft":{"x":815.0,"y":193.0}},"resourceId":"Gateway_0mtj57e","childShapes":[],"stencil":{"id":"ExclusiveGateway"},"properties":{"overrideid":"Gateway_0mtj57e","asynchronousdefinition":false,"exclusivedefinition":true,"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0kdt4xu"},{"resourceId":"Flow_0jw1ae2"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_01h467o","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0mtj57e"}],"target":{"resourceId":"Gateway_0mtj57e"},"properties":{"overrideid":"Flow_01h467o"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0kdt4xu","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":840.0,"y":90.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1i46ta4"}],"target":{"resourceId":"Activity_1i46ta4"},"properties":{"overrideid":"Flow_0kdt4xu","conditionsequenceflow":"${wfCustomUserHandler.condition(execution, ''对'')}"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0jw1ae2","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":840.0,"y":360.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_03trwm6"}],"target":{"resourceId":"Activity_03trwm6"},"properties":{"overrideid":"Flow_0jw1ae2","conditionsequenceflow":"${wfCustomUserHandler.condition(execution, ''错'')}"}},{"bounds":{"lowerRight":{"x":1105.0,"y":243.0},"upperLeft":{"x":1055.0,"y":193.0}},"resourceId":"Gateway_0ha0m7b","childShapes":[],"stencil":{"id":"ExclusiveGateway"},"properties":{"overrideid":"Gateway_0ha0m7b","asynchronousdefinition":false,"exclusivedefinition":true,"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1fun2ye"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1x5wxzy","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":1080.0,"y":90.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0ha0m7b"}],"target":{"resourceId":"Gateway_0ha0m7b"},"properties":{"overrideid":"Flow_1x5wxzy"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1fun2ye","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_0uefnoo"}],"target":{"resourceId":"Event_0uefnoo"},"properties":{"overrideid":"Flow_1fun2ye"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_00r5t9o","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":1080.0,"y":360.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0ha0m7b"}],"target":{"resourceId":"Gateway_0ha0m7b"},"properties":{"overrideid":"Flow_00r5t9o"}}]}', NULL, 0, '000000'); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id") VALUES ('89d9c299dfed64a7834fdb7caccc913f', '字段联动', 'field-linkage', 'field-linkage', NULL, '表单字段联动示例', NULL, '2021-08-23 13:22:16.481', '1123598821738675201', '2021-08-23 13:25:32.18', '1123598821738675201', 1, ' + + + 表单字段联动示例 + + + + + + + + Flow_0ij25wf + + + + + + + + + + + + + + + + + + + Flow_0ij25wf + Flow_0vq4xed + + + + Flow_0vq4xed + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', '{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"field-linkage","name":"字段联动","documentation":"表单字段联动示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":276.0,"y":236.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1629695558953_19833","name":"控制显隐","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1629695859796_23456","name":"值改变","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input2","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0ij25wf"}]},{"bounds":{"lowerRight":{"x":430.0,"y":258.0},"upperLeft":{"x":330.0,"y":178.0}},"resourceId":"Activity_1tlsc5z","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1tlsc5z","name":"1","formproperties":{"formProperties":[{"id":"1629695558953_19833","name":"控制显隐","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1629695859796_23456","name":"值改变","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input2","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0vq4xed"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0ij25wf","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":18.0,"y":18.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1tlsc5z"}],"target":{"resourceId":"Activity_1tlsc5z"},"properties":{"overrideid":"Flow_0ij25wf"}},{"bounds":{"lowerRight":{"x":528.0,"y":236.0},"upperLeft":{"x":492.0,"y":200.0}},"resourceId":"Event_1ettf2b","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_1ettf2b","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0vq4xed","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_1ettf2b"}],"target":{"resourceId":"Event_1ettf2b"},"properties":{"overrideid":"Flow_0vq4xed"}}]}', NULL, 0, '000000'); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id") VALUES ('d71049b6ba4eda39cacf9baf984274ac', '节点独立表单示例', 'indep-form', 'wf_indep_default-value', NULL, NULL, NULL, '2021-10-11 21:32:41.567', '1123598821738675201', '2021-10-11 21:32:41.567', '1123598821738675201', 1, ' + + + + + + + + + + + + + + + + + Flow_0u2w7hr + + + + + + + + + + + + + + + + + + Flow_0u2w7hr + Flow_1gfy6oq + + + + + + + + + + + + + + + + + Flow_1gfy6oq + Flow_016wlba + + + + + + + + + + + + + + + + Flow_016wlba + Flow_1omx17n + + + + Flow_1omx17n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', '{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"indep-form","name":"节点独立表单示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":276.0,"y":236.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0u2w7hr"}]},{"bounds":{"lowerRight":{"x":430.0,"y":258.0},"upperLeft":{"x":330.0,"y":178.0}},"resourceId":"Activity_0a06fpe","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0a06fpe","name":"节点1","formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1gfy6oq"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0u2w7hr","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":18.0,"y":18.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0a06fpe"}],"target":{"resourceId":"Activity_0a06fpe"},"properties":{"overrideid":"Flow_0u2w7hr"}},{"bounds":{"lowerRight":{"x":590.0,"y":258.0},"upperLeft":{"x":490.0,"y":178.0}},"resourceId":"Activity_0k3kp91","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0k3kp91","name":"节点2","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_016wlba"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1gfy6oq","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0k3kp91"}],"target":{"resourceId":"Activity_0k3kp91"},"properties":{"overrideid":"Flow_1gfy6oq"}},{"bounds":{"lowerRight":{"x":750.0,"y":258.0},"upperLeft":{"x":650.0,"y":178.0}},"resourceId":"Activity_1yv7km2","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1yv7km2","name":"汇总","asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1omx17n"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_016wlba","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1yv7km2"}],"target":{"resourceId":"Activity_1yv7km2"},"properties":{"overrideid":"Flow_016wlba"}},{"bounds":{"lowerRight":{"x":848.0,"y":236.0},"upperLeft":{"x":812.0,"y":200.0}},"resourceId":"Event_1vr1neq","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_1vr1neq","name":"结束","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1omx17n","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_1vr1neq"}],"target":{"resourceId":"Event_1vr1neq"},"properties":{"overrideid":"Flow_1omx17n"}}]}', NULL, 0, '000000'); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id") VALUES ('fb4c1a6a8c4588779a2519a547966846', '测试默认值', 'test-default-values', 'default-value', NULL, NULL, NULL, '2021-05-31 21:39:46.545', '1123598821738675201', '2021-07-23 14:22:04.176', '1123598821738675201', 1, ' + + + + + + + + + + + + + + + + Flow_0c932wc + + + + + + + + + + + + + + + + + + + + + + + + Flow_0c932wc + Flow_042y9oy + + + + + + + + + + + + + + + + + + + + + + + + + Flow_042y9oy + Flow_0c47aum + + + + + + + + + + + + + + + + + + + + + + + + + Flow_0c47aum + Flow_1ehhsly + + + + Flow_1ehhsly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', '{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"test-default-values","name":"测试默认值","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":270.0,"y":230.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0c932wc"}]},{"bounds":{"lowerRight":{"x":420.0,"y":255.0},"upperLeft":{"x":320.0,"y":175.0}},"resourceId":"Activity_0p2hxfq","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0p2hxfq","name":"人事","usertaskassignment":{"assignment":{"type":"static","assignee":"1123598821738675201"}},"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_042y9oy"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0c932wc","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":15.0,"y":15.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0p2hxfq"}],"target":{"resourceId":"Activity_0p2hxfq"},"properties":{"overrideid":"Flow_0c932wc"}},{"bounds":{"lowerRight":{"x":570.0,"y":255.0},"upperLeft":{"x":470.0,"y":175.0}},"resourceId":"Activity_0p0q6jd","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0p0q6jd","name":"经理","usertaskassignment":{"assignment":{"type":"static","assignee":"1123598821738675203"}},"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0c47aum"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_042y9oy","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0p0q6jd"}],"target":{"resourceId":"Activity_0p0q6jd"},"properties":{"overrideid":"Flow_042y9oy"}},{"bounds":{"lowerRight":{"x":720.0,"y":255.0},"upperLeft":{"x":620.0,"y":175.0}},"resourceId":"Activity_1dj1hpj","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1dj1hpj","name":"老板","usertaskassignment":{"assignment":{"type":"static","assignee":"1123598821738675204"}},"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1ehhsly"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0c47aum","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1dj1hpj"}],"target":{"resourceId":"Activity_1dj1hpj"},"properties":{"overrideid":"Flow_0c47aum"}},{"bounds":{"lowerRight":{"x":808.0,"y":233.0},"upperLeft":{"x":772.0,"y":197.0}},"resourceId":"Event_03anpp1","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_03anpp1","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1ehhsly","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_03anpp1"}],"target":{"resourceId":"Event_03anpp1"},"properties":{"overrideid":"Flow_1ehhsly"}}]}', NULL, 0, '000000'); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id") VALUES ('2f6b3b6de24354bb5df5aad3a87789af', '请假流程', 'leave', 'leave', NULL, NULL, NULL, '2021-06-01 22:14:07.363', '1123598821738675201', '2022-02-25 14:04:27.901', '1123598821738675201', 1, ' + + + + + + + + + + + + + + + Flow_0myeljb + + + + + + + + + + + + + + + + + + + + + Flow_0myeljb + Flow_0bz2pj7 + + + + + + + + + + + + + + + + + + + + + + Flow_0bz2pj7 + Flow_1pf3fia + + + + Flow_1pf3fia + Flow_0of3zct + Flow_139q6po + + + + + + + + + + + + + + + + + + + + + + Flow_0of3zct + Flow_1dmv86y + + + ${days<5} + + + + + + + + + + + + + + + + + + + + + Flow_139q6po + Flow_1bugorc + + + ${days>=5} + + + Flow_1dmv86y + Flow_1bugorc + Flow_0vtl8w4 + + + + + Flow_0vtl8w4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', '{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"leave","name":"请假流程","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":270.0,"y":230.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0myeljb"}]},{"bounds":{"lowerRight":{"x":420.0,"y":255.0},"upperLeft":{"x":320.0,"y":175.0}},"resourceId":"Activity_0u3ywm0","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0u3ywm0","name":"发起人","formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0bz2pj7"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0myeljb","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":15.0,"y":15.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0u3ywm0"}],"target":{"resourceId":"Activity_0u3ywm0"},"properties":{"overrideid":"Flow_0myeljb"}},{"bounds":{"lowerRight":{"x":570.0,"y":255.0},"upperLeft":{"x":470.0,"y":175.0}},"resourceId":"Activity_1hmjyx7","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1hmjyx7","name":"人事","formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1pf3fia"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0bz2pj7","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1hmjyx7"}],"target":{"resourceId":"Activity_1hmjyx7"},"properties":{"overrideid":"Flow_0bz2pj7"}},{"bounds":{"lowerRight":{"x":675.0,"y":240.0},"upperLeft":{"x":625.0,"y":190.0}},"resourceId":"Gateway_1qc70vy","childShapes":[],"stencil":{"id":"ExclusiveGateway"},"properties":{"overrideid":"Gateway_1qc70vy","asynchronousdefinition":false,"exclusivedefinition":true,"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0of3zct"},{"resourceId":"Flow_139q6po"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1pf3fia","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_1qc70vy"}],"target":{"resourceId":"Gateway_1qc70vy"},"properties":{"overrideid":"Flow_1pf3fia"}},{"bounds":{"lowerRight":{"x":830.0,"y":150.0},"upperLeft":{"x":730.0,"y":70.0}},"resourceId":"Activity_1r4xgdo","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1r4xgdo","name":"经理","formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1dmv86y"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0of3zct","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":650.0,"y":110.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1r4xgdo"}],"target":{"resourceId":"Activity_1r4xgdo"},"properties":{"overrideid":"Flow_0of3zct","name":"小于5天","conditionsequenceflow":"${days<5}"}},{"bounds":{"lowerRight":{"x":830.0,"y":370.0},"upperLeft":{"x":730.0,"y":290.0}},"resourceId":"Activity_1bt0gzy","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1bt0gzy","name":"老板","formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1bugorc"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_139q6po","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":650.0,"y":330.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1bt0gzy"}],"target":{"resourceId":"Activity_1bt0gzy"},"properties":{"overrideid":"Flow_139q6po","name":"大于5天","conditionsequenceflow":"${days>=5}"}},{"bounds":{"lowerRight":{"x":925.0,"y":240.0},"upperLeft":{"x":875.0,"y":190.0}},"resourceId":"Gateway_0ciyfci","childShapes":[],"stencil":{"id":"ExclusiveGateway"},"properties":{"overrideid":"Gateway_0ciyfci","asynchronousdefinition":false,"exclusivedefinition":true,"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0vtl8w4"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1dmv86y","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":900.0,"y":110.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0ciyfci"}],"target":{"resourceId":"Gateway_0ciyfci"},"properties":{"overrideid":"Flow_1dmv86y"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1bugorc","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":900.0,"y":330.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0ciyfci"}],"target":{"resourceId":"Gateway_0ciyfci"},"properties":{"overrideid":"Flow_1bugorc"}},{"bounds":{"lowerRight":{"x":1028.0,"y":233.0},"upperLeft":{"x":992.0,"y":197.0}},"resourceId":"Event_1j9xjra","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_1j9xjra","name":"结束","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0vtl8w4","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_1j9xjra"}],"target":{"resourceId":"Event_1j9xjra"},"properties":{"overrideid":"Flow_0vtl8w4"}}]}', NULL, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for act_de_model_history +-- ---------------------------- +DROP TABLE IF EXISTS "act_de_model_history"; +CREATE TABLE "act_de_model_history" ( + "id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(400) COLLATE "pg_catalog"."default" NOT NULL, + "model_key" varchar(400) COLLATE "pg_catalog"."default" NOT NULL, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "category_id" int8, + "description" varchar(4000) COLLATE "pg_catalog"."default", + "model_comment" varchar(4000) COLLATE "pg_catalog"."default", + "created" timestamp(6), + "created_by" varchar(255) COLLATE "pg_catalog"."default", + "last_updated" timestamp(6), + "last_updated_by" varchar(255) COLLATE "pg_catalog"."default", + "removal_date" timestamp(6), + "version" int4, + "model_xml" text COLLATE "pg_catalog"."default", + "model_editor_json" text COLLATE "pg_catalog"."default", + "model_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "model_type" int4, + "tenant_id" varchar(255) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying, + "icon" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "act_de_model_history" OWNER TO "postgres"; +COMMENT ON COLUMN "act_de_model_history"."name" IS '名称'; +COMMENT ON COLUMN "act_de_model_history"."model_key" IS '模型标识'; +COMMENT ON COLUMN "act_de_model_history"."form_key" IS '表单标识'; +COMMENT ON COLUMN "act_de_model_history"."category_id" IS '分类id'; +COMMENT ON COLUMN "act_de_model_history"."description" IS '描述'; +COMMENT ON COLUMN "act_de_model_history"."model_comment" IS '注释'; +COMMENT ON COLUMN "act_de_model_history"."created" IS '创建时间'; +COMMENT ON COLUMN "act_de_model_history"."created_by" IS '创建人'; +COMMENT ON COLUMN "act_de_model_history"."last_updated" IS '最后更新时间'; +COMMENT ON COLUMN "act_de_model_history"."last_updated_by" IS '最后更新人'; +COMMENT ON COLUMN "act_de_model_history"."removal_date" IS '移除时间'; +COMMENT ON COLUMN "act_de_model_history"."version" IS '版本'; +COMMENT ON COLUMN "act_de_model_history"."model_xml" IS '模型XML'; +COMMENT ON COLUMN "act_de_model_history"."model_editor_json" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "act_de_model_history"."model_id" IS 'modelId'; +COMMENT ON COLUMN "act_de_model_history"."model_type" IS '类型'; +COMMENT ON COLUMN "act_de_model_history"."tenant_id" IS '租户id'; +COMMENT ON COLUMN "act_de_model_history"."icon" IS '图标'; +COMMENT ON TABLE "act_de_model_history" IS '流程 - 定义 - 模型历史'; + +-- ---------------------------- +-- Records of act_de_model_history +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_button +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_button"; +CREATE TABLE "blade_wf_button" ( + "id" int8 NOT NULL, + "button_key" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "display" int2, + "sort" int4, + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int2, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_button" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_button"."button_key" IS '按钮key'; +COMMENT ON COLUMN "blade_wf_button"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_button"."display" IS '默认是否显示'; +COMMENT ON COLUMN "blade_wf_button"."sort" IS '排序'; +COMMENT ON COLUMN "blade_wf_button"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_button"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_button"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_button"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_button"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_button"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_button"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_button"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_button" IS '流程按钮'; + +-- ---------------------------- +-- Records of blade_wf_button +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394176899911041025, 'wf_pass', '通过', 1, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 14:24:10', 1123598821738675201, '2021-05-16 14:24:10', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394177198465794050, 'wf_reject', '驳回', 1, 2, 1123598821738675201, 1123598813738675201, '2021-05-16 14:25:21', 1123598821738675201, '2021-05-16 14:25:21', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394179125421326337, 'wf_print', '打印', 1, 3, 1123598821738675201, 1123598813738675201, '2021-05-16 14:33:01', 1123598821738675201, '2021-05-16 14:33:01', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394609969089761281, 'wf_transfer', '转办', 1, 4, 1123598821738675201, 1123598813738675201, '2021-05-16 19:05:02', 1123598821738675201, '2021-05-16 19:05:02', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394610036672581634, 'wf_delegate', '委托', 1, 5, 1123598821738675201, 1123598813738675201, '2021-05-16 19:05:18', 1123598821738675201, '2021-05-16 19:05:18', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1395271519601426433, 'wf_terminate', '终止', 1, 6, 1123598821738675201, 1123598813738675201, '2021-05-20 14:53:48', 1123598821738675201, '2021-05-20 14:53:48', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1395274709692579841, 'wf_add_instance', '加签', 1, 7, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:28', 1123598821738675201, '2021-05-20 15:06:28', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1395274774674931713, 'wf_del_instance', '减签', 1, 8, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:44', 1123598821738675201, '2021-05-20 15:06:44', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1395274955986305025, 'wf_rollback', '指定回退', 1, 9, 1123598821738675201, 1123598813738675201, '2021-05-20 15:07:27', 1123598821738675201, '2021-05-20 15:07:27', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_category +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_category"; +CREATE TABLE "blade_wf_category" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "pid" int8 DEFAULT 0, + "sort" int4, + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_category" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_category"."name" IS '分类名称'; +COMMENT ON COLUMN "blade_wf_category"."pid" IS '上级id'; +COMMENT ON COLUMN "blade_wf_category"."sort" IS '排序'; +COMMENT ON COLUMN "blade_wf_category"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_category"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_category"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_category"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_category"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_category"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_category"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_category"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_category" IS '流程分类'; + +-- ---------------------------- +-- Records of blade_wf_category +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_category" ("id", "name", "pid", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394133715940073474, '请假流程', 0, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 11:32:34', 1123598821738675201, '2021-06-25 20:37:49', '1', 0, '000000'); +INSERT INTO "blade_wf_category" ("id", "name", "pid", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394158934813609986, '财务流程', 0, 2, 1123598821738675201, 1123598813738675201, '2021-05-16 13:12:47', 1123598821738675201, '2021-05-16 13:13:07', '1', 0, '000000'); +INSERT INTO "blade_wf_category" ("id", "name", "pid", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394159147934584833, '报销流程', 1394158934813609986, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 13:13:38', 1123598821738675201, '2021-05-16 13:13:38', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_condition +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_condition"; +CREATE TABLE "blade_wf_condition" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "expression" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int2, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_condition" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_condition"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_condition"."expression" IS '表达式'; +COMMENT ON COLUMN "blade_wf_condition"."type" IS '类型'; +COMMENT ON COLUMN "blade_wf_condition"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_condition"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_condition"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_condition"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_condition"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_condition"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_condition"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_condition"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_condition" IS '流程表达式'; + +-- ---------------------------- +-- Records of blade_wf_condition +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_condition" ("id", "name", "expression", "type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408267023015739393, '流程发起人', 'applyUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:17', 1123598821738675201, '2021-06-25 11:33:17', '1', 0, '000000'); +INSERT INTO "blade_wf_condition" ("id", "name", "expression", "type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408267100878798850, '当前操作人', 'currentUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:36', 1123598821738675201, '2021-06-25 11:33:36', '1', 0, '000000'); +INSERT INTO "blade_wf_condition" ("id", "name", "expression", "type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408305933398896641, '上级部门领导', 'leader', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 14:07:54', 1123598821738675201, '2021-06-25 14:07:54', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_copy +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_copy"; +CREATE TABLE "blade_wf_copy" ( + "id" int8 NOT NULL, + "user_id" int8, + "title" varchar(255) COLLATE "pg_catalog"."default", + "initiator" varchar(255) COLLATE "pg_catalog"."default", + "task_id" varchar(255) COLLATE "pg_catalog"."default", + "process_id" varchar(255) COLLATE "pg_catalog"."default", + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "form_url" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0 +) +; +ALTER TABLE "blade_wf_copy" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_copy"."user_id" IS '用户id'; +COMMENT ON COLUMN "blade_wf_copy"."title" IS '标题'; +COMMENT ON COLUMN "blade_wf_copy"."initiator" IS '发起者'; +COMMENT ON COLUMN "blade_wf_copy"."task_id" IS '任务id'; +COMMENT ON COLUMN "blade_wf_copy"."process_id" IS '流程实例id'; +COMMENT ON COLUMN "blade_wf_copy"."deployment_id" IS '流程部署id'; +COMMENT ON COLUMN "blade_wf_copy"."form_key" IS '外置表单key'; +COMMENT ON COLUMN "blade_wf_copy"."form_url" IS '外置表单url'; +COMMENT ON COLUMN "blade_wf_copy"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_copy"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_copy"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_copy"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_copy"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_copy"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_copy"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_copy" IS '流程抄送'; + +-- ---------------------------- +-- Records of blade_wf_copy +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_deployment_form +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_deployment_form"; +CREATE TABLE "blade_wf_deployment_form" ( + "id" int8 NOT NULL, + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "content" text COLLATE "pg_catalog"."default", + "app_content" text COLLATE "pg_catalog"."default", + "task_key" varchar(255) COLLATE "pg_catalog"."default", + "task_name" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0 +) +; +ALTER TABLE "blade_wf_deployment_form" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_deployment_form"."deployment_id" IS '流程部署id'; +COMMENT ON COLUMN "blade_wf_deployment_form"."form_key" IS '表单key'; +COMMENT ON COLUMN "blade_wf_deployment_form"."content" IS '表单内容'; +COMMENT ON COLUMN "blade_wf_deployment_form"."app_content" IS 'app表单内容'; +COMMENT ON COLUMN "blade_wf_deployment_form"."task_key" IS '节点key'; +COMMENT ON COLUMN "blade_wf_deployment_form"."task_name" IS '节点名称'; +COMMENT ON COLUMN "blade_wf_deployment_form"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_deployment_form"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_deployment_form"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_deployment_form"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_deployment_form"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_deployment_form"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_deployment_form"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_deployment_form" IS '流程部署 - 表单'; + +-- ---------------------------- +-- Records of blade_wf_deployment_form +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_draft +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_draft"; +CREATE TABLE "blade_wf_draft" ( + "id" int8 NOT NULL, + "user_id" int8, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "process_def_id" varchar(255) COLLATE "pg_catalog"."default", + "task_id" varchar(255) COLLATE "pg_catalog"."default", + "variables" text COLLATE "pg_catalog"."default", + "platform" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "blade_wf_draft" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_draft"."user_id" IS '用户id'; +COMMENT ON COLUMN "blade_wf_draft"."form_key" IS '表单key'; +COMMENT ON COLUMN "blade_wf_draft"."process_def_id" IS '流程定义id'; +COMMENT ON COLUMN "blade_wf_draft"."task_id" IS '流程定义id'; +COMMENT ON COLUMN "blade_wf_draft"."variables" IS '表单变量'; +COMMENT ON COLUMN "blade_wf_draft"."platform" IS '平台 pc/app'; +COMMENT ON TABLE "blade_wf_draft" IS '流程草稿箱'; + +-- ---------------------------- +-- Records of blade_wf_draft +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form"; +CREATE TABLE "blade_wf_form" ( + "id" int8 NOT NULL, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "content" text COLLATE "pg_catalog"."default", + "app_content" text COLLATE "pg_catalog"."default", + "version" int4, + "category_id" int8, + "remark" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form"."form_key" IS '表单key'; +COMMENT ON COLUMN "blade_wf_form"."name" IS '表单名称'; +COMMENT ON COLUMN "blade_wf_form"."content" IS '表单内容'; +COMMENT ON COLUMN "blade_wf_form"."app_content" IS 'app表单内容'; +COMMENT ON COLUMN "blade_wf_form"."version" IS '版本'; +COMMENT ON COLUMN "blade_wf_form"."category_id" IS '分类id'; +COMMENT ON COLUMN "blade_wf_form"."remark" IS '备注'; +COMMENT ON COLUMN "blade_wf_form"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form" IS '流程表单'; + +-- ---------------------------- +-- Records of blade_wf_form +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_form" ("id", "form_key", "name", "content", "app_content", "version", "category_id", "remark", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399359377009377281, 'default-value', '测试默认值', '{column:[{type:''input'',label:''人事姓名'',span:24,display:true,prop:''1622472547203_21841'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''人事职位'',span:24,display:true,prop:''1622553629767_65211'',value:''${this.$store.getters.userInfo.post_name}''},{type:''input'',label:''人事部门'',span:24,display:true,prop:''1622472547375_86557'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''当前日期'',span:24,display:true,prop:''1622553629949_3168'',value:''${this.dateFormat(new Date(),\"yyyy-MM-dd\")}''},{type:''input'',label:''当前时间'',span:24,display:true,prop:''1622553631752_15562'',value:''${this.dateFormat(new Date(),\"hh:mm:ss\")}''},{type:''input'',label:''人事姓名和日期'',span:24,display:true,prop:''1622553691156_69886'',value:''${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}''},{type:''input'',label:''经理姓名'',span:24,display:true,prop:''1622472547780_5707'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''经理部门'',span:24,display:true,prop:''1622472547975_90560'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''老板姓名'',span:24,display:true,prop:''1622472548372_60141'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''老板部门'',span:24,display:true,prop:''1622472548560_32474'',value:''${this.$store.getters.userInfo.dept_name}''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"人事姓名","span":24,"display":true,"prop":"1622472547203_21841","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"人事职位","span":24,"display":true,"prop":"1622553629767_65211","value":"${this.$store.getters.userInfo.post_name}"},{"type":"input","label":"人事部门","span":24,"display":true,"prop":"1622472547375_86557","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"当前日期","span":24,"display":true,"prop":"1622553629949_3168","value":"${this.dateFormat(new Date(),\"yyyy-MM-dd\")}"},{"type":"input","label":"当前时间","span":24,"display":true,"prop":"1622553631752_15562","value":"${this.dateFormat(new Date(),\"hh:mm:ss\")}"},{"type":"input","label":"人事姓名和日期","span":24,"display":true,"prop":"1622553691156_69886","value":"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}"},{"type":"input","label":"经理姓名","span":24,"display":true,"prop":"1622472547780_5707","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"经理部门","span":24,"display":true,"prop":"1622472547975_90560","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"老板姓名","span":24,"display":true,"prop":"1622472548372_60141","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"老板部门","span":24,"display":true,"prop":"1622472548560_32474","value":"${this.$store.getters.userInfo.dept_name}"}],"labelPosition":"left","labelSuffix":":","labelWidth":140,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, -1, '', 1123598821738675201, 1123598813738675201, '2021-05-31 21:37:29', 1123598821738675201, '2021-11-01 09:08:05', 1, 0, '000000'); +INSERT INTO "blade_wf_form" ("id", "form_key", "name", "content", "app_content", "version", "category_id", "remark", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408402768310304770, 'demo-test', '测试简单表单', '{column:[{type:''input'',label:''单行文本'',span:24,display:true,prop:''1624624365132_23209''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"单行文本","span":24,"display":true,"prop":"1624624365132_23209"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, -1, '', 1123598821738675201, 1123598813738675201, '2021-06-25 20:32:41', 1123598821738675201, '2021-11-01 09:08:09', 1, 0, '000000'); +INSERT INTO "blade_wf_form" ("id", "form_key", "name", "content", "app_content", "version", "category_id", "remark", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1429672727182159874, 'field-linkage', '字段联动', '{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input'',change:({value}) => { + +}},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.$set(this.form, ''input2'', text) +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2'',change:({value}) => { + +}}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"switch","label":"控制显隐","span":24,"display":true,"value":"0","dicData":[{"label":"","value":"0"},{"label":"","value":"1"}],"prop":"1629695558953_19833","change":"({value}) => {\r\n const input = this.findObject(this.option.column, ''input'')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input","change":"({value}) => {\r\n\r\n}"},{"type":"select","label":"值改变","dicData":[{"label":"一天","value":"1"},{"label":"两天","value":"2"},{"label":"三天","value":"3"}],"cascaderItem":[],"span":24,"display":true,"props":{"label":"label","value":"value"},"prop":"1629695859796_23456","change":"({value}) => {\r\n let text = value\r\n if(value) {\r\n text = ''请假 '' + value + '' 天''\r\n }\r\n this.$set(this.form, ''input2'', text)\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input2","change":"({value}) => {\r\n\r\n}"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, -1, '字段联动示例', 1123598821738675201, 1123598813738675201, '2021-08-23 13:11:54', 1123598821738675201, '2021-11-01 09:08:10', 1, 0, '000000'); +INSERT INTO "blade_wf_form" ("id", "form_key", "name", "content", "app_content", "version", "category_id", "remark", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399729025840140290, 'leave', '请假流程表单', '{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''yyyy-MM-dd HH:mm:ss'',valueFormat:''yyyy-MM-dd HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { + if (!value || value.length == 0) { + this.$set(this.form, ''days'', undefined) + } else { + const d1 = Date.parse(value.split('','')[0]) + const d2 = Date.parse(value.split('','')[1]) + const day = (d2-d1)/(1*24*60*60*1000) + this.$set(this.form, ''days'', Number(day.toFixed(2))) + } +},dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { + if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' ) + else this.$set(this.form, ''reason'', '''') +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"yyyy-MM-dd HH:mm:ss","valueFormat":"yyyy-MM-dd HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, ''days'', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, ''days'', Number(day.toFixed(2)))\r\n }\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' )\n else this.$set(this.form, ''reason'', '''')\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, -1, '', 1123598821738675201, 1123598813738675201, '2021-06-01 22:06:20', 1123598821738675201, '2022-04-12 10:27:07', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_default_values +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_default_values"; +CREATE TABLE "blade_wf_form_default_values" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "content" varchar(255) COLLATE "pg_catalog"."default", + "field_type" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_default_values" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_default_values"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_form_default_values"."content" IS '内容'; +COMMENT ON COLUMN "blade_wf_form_default_values"."field_type" IS '字段类型'; +COMMENT ON COLUMN "blade_wf_form_default_values"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_default_values"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_default_values"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_default_values"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_default_values"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_default_values"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_default_values"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_default_values"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_default_values" IS '流程表单字段默认值'; + +-- ---------------------------- +-- Records of blade_wf_form_default_values +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399346112331087873, '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:44:46', 1123598821738675201, '2021-05-31 20:56:32', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399347906465595393, '当前操作人部门', '${this.$store.getters.userInfo.dept_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:51:54', 1123598821738675201, '2021-05-31 20:56:41', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399717069960855553, '当前日期', '${this.dateFormat(new Date(),"yyyy-MM-dd")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:18:50', 1123598821738675201, '2021-06-01 21:34:25', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399717187904684034, '当前操作人职位', '${this.$store.getters.userInfo.post_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:18', 1123598821738675201, '2021-06-01 21:19:18', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399717285564858369, '当前时间', '${this.dateFormat(new Date(),"hh:mm:ss")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:41', 1123598821738675201, '2021-06-01 21:34:34', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399718803940655106, '当前操作人姓名和日期', '${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),"yyyy-MM-dd")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:25:43', 1123598821738675201, '2021-06-01 21:34:40', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408401952027443201, '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-25 20:29:27', 1123598821738675201, '2021-06-25 20:29:32', '1', 1, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_history +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_history"; +CREATE TABLE "blade_wf_form_history" ( + "id" int8 NOT NULL, + "form_id" int8, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "content" text COLLATE "pg_catalog"."default", + "app_content" text COLLATE "pg_catalog"."default", + "version" int4, + "category_id" int8, + "remark" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0 +) +; +ALTER TABLE "blade_wf_form_history" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_history"."form_id" IS '表单id'; +COMMENT ON COLUMN "blade_wf_form_history"."form_key" IS '表单key'; +COMMENT ON COLUMN "blade_wf_form_history"."name" IS '表单名称'; +COMMENT ON COLUMN "blade_wf_form_history"."content" IS '表单内容'; +COMMENT ON COLUMN "blade_wf_form_history"."app_content" IS 'app表单内容'; +COMMENT ON COLUMN "blade_wf_form_history"."version" IS '版本'; +COMMENT ON COLUMN "blade_wf_form_history"."category_id" IS '分类id'; +COMMENT ON COLUMN "blade_wf_form_history"."remark" IS '备注'; +COMMENT ON COLUMN "blade_wf_form_history"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_history"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_history"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_history"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_history"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_history"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_history"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_form_history" IS '流程表单'; + +-- ---------------------------- +-- Records of blade_wf_form_history +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_theme"; +CREATE TABLE "blade_wf_form_theme" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "theme_key" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "border_width" varchar(255) COLLATE "pg_catalog"."default", + "border_color" varchar(255) COLLATE "pg_catalog"."default", + "label_color" varchar(255) COLLATE "pg_catalog"."default", + "label_bg" varchar(255) COLLATE "pg_catalog"."default", + "label_width" varchar(255) COLLATE "pg_catalog"."default", + "label_font_size" varchar(255) COLLATE "pg_catalog"."default", + "value_color" varchar(255) COLLATE "pg_catalog"."default", + "value_bg" varchar(255) COLLATE "pg_catalog"."default", + "value_font_size" varchar(255) COLLATE "pg_catalog"."default", + "field0" varchar(255) COLLATE "pg_catalog"."default", + "field1" varchar(255) COLLATE "pg_catalog"."default", + "field2" varchar(255) COLLATE "pg_catalog"."default", + "field3" varchar(255) COLLATE "pg_catalog"."default", + "field4" varchar(255) COLLATE "pg_catalog"."default", + "field5" varchar(255) COLLATE "pg_catalog"."default", + "field6" varchar(255) COLLATE "pg_catalog"."default", + "field7" varchar(255) COLLATE "pg_catalog"."default", + "field8" varchar(255) COLLATE "pg_catalog"."default", + "field9" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_theme" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_theme"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_form_theme"."theme_key" IS '主题key'; +COMMENT ON COLUMN "blade_wf_form_theme"."border_width" IS '边框宽度'; +COMMENT ON COLUMN "blade_wf_form_theme"."border_color" IS '边框颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_color" IS 'label字体颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_bg" IS 'label背景颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_width" IS 'label宽度'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_font_size" IS 'label字体大小'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_color" IS 'value字体颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_bg" IS 'value背景颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_font_size" IS 'value字体大小'; +COMMENT ON COLUMN "blade_wf_form_theme"."field0" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field1" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field2" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field3" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field4" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field5" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field6" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field7" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field8" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field9" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_theme"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_theme"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_theme"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_theme"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_theme"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_theme" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1, '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', '', '14px', '', '', '14px', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:36:46', 1123598821738675201, '2023-05-04 10:43:18', 1, 0, '000000'); +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (2, '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:16:47', 1123598821738675201, '2023-04-18 11:50:10', 1, 0, '000000'); +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (3, '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598821738675201, '2023-04-04 16:57:35', 1123598821738675201, '2023-05-04 10:43:44', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Indexes structure for table blade_wf_form_theme +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" ON "blade_wf_form_theme" USING btree ( + "theme_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_theme +-- ---------------------------- +ALTER TABLE "blade_wf_form_theme" ADD CONSTRAINT "blade_wf_form_theme_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_variable"; +CREATE TABLE "blade_wf_form_variable" ( + "id" int8 NOT NULL, + "process_ins_id" varchar(255) COLLATE "pg_catalog"."default", + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "task_id" varchar(255) COLLATE "pg_catalog"."default", + "task_def_key" varchar(255) COLLATE "pg_catalog"."default", + "task_name" varchar(255) COLLATE "pg_catalog"."default", + "form_option" text COLLATE "pg_catalog"."default", + "form_variable" text COLLATE "pg_catalog"."default", + "status" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_time" timestamp(6), + "create_dept" int8, + "update_user" int8, + "update_time" timestamp(6), + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_variable" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_variable"."process_ins_id" IS '流程实例id'; +COMMENT ON COLUMN "blade_wf_form_variable"."deployment_id" IS '流程部署id'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_id" IS '任务id'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_def_key" IS '任务节点key'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_name" IS '任务节点名称'; +COMMENT ON COLUMN "blade_wf_form_variable"."form_option" IS '表单js'; +COMMENT ON COLUMN "blade_wf_form_variable"."form_variable" IS '表单值'; +COMMENT ON COLUMN "blade_wf_form_variable"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_variable"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_variable"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_variable"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_variable"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_variable" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_variable +-- ---------------------------- +ALTER TABLE "blade_wf_form_variable" ADD CONSTRAINT "blade_wf_form_variable_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_listener"; +CREATE TABLE "blade_wf_listener" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "category" varchar(255) COLLATE "pg_catalog"."default", + "event" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "val" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +COMMENT ON COLUMN "blade_wf_listener"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_listener"."category" IS '分类'; +COMMENT ON COLUMN "blade_wf_listener"."event" IS '事件'; +COMMENT ON COLUMN "blade_wf_listener"."type" IS '监听类型'; +COMMENT ON COLUMN "blade_wf_listener"."val" IS '值'; +COMMENT ON COLUMN "blade_wf_listener"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_listener"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_listener"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_listener"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_listener"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_listener"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_listener"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_listener"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_listener" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_listener +-- ---------------------------- +ALTER TABLE "blade_wf_listener" ADD CONSTRAINT "blade_wf_listener_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Table structure for blade_wf_model_scope +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_model_scope"; +CREATE TABLE "blade_wf_model_scope" ( + "id" int8 NOT NULL, + "model_id" varchar(255) COLLATE "pg_catalog"."default", + "model_key" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "val" varchar(255) COLLATE "pg_catalog"."default", + "text" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "blade_wf_model_scope" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_model_scope"."model_id" IS '模型id'; +COMMENT ON COLUMN "blade_wf_model_scope"."model_key" IS '模型key'; +COMMENT ON COLUMN "blade_wf_model_scope"."type" IS '类型 user用户 role角色 dept部门 post职位'; +COMMENT ON COLUMN "blade_wf_model_scope"."val" IS '用户/角色/部门/职位 id集合'; +COMMENT ON COLUMN "blade_wf_model_scope"."text" IS '用户/角色/部门/职位 name集合'; +COMMENT ON TABLE "blade_wf_model_scope" IS '流程模型权限'; + +-- ---------------------------- +-- Records of blade_wf_model_scope +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1418455767366799361, '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1418457955400978434, '0676f2277420b7dc67f69dd3a0ec1164', 'ex-leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1418457988913467393, '5b7a367e1139f1ab5cb1e6210685fa91', 'demo-multi-instance', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1418458020752429058, 'fb4c1a6a8c4588779a2519a547966846', 'test-default-values', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1429675430591442946, '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1447556025547763714, 'd71049b6ba4eda39cacf9baf984274ac', 'indep-form', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_process_leave +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_process_leave"; +CREATE TABLE "blade_wf_process_leave" ( + "id" int8 NOT NULL, + "process_ins_id" varchar(64) COLLATE "pg_catalog"."default", + "process_def_id" varchar(64) COLLATE "pg_catalog"."default", + "current_node" varchar(64) COLLATE "pg_catalog"."default", + "datetime" varchar(64) COLLATE "pg_catalog"."default", + "days" int4, + "reason" text COLLATE "pg_catalog"."default", + "attachment" text COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6) NOT NULL, + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "form_url" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "blade_wf_process_leave" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_process_leave"."process_ins_id" IS '流程实例id'; +COMMENT ON COLUMN "blade_wf_process_leave"."process_def_id" IS '流程定义id'; +COMMENT ON COLUMN "blade_wf_process_leave"."current_node" IS '当前节点'; +COMMENT ON COLUMN "blade_wf_process_leave"."datetime" IS '时间范围'; +COMMENT ON COLUMN "blade_wf_process_leave"."days" IS '请假天数'; +COMMENT ON COLUMN "blade_wf_process_leave"."reason" IS '请假理由'; +COMMENT ON COLUMN "blade_wf_process_leave"."attachment" IS '附件'; +COMMENT ON COLUMN "blade_wf_process_leave"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_process_leave"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_process_leave"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_process_leave"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_process_leave"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_process_leave"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_process_leave"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_process_leave"."form_key" IS '外置表单key'; +COMMENT ON COLUMN "blade_wf_process_leave"."form_url" IS '外置表单url'; +COMMENT ON TABLE "blade_wf_process_leave" IS '请假流程业务示例'; + +-- ---------------------------- +-- Table structure for blade_wf_proxy +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_proxy"; +CREATE TABLE "blade_wf_proxy" ( + "id" int8 NOT NULL, + "user_id" int8, + "proxy_user_id" int8, + "process_def_key" varchar(750) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "start_time" timestamp(6), + "end_time" timestamp(6), + "status" int4 +) +; +ALTER TABLE "blade_wf_proxy" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_proxy"."user_id" IS '委托人'; +COMMENT ON COLUMN "blade_wf_proxy"."proxy_user_id" IS '代理人'; +COMMENT ON COLUMN "blade_wf_proxy"."process_def_key" IS '流程定义key'; +COMMENT ON COLUMN "blade_wf_proxy"."type" IS '1永久 2定时'; +COMMENT ON COLUMN "blade_wf_proxy"."start_time" IS '开始时间'; +COMMENT ON COLUMN "blade_wf_proxy"."end_time" IS '结束时间'; +COMMENT ON COLUMN "blade_wf_proxy"."status" IS '状态'; +COMMENT ON TABLE "blade_wf_proxy" IS '流程代理'; + +-- ---------------------------- +-- Table structure for blade_wf_serial +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_serial"; +CREATE TABLE "blade_wf_serial" ( + "id" int8 NOT NULL, + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "prefix" varchar(255) COLLATE "pg_catalog"."default", + "date_format" varchar(255) COLLATE "pg_catalog"."default", + "suffix_length" int4, + "start_sequence" int4, + "connector" varchar(255) COLLATE "pg_catalog"."default", + "current_sequence" int4, + "cycle" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0 +) +; +ALTER TABLE "blade_wf_serial" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_serial"."deployment_id" IS '部署id'; +COMMENT ON COLUMN "blade_wf_serial"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_serial"."prefix" IS '前缀'; +COMMENT ON COLUMN "blade_wf_serial"."date_format" IS '日期格式化'; +COMMENT ON COLUMN "blade_wf_serial"."suffix_length" IS '后缀位数'; +COMMENT ON COLUMN "blade_wf_serial"."start_sequence" IS '初始数值'; +COMMENT ON COLUMN "blade_wf_serial"."connector" IS '连接符'; +COMMENT ON COLUMN "blade_wf_serial"."current_sequence" IS '当前序列'; +COMMENT ON COLUMN "blade_wf_serial"."cycle" IS '重置周期 none不重置 day天 week周 month月 year年'; +COMMENT ON COLUMN "blade_wf_serial"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_serial"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_serial"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_serial"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_serial"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_serial"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_serial"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_serial" IS '流程流水号'; + +-- ---------------------------- +-- Records of blade_wf_serial +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Indexes structure for table act_de_model +-- ---------------------------- +CREATE INDEX "idx_proc_mod_created" ON "act_de_model" USING btree ( + "created_by" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); +CREATE UNIQUE INDEX "wf_idx_model_key" ON "act_de_model" USING btree ( + "model_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table act_de_model +-- ---------------------------- +ALTER TABLE "act_de_model" ADD CONSTRAINT "act_de_model_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table act_de_model_history +-- ---------------------------- +CREATE INDEX "idx_proc_mod_history_proc" ON "act_de_model_history" USING btree ( + "model_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table act_de_model_history +-- ---------------------------- +ALTER TABLE "act_de_model_history" ADD CONSTRAINT "act_de_model_history_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_button +-- ---------------------------- +ALTER TABLE "blade_wf_button" ADD CONSTRAINT "blade_wf_button_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_category +-- ---------------------------- +ALTER TABLE "blade_wf_category" ADD CONSTRAINT "blade_wf_category_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_condition +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_EXPRESSION" ON "blade_wf_condition" USING btree ( + "expression" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "type" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_condition +-- ---------------------------- +ALTER TABLE "blade_wf_condition" ADD CONSTRAINT "blade_wf_condition_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_copy +-- ---------------------------- +ALTER TABLE "blade_wf_copy" ADD CONSTRAINT "blade_wf_copy_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_deployment_form +-- ---------------------------- +ALTER TABLE "blade_wf_deployment_form" ADD CONSTRAINT "blade_wf_deployment_form_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_draft +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI" ON "blade_wf_draft" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST, + "process_def_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "platform" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" ON "blade_wf_draft" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST, + "task_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "platform" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_draft +-- ---------------------------- +ALTER TABLE "blade_wf_draft" ADD CONSTRAINT "blade_wf_draft_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_form +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_FORM_KEY" ON "blade_wf_form" USING btree ( + "form_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form +-- ---------------------------- +ALTER TABLE "blade_wf_form" ADD CONSTRAINT "blade_wf_form_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_default_values +-- ---------------------------- +ALTER TABLE "blade_wf_form_default_values" ADD CONSTRAINT "blade_wf_form_default_values_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_history +-- ---------------------------- +ALTER TABLE "blade_wf_form_history" ADD CONSTRAINT "blade_wf_form_history_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_model_scope +-- ---------------------------- +ALTER TABLE "blade_wf_model_scope" ADD CONSTRAINT "blade_wf_model_scope_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_process_leave +-- ---------------------------- +ALTER TABLE "blade_wf_process_leave" ADD CONSTRAINT "blade_wf_process_leave_pkey" PRIMARY KEY ("id", "create_time"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_proxy +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_UNI_PROXY" ON "blade_wf_proxy" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST, + "process_def_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); +CREATE INDEX "WF_IDX_USER_ID" ON "blade_wf_proxy" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_proxy +-- ---------------------------- +ALTER TABLE "blade_wf_proxy" ADD CONSTRAINT "blade_wf_proxy_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_serial +-- ---------------------------- +CREATE UNIQUE INDEX "uni" ON "blade_wf_serial" USING btree ( + "deployment_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_serial +-- ---------------------------- +ALTER TABLE "blade_wf_serial" ADD CONSTRAINT "blade_wf_serial_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/sqlserver/bladex_menu.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/sqlserver/bladex_menu.sql new file mode 100644 index 0000000..17827bb --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/sqlserver/bladex_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1164733399669963301, 0, N'workflow', N'协同办公', N'menu', N'/plugin/workflow', N'iconfont iconicon_send', 5, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347061240995815426, 1164733399669963301, N'wf_design', N'流程设计', N'menu', N'/plugin/workflow/design', N'iconfont iconicon_work', 1, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347061240995815427, 1347061240995815426, N'wf_design_model', N'模型设计', N'menu', N'/plugin/workflow/design/model', N'iconfont iconicon_discovery', 1, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590658, 1347061240995815427, N'wf_design_model_add', N'新增', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590659, 1347061240995815427, N'wf_design_model_edit', N'修改', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590660, 1347061240995815427, N'wf_design_model_delete', N'删除', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590661, 1347061240995815427, N'wf_design_model_view', N'查看', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590662, 1347061240995815427, N'wf_design_model_history', N'历史', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590663, 1347061240995815427, N'wf_design_model_history_view', N'历史-预览', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590664, 1347061240995815427, N'wf_design_model_history_delete', N'历史-删除', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590665, 1347061240995815427, N'wf_design_model_history_main', N'历史-主版本', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590666, 1347061240995815427, N'wf_design_model_design', N'设计', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590667, 1347061240995815427, N'wf_design_model_deploy', N'部署', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590668, 1347061240995815427, N'wf_design_model_scope', N'权限', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590669, 1347061240995815427, N'wf_design_model_change_category', N'修改分类', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590670, 1347061240995815427, N'wf_design_model_copy', N'拷贝', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590671, 1347061240995815427, N'wf_design_model_icon', N'图标', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826049, 1347061240995815426, N'wf_design_form', N'表单设计', N'menu', N'/plugin/workflow/design/form', N'iconfont icon-biaodan', 2, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826050, 1347083757101826049, N'wf_design_form_add', N'新增', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826051, 1347083757101826049, N'wf_design_form_edit', N'修改', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826052, 1347083757101826049, N'wf_design_form_delete', N'删除', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826053, 1347083757101826049, N'wf_design_form_view', N'查看', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826054, 1347083757101826049, N'wf_design_form_design', N'设计', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826055, 1347083757101826049, N'wf_design_form_copy', N'拷贝', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826056, 1347083757101826049, N'wf_design_form_history', N'历史', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826057, 1347083757101826049, N'wf_design_form_history_view', N'历史-预览', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826058, 1347083757101826049, N'wf_design_form_history_delete', N'历史-删除', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826059, 1347083757101826049, N'wf_design_form_history_main', N'历史-主版本', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826060, 1347083757101826049, N'wf_design_form_change_category', N'修改分类', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113282, 1347061240995815426, N'wf_design_deployment', N'部署管理', N'menu', N'/plugin/workflow/design/deployment', N'iconfont iconicon_cloud_history', 3, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113283, 1347095124710113282, N'wf_design_deployment_status', N'修改状态', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113284, 1347095124710113282, N'wf_design_deployment_category', N'修改分类', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113285, 1347095124710113282, N'wf_design_deployment_delete', N'删除部署', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113286, 1347061240995815426, N'wf_design_form_theme', N'表单主题', N'menu', N'/plugin/workflow/design/form-theme', N'iconfont icon-canshu', 7, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113287, 1347095124710113286, N'wf_design_form_theme_add', N'新增', N'add', '', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113288, 1347095124710113286, N'wf_design_form_theme_edit', N'修改', N'edit', '', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113289, 1347095124710113286, N'wf_design_form_theme_delete', N'删除', N'delete', '', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113290, 1347095124710113286, N'wf_design_form_theme_view', N'查看', N'view', '', N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114284, 1164733399669963301, N'wf_process', N'我的事务', N'menu', N'/plugin/workflow/process', N'iconfont iconicon_notice', 2, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114285, 1347095124710114284, N'wf_process_start', N'新建流程', N'menu', N'/plugin/workflow/process/start', N'iconfont iconicon_compile', 1, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114286, 1347095124710114285, N'wf_process_start_flow', N'发起', N'flow', N'', N'flow', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114287, 1347095124710114285, N'wf_process_start_image', N'流程图', N'image', N'', N'image', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114288, 1347095124710114284, N'wf_process_claim', N'待签事务', N'menu', N'/plugin/workflow/process/claim', N'iconfont iconicon_ding', 5, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114289, 1347095124710114288, N'wf_process_claim_sign', N'签收', N'sign', N'', N'sign', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114290, 1347095124710114288, N'wf_process_claim_detail', N'详情', N'detail', N'', N'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114291, 1347095124710114288, N'wf_process_claim_follow', N'跟踪', N'follow', N'', N'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114292, 1347095124710114284, N'wf_process_todo', N'待办事宜', N'menu', N'/plugin/workflow/process/todo', N'iconfont iconicon_savememo', 2, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114293, 1347095124710114292, N'wf_process_todo_handle', N'办理', N'handle', N'', N'handle', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114294, 1347095124710114292, N'wf_process_todo_detail', N'详情', N'detail', N'', N'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114295, 1347095124710114292, N'wf_process_todo_follow', N'跟踪', N'follow', N'', N'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114296, 1347095124710114284, N'wf_process_send', N'我的请求', N'menu', N'/plugin/workflow/process/send', N'iconfont iconicon_doc', 3, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114297, 1347095124710114296, N'wf_process_send_detail', N'详情', N'detail', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114298, 1347095124710114296, N'wf_process_send_follow', N'跟踪', N'follow', N'', N'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114299, 1347095124710114284, N'wf_process_done', N'办结事宜', N'menu', N'/plugin/workflow/process/done', N'iconfont iconicon_dispose', 4, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114300, 1347095124710114299, N'wf_process_done_detail', N'详情', N'detail', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114301, 1347095124710114299, N'wf_process_done_follow', N'跟踪', N'follow', N'', N'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114302, 1347095124710114284, N'wf_process_my_done', N'我的已办', N'menu', N'/plugin/workflow/process/my-done', N'iconfont iconicon_dispose', 3, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114303, 1347095124710114302, N'wf_process_my_done_detail', N'详情', N'detail', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114304, 1347095124710114302, N'wf_process_my_done_follow', N'跟踪', N'follow', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114305, 1347095124710114284, N'wf_process_draft', N'草稿箱', N'follow', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114306, 1347095124710114284, N'wf_process_withdraw', N'撤销', N'follow', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114307, 1347095124710114292, N'wf_process_todo_search', N'表单搜索条件', N'follow', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114308, 1347095124710114296, N'wf_process_send_search', N'表单搜索条件', N'follow', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114309, 1347095124710114299, N'wf_process_done_search', N'表单搜索条件', N'follow', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114310, 1347095124710114302, N'wf_process_my_done_search', N'表单搜索条件', N'follow', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114311, 1347095124710114288, N'wf_process_claim_search', N'表单搜索条件', N'follow', N'', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434310, 1347061240995815426, N'wf_button', N'流程按钮', N'menu', N'/plugin/workflow/design/button', NULL, 4, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434311, 1394106647182434310, N'wf_button_add', N'新增', N'add', N'/plugin/workflow/design/button/add', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434312, 1394106647182434310, N'wf_button_edit', N'修改', N'edit', N'/plugin/workflow/design/button/edit', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434313, 1394106647182434310, N'wf_button_delete', N'删除', N'delete', N'/plugin/workflow/design/button/remove', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434314, 1394106647182434310, N'wf_button_view', N'查看', N'view', N'/plugin/workflow/design/button/view', N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149511, 1347061240995815426, N'wf_category', N'流程分类', N'menu', N'/plugin/workflow/design/category', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149512, 1394106647392149511, N'wf_category_add', N'新增', N'add', N'/plugin/workflow/design/category/add', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149513, 1394106647392149511, N'wf_category_edit', N'修改', N'edit', N'/plugin/workflow/design/category/edit', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149514, 1394106647392149511, N'wf_category_delete', N'删除', N'delete', N'/plugin/api/workflow/design/category/remove', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149515, 1394106647392149511, N'wf_category_view', N'查看', N'view', N'/plugin/workflow/design/category/view', N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206087, 1347095124710114284, N'wf_copy', N'抄送事宜', N'menu', N'/plugin/workflow/process/copy', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206088, 1394657590156206087, N'wf_copy_add', N'新增', N'add', N'/plugin/workflow/process/copy/add', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206089, 1394657590156206087, N'wf_copy_edit', N'修改', N'edit', N'/plugin/workflow/process/copy/edit', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206090, 1394657590156206087, N'wf_copy_delete', N'删除', N'delete', N'/plugin/workflow/process/copy/remove', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206091, 1394657590156206087, N'wf_copy_view', N'查看', N'view', N'/plugin/workflow/process/copy/view', N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518919, 1347061240995815426, N'wf_form_default_values', N'表单默认值', N'menu', N'/plugin/workflow/design/form-default-values', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518920, 1399260774324518919, N'wf_form_default_values_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518921, 1399260774324518919, N'wf_form_default_values_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518922, 1399260774324518919, N'wf_form_default_values_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518923, 1399260774324518919, N'wf_form_default_values_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518924, 1399260774324518919, N'wf_form_default_values_copy', N'复制', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324618926, 1347095124710114284, N'wf_form_variable_view', N'表单历史变量查看', N'view', NULL, N'file-text', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984966, 1347061240995815426, N'wf_condition', N'流程表达式', N'menu', N'/plugin/workflow/design/condition', NULL, 6, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984967, 1408263948050984966, N'wf_condition_add', N'新增', N'add', N'/plugin/workflow/design/condition/add', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984968, 1408263948050984966, N'wf_condition_edit', N'修改', N'edit', N'/plugin/workflow/design/condition/edit', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984969, 1408263948050984966, N'wf_condition_delete', N'删除', N'delete', N'/api/plugin/workflow/design/condition/remove', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984970, 1408263948050984966, N'wf_condition_view', N'查看', N'view', N'/plugin/workflow/design/condition/view', N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180929, 1347061240995815426, N'wf_listener', N'监听器配置', N'menu', N'/plugin/workflow/design/listener', N'iconfont iconicon_details', 7, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180930, 1409170214477180929, N'wf_listener_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180931, 1409170214477180929, N'wf_listener_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180932, 1409170214477180929, N'wf_listener_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180933, 1409170214477180929, N'wf_listener_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412666776159797249, 1164733399669963301, N'wf_ops', N'流程运维', N'menu', N'/workflow/ops', N'iconfont iconicon_cspace', 3, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562690, 1412666776159797249, N'wf_ops', N'运维调度', N'menu', N'/plugin/workflow/ops/index', N'iconfont iconicon_exchange', 1, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562691, 1412667489128562690, N'wf_ops_detail', N'详情', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562692, 1412667489128562690, N'wf_ops_follow', N'流程图', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562693, 1412667489128562690, N'wf_ops_reject', N'驳回', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562694, 1412667489128562690, N'wf_ops_pass', N'通过', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562695, 1412667489128562690, N'wf_ops_transfer', N'转办', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562696, 1412667489128562690, N'wf_ops_delegate', N'委托', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562697, 1412667489128562690, N'wf_ops_rollback', N'指定回退', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562698, 1412667489128562690, N'wf_ops_terminate', N'终止', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562699, 1412667489128562690, N'wf_ops_copy', N'抄送', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562700, 1412667489128562690, N'wf_ops_urge', N'催办', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562701, 1412667489128562690, N'wf_ops_active', N'激活', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562702, 1412667489128562690, N'wf_ops_suspend', N'挂起', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562703, 1412667489128562690, N'wf_ops_change_assignee', N'变更审核人', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562704, 1412667489128562690, N'wf_ops_dispatch', N'调度', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562705, 1412667489128562690, N'wf_ops_add_multi_instance', N'加签', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562706, 1412667489128562690, N'wf_ops_delete_multi_instance', N'减签', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562800, 1412666776159797249, N'wf_ops_done', N'办结流程', N'menu', N'/plugin/workflow/ops/done', N'iconfont iconicon_safety', 1, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562801, 1412666776159797249, N'wf_ops_process', N'流程列表', N'menu', N'/plugin/workflow/ops/list', N'iconfont iconicon_safety', 1, 1, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562802, 1412667489128562801, N'wf_ops_delete_process', N'删除流程', N'menu', N'', N'', 1, 2, 0, 1, N'', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638534, 1412666776159797249, N'wf_ops_proxy', N'流程代理', N'menu', N'/plugin/workflow/ops/proxy', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638535, 1513394358223638534, N'wf_ops_proxy_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638536, 1513394358223638534, N'wf_ops_proxy_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638537, 1513394358223638534, N'wf_ops_proxy_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638538, 1513394358223638534, N'wf_ops_proxy_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682182, 1164733399669963301, N'wf_demo', N'业务示例', N'menu', N'/plugin/workflow/demo', N'iconfont iconicon_cspace', 4, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682183, 1513683238709682182, N'wf_demo_leave', N'请假流程业务示例', N'menu', N'/plugin/workflow/demo/leave/index', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682184, 1513683238709682182, N'wf_demo_leave_delete', N'删除', N'delete', NULL, NULL, 4, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682185, 1164733399669963301, N'statistics', N'流程统计', N'menu', N'/plugin/workflow/statistics', N'iconfont iconicon_airplay', 4, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682186, 1513683238709682185, N'wf_statistics', N'总览', N'menu', N'/plugin/workflow/statistics/index', N'iconfont iconicon_subordinate', 4, 1, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/flowable/sqlserver/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue2/flowable/sqlserver/bladex_workflow.sql new file mode 100644 index 0000000..1a928c0 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/flowable/sqlserver/bladex_workflow.sql @@ -0,0 +1,3898 @@ +-- ---------------------------- +-- Table structure for ACT_DE_MODEL +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[ACT_DE_MODEL]') AND type IN ('U')) +DROP TABLE [dbo].[ACT_DE_MODEL] + GO + +CREATE TABLE [dbo].[ACT_DE_MODEL] ( + [id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [name] nvarchar(400) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [model_key] nvarchar(400) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [category_id] bigint NULL, + [description] nvarchar(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_comment] nvarchar(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [created] datetime2(7) NULL, + [created_by] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [last_updated] datetime2(7) NULL, + [last_updated_by] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [version] int NULL, + [model_xml] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_editor_json] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [thumbnail] varbinary(max) NULL, + [model_type] int NULL, + [tenant_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL, + [icon] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[ACT_DE_MODEL] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型标识', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单标识', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类id', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'category_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'description' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'评论', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_comment' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'created' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'created_by' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'最后更新时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'last_updated' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'最后更新人', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'last_updated_by' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'版本', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'version' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型XML', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_xml' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'flowable-ui编辑器json', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_editor_json' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'缩略图', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'thumbnail' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'类型', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户id', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'图标', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'icon' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程 - 定义 - 模型', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL' + GO + + +-- ---------------------------- +-- Records of ACT_DE_MODEL +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id]) VALUES (N'0676f2277420b7dc67f69dd3a0ec1164', N'请假流程 - 外置表单', N'ex-leave', N'wf_ex_Leave', NULL, NULL, NULL, N'2021-06-08 08:40:51.9010000', N'1123598821738675201', N'2021-10-11 21:19:07.0450000', N'1123598821738675201', N'1', N' + + + + + + + + + + + + + Flow_1itpbiu + + + + + + + + + + + + + + + + + Flow_1itpbiu + Flow_0eeuztq + + + + + + + + + + + + + + + + + + Flow_0eeuztq + Flow_1vu0qon + + + + + + + + + + + + + + + + + + Flow_1vu0qon + Flow_1d63z9m + + + + Flow_1d63z9m + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', N'{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"ex-leave","name":"请假流程 - 外置表单","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":270.0,"y":230.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1itpbiu"}]},{"bounds":{"lowerRight":{"x":420.0,"y":255.0},"upperLeft":{"x":320.0,"y":175.0}},"resourceId":"Activity_1bvvbi2","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1bvvbi2","name":"发起人","usertaskassignment":{"assignment":{"type":"static","assignee":"${applyUser}"}},"formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0eeuztq"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1itpbiu","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":15.0,"y":15.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1bvvbi2"}],"target":{"resourceId":"Activity_1bvvbi2"},"properties":{"overrideid":"Flow_1itpbiu"}},{"bounds":{"lowerRight":{"x":570.0,"y":255.0},"upperLeft":{"x":470.0,"y":175.0}},"resourceId":"Activity_0xqgcpk","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0xqgcpk","name":"人事","usertaskassignment":{"assignment":{"type":"static","candidateUsers":[{"value":"1123598821738675202"}]}},"formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1vu0qon"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0eeuztq","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0xqgcpk"}],"target":{"resourceId":"Activity_0xqgcpk"},"properties":{"overrideid":"Flow_0eeuztq"}},{"bounds":{"lowerRight":{"x":720.0,"y":255.0},"upperLeft":{"x":620.0,"y":175.0}},"resourceId":"Activity_0k0fyan","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0k0fyan","name":"经理","usertaskassignment":{"assignment":{"type":"static","candidateUsers":[{"value":"1123598821738675203"}]}},"formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1d63z9m"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1vu0qon","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0k0fyan"}],"target":{"resourceId":"Activity_0k0fyan"},"properties":{"overrideid":"Flow_1vu0qon"}},{"bounds":{"lowerRight":{"x":808.0,"y":233.0},"upperLeft":{"x":772.0,"y":197.0}},"resourceId":"Event_06z26fy","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_06z26fy","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1d63z9m","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_06z26fy"}],"target":{"resourceId":"Event_06z26fy"},"properties":{"overrideid":"Flow_1d63z9m"}}]}', NULL, N'0', N'000000') +GO + +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id]) VALUES (N'2f6b3b6de24354bb5df5aad3a87789af', N'请假流程', N'leave', N'leave', NULL, NULL, NULL, N'2021-06-01 22:14:07.3630000', N'1123598821738675201', N'2022-02-25 13:43:55.1150000', N'1123598821738675201', N'1', N' + + + + + + + + + + + + + + + Flow_0myeljb + + + + + + + + + + + + + + + + + + + + + Flow_0myeljb + Flow_0bz2pj7 + + + + + + + + + + + + + + + + + + + + + + Flow_0bz2pj7 + Flow_1pf3fia + + + + Flow_1pf3fia + Flow_0of3zct + Flow_139q6po + + + + + + + + + + + + + + + + + + + + + + Flow_0of3zct + Flow_1dmv86y + + + ${days<5} + + + + + + + + + + + + + + + + + + + + + Flow_139q6po + Flow_1bugorc + + + ${days>=5} + + + Flow_1dmv86y + Flow_1bugorc + Flow_0vtl8w4 + + + + + Flow_0vtl8w4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', N'{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"leave","name":"请假流程","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":270.0,"y":230.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0myeljb"}]},{"bounds":{"lowerRight":{"x":420.0,"y":255.0},"upperLeft":{"x":320.0,"y":175.0}},"resourceId":"Activity_0u3ywm0","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0u3ywm0","name":"发起人","formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0bz2pj7"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0myeljb","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":15.0,"y":15.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0u3ywm0"}],"target":{"resourceId":"Activity_0u3ywm0"},"properties":{"overrideid":"Flow_0myeljb"}},{"bounds":{"lowerRight":{"x":570.0,"y":255.0},"upperLeft":{"x":470.0,"y":175.0}},"resourceId":"Activity_1hmjyx7","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1hmjyx7","name":"人事","formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1pf3fia"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0bz2pj7","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1hmjyx7"}],"target":{"resourceId":"Activity_1hmjyx7"},"properties":{"overrideid":"Flow_0bz2pj7"}},{"bounds":{"lowerRight":{"x":675.0,"y":240.0},"upperLeft":{"x":625.0,"y":190.0}},"resourceId":"Gateway_1qc70vy","childShapes":[],"stencil":{"id":"ExclusiveGateway"},"properties":{"overrideid":"Gateway_1qc70vy","asynchronousdefinition":false,"exclusivedefinition":true,"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0of3zct"},{"resourceId":"Flow_139q6po"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1pf3fia","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_1qc70vy"}],"target":{"resourceId":"Gateway_1qc70vy"},"properties":{"overrideid":"Flow_1pf3fia"}},{"bounds":{"lowerRight":{"x":830.0,"y":150.0},"upperLeft":{"x":730.0,"y":70.0}},"resourceId":"Activity_1r4xgdo","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1r4xgdo","name":"经理","formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1dmv86y"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0of3zct","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":650.0,"y":110.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1r4xgdo"}],"target":{"resourceId":"Activity_1r4xgdo"},"properties":{"overrideid":"Flow_0of3zct","name":"小于5天","conditionsequenceflow":"${days<5}"}},{"bounds":{"lowerRight":{"x":830.0,"y":370.0},"upperLeft":{"x":730.0,"y":290.0}},"resourceId":"Activity_1bt0gzy","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1bt0gzy","name":"老板","formproperties":{"formProperties":[{"id":"creator","name":"创建人","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"creatorDept","name":"创建部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"attachment","name":"附件","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1bugorc"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_139q6po","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":650.0,"y":330.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1bt0gzy"}],"target":{"resourceId":"Activity_1bt0gzy"},"properties":{"overrideid":"Flow_139q6po","name":"大于5天","conditionsequenceflow":"${days>=5}"}},{"bounds":{"lowerRight":{"x":925.0,"y":240.0},"upperLeft":{"x":875.0,"y":190.0}},"resourceId":"Gateway_0ciyfci","childShapes":[],"stencil":{"id":"ExclusiveGateway"},"properties":{"overrideid":"Gateway_0ciyfci","asynchronousdefinition":false,"exclusivedefinition":true,"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0vtl8w4"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1dmv86y","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":900.0,"y":110.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0ciyfci"}],"target":{"resourceId":"Gateway_0ciyfci"},"properties":{"overrideid":"Flow_1dmv86y"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1bugorc","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":900.0,"y":330.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0ciyfci"}],"target":{"resourceId":"Gateway_0ciyfci"},"properties":{"overrideid":"Flow_1bugorc"}},{"bounds":{"lowerRight":{"x":1028.0,"y":233.0},"upperLeft":{"x":992.0,"y":197.0}},"resourceId":"Event_1j9xjra","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_1j9xjra","name":"结束","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0vtl8w4","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_1j9xjra"}],"target":{"resourceId":"Event_1j9xjra"},"properties":{"overrideid":"Flow_0vtl8w4"}}]}', NULL, N'0', N'000000') +GO + +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id]) VALUES (N'5b7a367e1139f1ab5cb1e6210685fa91', N'多实例示例', N'demo-multi-instance', N'demo-test', NULL, NULL, NULL, N'2021-06-25 20:35:27.5220000', N'1123598821738675201', N'2021-06-25 21:12:43.8520000', N'1123598821738675201', N'1', N' + + + + + + + + + + Flow_1i5g9nh + + + + + + + + + + + + + + + + Flow_1i5g9nh + Flow_15l5hak + + + + + + + + + + + + + + + + + Flow_15l5hak + Flow_0afq5tt + + ${nrOfCompletedInstances/nrOfInstances >= 0.5} + + + + + + + + + + + + + + + + + + Flow_0afq5tt + Flow_0dera7k + + ${nrOfCompletedInstances/nrOfInstances >= 1} + + + + + Flow_0dera7k + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', N'{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"demo-multi-instance","name":"多实例示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":270.0,"y":230.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1i5g9nh"}]},{"bounds":{"lowerRight":{"x":420.0,"y":255.0},"upperLeft":{"x":320.0,"y":175.0}},"resourceId":"Activity_0srhxhz","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0srhxhz","name":"发起人","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_15l5hak"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1i5g9nh","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":15.0,"y":15.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0srhxhz"}],"target":{"resourceId":"Activity_0srhxhz"},"properties":{"overrideid":"Flow_1i5g9nh"}},{"bounds":{"lowerRight":{"x":570.0,"y":255.0},"upperLeft":{"x":470.0,"y":175.0}},"resourceId":"Activity_1qj1out","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1qj1out","name":"多实例(串行)","usertaskassignment":{"assignment":{"type":"static","assignee":"${assignee}"}},"formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"multiinstance_type":"Sequential","multiinstance_collection":"${wfMultiInstanceHandler.getList(execution)}","multiinstance_variable":"assignee","multiinstance_condition":"${nrOfCompletedInstances/nrOfInstances >= 0.5}","tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0afq5tt"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_15l5hak","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1qj1out"}],"target":{"resourceId":"Activity_1qj1out"},"properties":{"overrideid":"Flow_15l5hak"}},{"bounds":{"lowerRight":{"x":720.0,"y":255.0},"upperLeft":{"x":620.0,"y":175.0}},"resourceId":"Activity_0oh31om","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0oh31om","name":"多实例(并行)","usertaskassignment":{"assignment":{"type":"static","assignee":"${assignee}"}},"formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"multiinstance_type":"Parallel","multiinstance_collection":"${wfMultiInstanceHandler.getList(execution)}","multiinstance_variable":"assignee","multiinstance_condition":"${nrOfCompletedInstances/nrOfInstances >= 1}","tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0dera7k"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0afq5tt","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0oh31om"}],"target":{"resourceId":"Activity_0oh31om"},"properties":{"overrideid":"Flow_0afq5tt"}},{"bounds":{"lowerRight":{"x":808.0,"y":233.0},"upperLeft":{"x":772.0,"y":197.0}},"resourceId":"Event_02858i0","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_02858i0","name":"结束","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0dera7k","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_02858i0"}],"target":{"resourceId":"Event_02858i0"},"properties":{"overrideid":"Flow_0dera7k"}}]}', NULL, N'0', N'000000') +GO + +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id]) VALUES (N'617167d80b6051708484bbedfb72a137', N'人员/流转调用自定义方法示例', N'demo-custom-method', N'demo-test', NULL, N'人员/流转调用自定义方法示例', NULL, N'2021-11-29 09:42:20.0680000', N'1123598821738675201', N'2021-12-01 19:18:18.4630000', N'1123598821738675201', N'1', N' + + + 人员/流转调用自定义方法示例 + + + + + Flow_0yhobgw + + + + + + + + + + + + + + + + Flow_0yhobgw + Flow_1t6zwdf + + + + + + + + + + + + + + + + + Flow_1t6zwdf + Flow_0kxxs74 + + + + + + + + + + + + + + + + + Flow_0kxxs74 + Flow_01h467o + + + + + + + + + + + + + + + + + Flow_0kdt4xu + Flow_1x5wxzy + + + + + + + + + + + + + + + + Flow_0jw1ae2 + Flow_00r5t9o + + + Flow_1fun2ye + + + Flow_01h467o + Flow_0kdt4xu + Flow_0jw1ae2 + + + + ${wfCustomUserHandler.condition(execution, ''对'')} + + + ${wfCustomUserHandler.condition(execution, ''错'')} + + + Flow_1x5wxzy + Flow_00r5t9o + Flow_1fun2ye + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', N'{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"demo-custom-method","name":"人员/流转调用自定义方法示例","documentation":"人员/流转调用自定义方法示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":276.0,"y":236.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0yhobgw"}]},{"bounds":{"lowerRight":{"x":430.0,"y":258.0},"upperLeft":{"x":330.0,"y":178.0}},"resourceId":"Activity_06t0e98","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_06t0e98","name":"发起人","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1t6zwdf"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0yhobgw","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":18.0,"y":18.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_06t0e98"}],"target":{"resourceId":"Activity_06t0e98"},"properties":{"overrideid":"Flow_0yhobgw"}},{"bounds":{"lowerRight":{"x":590.0,"y":258.0},"upperLeft":{"x":490.0,"y":178.0}},"resourceId":"Activity_07ghy8s","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_07ghy8s","name":"方式1","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0kxxs74"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1t6zwdf","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_07ghy8s"}],"target":{"resourceId":"Activity_07ghy8s"},"properties":{"overrideid":"Flow_1t6zwdf"}},{"bounds":{"lowerRight":{"x":750.0,"y":258.0},"upperLeft":{"x":650.0,"y":178.0}},"resourceId":"Activity_10810pv","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_10810pv","name":"方式2","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_01h467o"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0kxxs74","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_10810pv"}],"target":{"resourceId":"Activity_10810pv"},"properties":{"overrideid":"Flow_0kxxs74"}},{"bounds":{"lowerRight":{"x":1010.0,"y":130.0},"upperLeft":{"x":910.0,"y":50.0}},"resourceId":"Activity_1i46ta4","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1i46ta4","name":"方式3","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1x5wxzy"}]},{"bounds":{"lowerRight":{"x":1010.0,"y":400.0},"upperLeft":{"x":910.0,"y":320.0}},"resourceId":"Activity_03trwm6","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_03trwm6","name":"方式4","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_00r5t9o"}]},{"bounds":{"lowerRight":{"x":1178.0,"y":236.0},"upperLeft":{"x":1142.0,"y":200.0}},"resourceId":"Event_0uefnoo","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_0uefnoo","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":865.0,"y":243.0},"upperLeft":{"x":815.0,"y":193.0}},"resourceId":"Gateway_0mtj57e","childShapes":[],"stencil":{"id":"ExclusiveGateway"},"properties":{"overrideid":"Gateway_0mtj57e","asynchronousdefinition":false,"exclusivedefinition":true,"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0kdt4xu"},{"resourceId":"Flow_0jw1ae2"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_01h467o","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0mtj57e"}],"target":{"resourceId":"Gateway_0mtj57e"},"properties":{"overrideid":"Flow_01h467o"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0kdt4xu","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":840.0,"y":90.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1i46ta4"}],"target":{"resourceId":"Activity_1i46ta4"},"properties":{"overrideid":"Flow_0kdt4xu","conditionsequenceflow":"${wfCustomUserHandler.condition(execution, ''对'')}"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0jw1ae2","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":840.0,"y":360.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_03trwm6"}],"target":{"resourceId":"Activity_03trwm6"},"properties":{"overrideid":"Flow_0jw1ae2","conditionsequenceflow":"${wfCustomUserHandler.condition(execution, ''错'')}"}},{"bounds":{"lowerRight":{"x":1105.0,"y":243.0},"upperLeft":{"x":1055.0,"y":193.0}},"resourceId":"Gateway_0ha0m7b","childShapes":[],"stencil":{"id":"ExclusiveGateway"},"properties":{"overrideid":"Gateway_0ha0m7b","asynchronousdefinition":false,"exclusivedefinition":true,"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1fun2ye"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1x5wxzy","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":1080.0,"y":90.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0ha0m7b"}],"target":{"resourceId":"Gateway_0ha0m7b"},"properties":{"overrideid":"Flow_1x5wxzy"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1fun2ye","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":25.0,"y":25.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_0uefnoo"}],"target":{"resourceId":"Event_0uefnoo"},"properties":{"overrideid":"Flow_1fun2ye"}},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_00r5t9o","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":1080.0,"y":360.0},{"x":25.0,"y":25.0}],"outgoing":[{"resourceId":"Gateway_0ha0m7b"}],"target":{"resourceId":"Gateway_0ha0m7b"},"properties":{"overrideid":"Flow_00r5t9o"}}]}', NULL, N'0', N'000000') +GO + +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id]) VALUES (N'89d9c299dfed64a7834fdb7caccc913f', N'字段联动', N'field-linkage', N'field-linkage', NULL, N'表单字段联动示例', NULL, N'2021-08-23 13:22:16.4810000', N'1123598821738675201', N'2021-08-23 13:25:32.1800000', N'1123598821738675201', N'1', N' + + + 表单字段联动示例 + + + + + + + + Flow_0ij25wf + + + + + + + + + + + + + + + + + + + Flow_0ij25wf + Flow_0vq4xed + + + + Flow_0vq4xed + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', N'{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"field-linkage","name":"字段联动","documentation":"表单字段联动示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":276.0,"y":236.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1629695558953_19833","name":"控制显隐","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1629695859796_23456","name":"值改变","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input2","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0ij25wf"}]},{"bounds":{"lowerRight":{"x":430.0,"y":258.0},"upperLeft":{"x":330.0,"y":178.0}},"resourceId":"Activity_1tlsc5z","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1tlsc5z","name":"1","formproperties":{"formProperties":[{"id":"1629695558953_19833","name":"控制显隐","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1629695859796_23456","name":"值改变","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input2","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0vq4xed"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0ij25wf","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":18.0,"y":18.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1tlsc5z"}],"target":{"resourceId":"Activity_1tlsc5z"},"properties":{"overrideid":"Flow_0ij25wf"}},{"bounds":{"lowerRight":{"x":528.0,"y":236.0},"upperLeft":{"x":492.0,"y":200.0}},"resourceId":"Event_1ettf2b","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_1ettf2b","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0vq4xed","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_1ettf2b"}],"target":{"resourceId":"Event_1ettf2b"},"properties":{"overrideid":"Flow_0vq4xed"}}]}', NULL, N'0', N'000000') +GO + +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id]) VALUES (N'd71049b6ba4eda39cacf9baf984274ac', N'节点独立表单示例', N'indep-form', N'wf_indep_default-value', NULL, NULL, NULL, N'2021-10-11 21:32:41.5670000', N'1123598821738675201', N'2021-10-11 21:32:41.5670000', N'1123598821738675201', N'1', N' + + + + + + + + + + + + + + + + + Flow_0u2w7hr + + + + + + + + + + + + + + + + + + Flow_0u2w7hr + Flow_1gfy6oq + + + + + + + + + + + + + + + + + Flow_1gfy6oq + Flow_016wlba + + + + + + + + + + + + + + + + Flow_016wlba + Flow_1omx17n + + + + Flow_1omx17n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', N'{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"indep-form","name":"节点独立表单示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":276.0,"y":236.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0u2w7hr"}]},{"bounds":{"lowerRight":{"x":430.0,"y":258.0},"upperLeft":{"x":330.0,"y":178.0}},"resourceId":"Activity_0a06fpe","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0a06fpe","name":"节点1","formproperties":{"formProperties":[{"id":"datetime","name":"请假时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"days","name":"请假天数","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"reason","name":"请假理由","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1gfy6oq"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0u2w7hr","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":18.0,"y":18.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0a06fpe"}],"target":{"resourceId":"Activity_0a06fpe"},"properties":{"overrideid":"Flow_0u2w7hr"}},{"bounds":{"lowerRight":{"x":590.0,"y":258.0},"upperLeft":{"x":490.0,"y":178.0}},"resourceId":"Activity_0k3kp91","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0k3kp91","name":"节点2","formproperties":{"formProperties":[{"id":"1624624365132_23209","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_016wlba"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1gfy6oq","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0k3kp91"}],"target":{"resourceId":"Activity_0k3kp91"},"properties":{"overrideid":"Flow_1gfy6oq"}},{"bounds":{"lowerRight":{"x":750.0,"y":258.0},"upperLeft":{"x":650.0,"y":178.0}},"resourceId":"Activity_1yv7km2","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1yv7km2","name":"汇总","asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1omx17n"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_016wlba","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1yv7km2"}],"target":{"resourceId":"Activity_1yv7km2"},"properties":{"overrideid":"Flow_016wlba"}},{"bounds":{"lowerRight":{"x":848.0,"y":236.0},"upperLeft":{"x":812.0,"y":200.0}},"resourceId":"Event_1vr1neq","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_1vr1neq","name":"结束","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1omx17n","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_1vr1neq"}],"target":{"resourceId":"Event_1vr1neq"},"properties":{"overrideid":"Flow_1omx17n"}}]}', NULL, N'0', N'000000') +GO + +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id]) VALUES (N'fb4c1a6a8c4588779a2519a547966846', N'测试默认值', N'test-default-values', N'default-value', NULL, NULL, NULL, N'2021-05-31 21:39:46.5450000', N'1123598821738675201', N'2021-07-23 14:22:04.1760000', N'1123598821738675201', N'1', N' + + + + + + + + + + + + + + + + Flow_0c932wc + + + + + + + + + + + + + + + + + + + + + + + + Flow_0c932wc + Flow_042y9oy + + + + + + + + + + + + + + + + + + + + + + + + + Flow_042y9oy + Flow_0c47aum + + + + + + + + + + + + + + + + + + + + + + + + + Flow_0c47aum + Flow_1ehhsly + + + + Flow_1ehhsly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', N'{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"test-default-values","name":"测试默认值","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":270.0,"y":230.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0c932wc"}]},{"bounds":{"lowerRight":{"x":420.0,"y":255.0},"upperLeft":{"x":320.0,"y":175.0}},"resourceId":"Activity_0p2hxfq","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0p2hxfq","name":"人事","usertaskassignment":{"assignment":{"type":"static","assignee":"1123598821738675201"}},"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_042y9oy"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0c932wc","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":15.0,"y":15.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0p2hxfq"}],"target":{"resourceId":"Activity_0p2hxfq"},"properties":{"overrideid":"Flow_0c932wc"}},{"bounds":{"lowerRight":{"x":570.0,"y":255.0},"upperLeft":{"x":470.0,"y":175.0}},"resourceId":"Activity_0p0q6jd","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_0p0q6jd","name":"经理","usertaskassignment":{"assignment":{"type":"static","assignee":"1123598821738675203"}},"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0c47aum"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_042y9oy","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_0p0q6jd"}],"target":{"resourceId":"Activity_0p0q6jd"},"properties":{"overrideid":"Flow_042y9oy"}},{"bounds":{"lowerRight":{"x":720.0,"y":255.0},"upperLeft":{"x":620.0,"y":175.0}},"resourceId":"Activity_1dj1hpj","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1dj1hpj","name":"老板","usertaskassignment":{"assignment":{"type":"static","assignee":"1123598821738675204"}},"formproperties":{"formProperties":[{"id":"1622472547203_21841","name":"人事姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629767_65211","name":"人事职位","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547375_86557","name":"人事部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553629949_3168","name":"当前日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553631752_15562","name":"当前时间","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622553691156_69886","name":"人事姓名和日期","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547780_5707","name":"经理姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472547975_90560","name":"经理部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":false},{"id":"1622472548372_60141","name":"老板姓名","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1622472548560_32474","name":"老板部门","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_1ehhsly"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0c47aum","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1dj1hpj"}],"target":{"resourceId":"Activity_1dj1hpj"},"properties":{"overrideid":"Flow_0c47aum"}},{"bounds":{"lowerRight":{"x":808.0,"y":233.0},"upperLeft":{"x":772.0,"y":197.0}},"resourceId":"Event_03anpp1","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_03anpp1","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_1ehhsly","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_03anpp1"}],"target":{"resourceId":"Event_03anpp1"},"properties":{"overrideid":"Flow_1ehhsly"}}]}', NULL, N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL_HISTORY +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[ACT_DE_MODEL_HISTORY]') AND type IN ('U')) +DROP TABLE [dbo].[ACT_DE_MODEL_HISTORY] + GO + +CREATE TABLE [dbo].[ACT_DE_MODEL_HISTORY] ( + [id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [name] nvarchar(400) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [model_key] nvarchar(400) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [category_id] bigint NULL, + [description] nvarchar(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_comment] nvarchar(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [created] datetime2(7) NULL, + [created_by] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [last_updated] datetime2(7) NULL, + [last_updated_by] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [removal_date] datetime2(7) NULL, + [version] int NULL, + [model_xml] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_editor_json] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [model_type] int NULL, + [tenant_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL, + [icon] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[ACT_DE_MODEL_HISTORY] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型标识', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单标识', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类id', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'category_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'description' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'注释', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_comment' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'created' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'created_by' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'最后更新时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'last_updated' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'最后更新人', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'last_updated_by' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'移除时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'removal_date' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'版本', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'version' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型XML', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_xml' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'flowable-ui编辑器json', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_editor_json' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'modelId', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'类型', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户id', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'图标', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'icon' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程 - 定义 - 模型历史', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY' + GO + + +-- ---------------------------- +-- Records of ACT_DE_MODEL_HISTORY +-- ---------------------------- +BEGIN TRANSACTION +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_button +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_button]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_button] + GO + +CREATE TABLE [dbo].[blade_wf_button] ( + [id] bigint NOT NULL, + [button_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [display] tinyint NULL, + [sort] int NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_button] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'按钮key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'button_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'默认是否显示', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'display' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'排序', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'sort' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程按钮', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button' + GO + + +-- ---------------------------- +-- Records of blade_wf_button +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394176899911041025', N'wf_pass', N'通过', N'1', N'1', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 14:24:10.0000000', N'1123598821738675201', N'2021-05-16 14:24:10.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394177198465794050', N'wf_reject', N'驳回', N'1', N'2', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 14:25:21.0000000', N'1123598821738675201', N'2021-05-16 14:25:21.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394179125421326337', N'wf_print', N'打印', N'1', N'3', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 14:33:01.0000000', N'1123598821738675201', N'2021-05-16 14:33:01.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394609969089761281', N'wf_transfer', N'转办', N'1', N'4', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 19:05:02.0000000', N'1123598821738675201', N'2021-05-16 19:05:02.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394610036672581634', N'wf_delegate', N'委托', N'1', N'5', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 19:05:18.0000000', N'1123598821738675201', N'2021-05-16 19:05:18.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1395271519601426433', N'wf_terminate', N'终止', N'1', N'6', N'1123598821738675201', N'1123598813738675201', N'2021-05-20 14:53:48.0000000', N'1123598821738675201', N'2021-05-20 14:53:48.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1395274709692579841', N'wf_add_instance', N'加签', N'1', N'7', N'1123598821738675201', N'1123598813738675201', N'2021-05-20 15:06:28.0000000', N'1123598821738675201', N'2021-05-20 15:06:28.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1395274774674931713', N'wf_del_instance', N'减签', N'1', N'8', N'1123598821738675201', N'1123598813738675201', N'2021-05-20 15:06:44.0000000', N'1123598821738675201', N'2021-05-20 15:06:44.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1395274955986305025', N'wf_rollback', N'指定回退', N'1', N'9', N'1123598821738675201', N'1123598813738675201', N'2021-05-20 15:07:27.0000000', N'1123598821738675201', N'2021-05-20 15:07:27.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_category +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_category]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_category] + GO + +CREATE TABLE [dbo].[blade_wf_category] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [pid] bigint DEFAULT 0 NULL, + [sort] int NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_category] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'上级id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'pid' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'排序', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'sort' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程分类', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category' + GO + + +-- ---------------------------- +-- Records of blade_wf_category +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_category] ([id], [name], [pid], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394133715940073474', N'请假流程', N'0', N'1', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 11:32:34.0000000', N'1123598821738675201', N'2021-06-25 20:37:49.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_category] ([id], [name], [pid], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394158934813609986', N'财务流程', N'0', N'2', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 13:12:47.0000000', N'1123598821738675201', N'2021-05-16 13:13:07.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_category] ([id], [name], [pid], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394159147934584833', N'报销流程', N'1394158934813609986', N'1', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 13:13:38.0000000', N'1123598821738675201', N'2021-05-16 13:13:38.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_condition +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_condition]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_condition] + GO + +CREATE TABLE [dbo].[blade_wf_condition] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [expression] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_condition] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表达式', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'expression' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'类型', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表达式', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition' + GO + + +-- ---------------------------- +-- Records of blade_wf_condition +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_condition] ([id], [name], [expression], [type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1408267023015739393', N'流程发起人', N'applyUser', N'user', N'1123598821738675201', N'1123598813738675201', N'2021-06-25 11:33:17.0000000', N'1123598821738675201', N'2021-06-25 11:33:17.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_condition] ([id], [name], [expression], [type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1408267100878798850', N'当前操作人', N'currentUser', N'user', N'1123598821738675201', N'1123598813738675201', N'2021-06-25 11:33:36.0000000', N'1123598821738675201', N'2021-06-25 11:33:36.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_condition] ([id], [name], [expression], [type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1408305933398896641', N'上级部门领导', N'leader', N'user', N'1123598821738675201', N'1123598813738675201', N'2021-06-25 14:07:54.0000000', N'1123598821738675201', N'2021-06-25 14:07:54.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_copy +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_copy]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_copy] + GO + +CREATE TABLE [dbo].[blade_wf_copy] ( + [id] bigint NOT NULL, + [user_id] bigint NULL, + [title] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [initiator] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [process_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_copy] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'用户id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'标题', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'title' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'发起者', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'initiator' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'task_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程实例id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'process_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单url', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'form_url' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程抄送', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy' + GO + + +-- ---------------------------- +-- Records of blade_wf_copy +-- ---------------------------- +BEGIN TRANSACTION +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_deployment_form +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_deployment_form]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_deployment_form] + GO + +CREATE TABLE [dbo].[blade_wf_deployment_form] ( + [id] bigint NOT NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [app_content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_deployment_form] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'app表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'app_content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'节点key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'task_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'节点名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'task_name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署 - 表单', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form' + GO + + +-- ---------------------------- +-- Records of blade_wf_deployment_form +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_deployment_form] ([id], [deployment_id], [form_key], [content], [app_content], [task_key], [task_name], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted]) VALUES (N'1493407680587395074', N'a35a73a4-8e04-11ec-9e83-92d6166784a9', N'leave', N'{column:[{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''yyyy-MM-dd HH:mm:ss'',valueFormat:''yyyy-MM-dd HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''开始时间必须填写''}],change:({value}) => { + if (!value || value.length == 0) { + this.$set(this.form, ''days'', undefined) + } else { + const d1 = Date.parse(value[0]) + const d2 = Date.parse(value[1]) + const day = (d2-d1)/(1*24*60*60*1000) + this.$set(this.form, ''days'', Number(day.toFixed(2))) + } +}},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { +this.$set(this.form, ''reason'',''请假'' + value + ''天'' ) +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"yyyy-MM-dd HH:mm:ss","valueFormat":"yyyy-MM-dd HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"开始时间必须填写"}],"change":"({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, ''days'', undefined)\r\n } else {\r\n const d1 = Date.parse(value[0])\r\n const d2 = Date.parse(value[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, ''days'', Number(day.toFixed(2)))\r\n }\r\n}"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\nthis.$set(this.form, ''reason'',''请假'' + value + ''天'' )\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'1') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_draft +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_draft]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_draft] + GO + +CREATE TABLE [dbo].[blade_wf_draft] ( + [id] bigint NOT NULL, + [user_id] bigint NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [process_def_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [variables] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [platform] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_draft] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'用户id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程定义id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'process_def_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'task_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单变量', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'variables' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'平台 pc/app', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'platform' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程草稿箱', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft' + GO + + +-- ---------------------------- +-- Records of blade_wf_draft +-- ---------------------------- +BEGIN TRANSACTION +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_form +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form] + GO + +CREATE TABLE [dbo].[blade_wf_form] ( + [id] bigint NOT NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [app_content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [version] int NULL, + [category_id] bigint NULL, + [remark] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'app表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'app_content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'版本', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'version' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'category_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'备注', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'remark' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form' + GO + + +-- ---------------------------- +-- Records of blade_wf_form +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_form] ([id], [form_key], [name], [content], [app_content], [version], [category_id], [remark], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1399359377009377281', N'default-value', N'测试默认值', N'{column:[{type:''input'',label:''人事姓名'',span:24,display:true,prop:''1622472547203_21841'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''人事职位'',span:24,display:true,prop:''1622553629767_65211'',value:''${this.$store.getters.userInfo.post_name}''},{type:''input'',label:''人事部门'',span:24,display:true,prop:''1622472547375_86557'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''当前日期'',span:24,display:true,prop:''1622553629949_3168'',value:''${this.dateFormat(new Date(),\"yyyy-MM-dd\")}''},{type:''input'',label:''当前时间'',span:24,display:true,prop:''1622553631752_15562'',value:''${this.dateFormat(new Date(),\"hh:mm:ss\")}''},{type:''input'',label:''人事姓名和日期'',span:24,display:true,prop:''1622553691156_69886'',value:''${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}''},{type:''input'',label:''经理姓名'',span:24,display:true,prop:''1622472547780_5707'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''经理部门'',span:24,display:true,prop:''1622472547975_90560'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''老板姓名'',span:24,display:true,prop:''1622472548372_60141'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''老板部门'',span:24,display:true,prop:''1622472548560_32474'',value:''${this.$store.getters.userInfo.dept_name}''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"input","label":"人事姓名","span":24,"display":true,"prop":"1622472547203_21841","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"人事职位","span":24,"display":true,"prop":"1622553629767_65211","value":"${this.$store.getters.userInfo.post_name}"},{"type":"input","label":"人事部门","span":24,"display":true,"prop":"1622472547375_86557","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"当前日期","span":24,"display":true,"prop":"1622553629949_3168","value":"${this.dateFormat(new Date(),\"yyyy-MM-dd\")}"},{"type":"input","label":"当前时间","span":24,"display":true,"prop":"1622553631752_15562","value":"${this.dateFormat(new Date(),\"hh:mm:ss\")}"},{"type":"input","label":"人事姓名和日期","span":24,"display":true,"prop":"1622553691156_69886","value":"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}"},{"type":"input","label":"经理姓名","span":24,"display":true,"prop":"1622472547780_5707","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"经理部门","span":24,"display":true,"prop":"1622472547975_90560","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"老板姓名","span":24,"display":true,"prop":"1622472548372_60141","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"老板部门","span":24,"display":true,"prop":"1622472548560_32474","value":"${this.$store.getters.userInfo.dept_name}"}],"labelPosition":"left","labelSuffix":":","labelWidth":140,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', N'1', N'-1', N'', N'1123598821738675201', N'1123598813738675201', N'2021-05-31 21:37:29.0000000', N'1123598821738675201', N'2021-11-01 09:08:05.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form] ([id], [form_key], [name], [content], [app_content], [version], [category_id], [remark], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1399729025840140290, N'leave', N'请假流程表单', N'{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''yyyy-MM-dd HH:mm:ss'',valueFormat:''yyyy-MM-dd HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { + if (!value || value.length == 0) { + this.$set(this.form, ''days'', undefined) + } else { + const d1 = Date.parse(value.split('','')[0]) + const d2 = Date.parse(value.split('','')[1]) + const day = (d2-d1)/(1*24*60*60*1000) + this.$set(this.form, ''days'', Number(day.toFixed(2))) + } +},dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { + if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' ) + else this.$set(this.form, ''reason'', '''') +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"yyyy-MM-dd HH:mm:ss","valueFormat":"yyyy-MM-dd HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, ''days'', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, ''days'', Number(day.toFixed(2)))\r\n }\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' )\n else this.$set(this.form, ''reason'', '''')\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, -1, N'', 1123598821738675201, 1123598813738675201, N'2021-06-01 22:06:20.0000000', 1123598821738675201, N'2022-04-12 10:27:07.0000000', 1, 0, N'000000'); +GO + +INSERT INTO [dbo].[blade_wf_form] ([id], [form_key], [name], [content], [app_content], [version], [category_id], [remark], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1408402768310304770', N'demo-test', N'测试简单表单', N'{column:[{type:''input'',label:''单行文本'',span:24,display:true,prop:''1624624365132_23209''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"input","label":"单行文本","span":24,"display":true,"prop":"1624624365132_23209"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', N'1', N'-1', N'', N'1123598821738675201', N'1123598813738675201', N'2021-06-25 20:32:41.0000000', N'1123598821738675201', N'2021-11-01 09:08:09.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form] ([id], [form_key], [name], [content], [app_content], [version], [category_id], [remark], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1429672727182159874', N'field-linkage', N'字段联动', N'{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input'',change:({value}) => { + +}},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.$set(this.form, ''input2'', text) +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2'',change:({value}) => { + +}}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"switch","label":"控制显隐","span":24,"display":true,"value":"0","dicData":[{"label":"","value":"0"},{"label":"","value":"1"}],"prop":"1629695558953_19833","change":"({value}) => {\r\n const input = this.findObject(this.option.column, ''input'')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input","change":"({value}) => {\r\n\r\n}"},{"type":"select","label":"值改变","dicData":[{"label":"一天","value":"1"},{"label":"两天","value":"2"},{"label":"三天","value":"3"}],"cascaderItem":[],"span":24,"display":true,"props":{"label":"label","value":"value"},"prop":"1629695859796_23456","change":"({value}) => {\r\n let text = value\r\n if(value) {\r\n text = ''请假 '' + value + '' 天''\r\n }\r\n this.$set(this.form, ''input2'', text)\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input2","change":"({value}) => {\r\n\r\n}"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', N'1', N'-1', N'字段联动示例', N'1123598821738675201', N'1123598813738675201', N'2021-08-23 13:11:54.0000000', N'1123598821738675201', N'2021-11-01 09:08:10.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_form_default_values +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_default_values]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_default_values] + GO + +CREATE TABLE [dbo].[blade_wf_form_default_values] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [content] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field_type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_default_values] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'字段类型', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'field_type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单字段默认值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values' + GO + + +-- ---------------------------- +-- Records of blade_wf_form_default_values +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1399346112331087873', N'当前操作人姓名', N'${this.$store.getters.userInfo.nick_name}', N'input', N'1123598821738675201', N'1123598813738675201', N'2021-05-31 20:44:46.0000000', N'1123598821738675201', N'2021-05-31 20:56:32.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1399347906465595393', N'当前操作人部门', N'${this.$store.getters.userInfo.dept_name}', N'input', N'1123598821738675201', N'1123598813738675201', N'2021-05-31 20:51:54.0000000', N'1123598821738675201', N'2021-05-31 20:56:41.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1399717069960855553', N'当前日期', N'${this.dateFormat(new Date(),"yyyy-MM-dd")}', N'input', N'1123598821738675201', N'1123598813738675201', N'2021-06-01 21:18:50.0000000', N'1123598821738675201', N'2021-06-01 21:34:25.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1399717187904684034', N'当前操作人职位', N'${this.$store.getters.userInfo.post_name}', N'input', N'1123598821738675201', N'1123598813738675201', N'2021-06-01 21:19:18.0000000', N'1123598821738675201', N'2021-06-01 21:19:18.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1399717285564858369', N'当前时间', N'${this.dateFormat(new Date(),"hh:mm:ss")}', N'input', N'1123598821738675201', N'1123598813738675201', N'2021-06-01 21:19:41.0000000', N'1123598821738675201', N'2021-06-01 21:34:34.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1399718803940655106', N'当前操作人姓名和日期', N'${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),"yyyy-MM-dd")}', N'input', N'1123598821738675201', N'1123598813738675201', N'2021-06-01 21:25:43.0000000', N'1123598821738675201', N'2021-06-01 21:34:40.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1408401952027443201', N'当前操作人姓名', N'${this.$store.getters.userInfo.nick_name}', N'input', N'1123598821738675201', N'1123598813738675201', N'2021-06-25 20:29:27.0000000', N'1123598821738675201', N'2021-06-25 20:29:32.0000000', N'1', N'1', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_form_history +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_history]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_history] + GO + +CREATE TABLE [dbo].[blade_wf_form_history] ( + [id] bigint NOT NULL, + [form_id] bigint NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [app_content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [version] int NULL, + [category_id] bigint NULL, + [remark] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_history] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'form_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'app表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'app_content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'版本', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'version' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'category_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'备注', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'remark' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history' + GO + + +-- ---------------------------- +-- Records of blade_wf_form_history +-- ---------------------------- +BEGIN TRANSACTION +GO + +COMMIT +GO + +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_theme]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_theme] + GO + +CREATE TABLE [dbo].[blade_wf_form_theme] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [theme_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [border_width] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [border_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_bg] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_width] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_font_size] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_bg] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_font_size] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field0] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field1] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field2] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field3] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field4] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field5] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field6] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field7] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field8] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field9] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_theme] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'主题key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'theme_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'边框宽度', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'border_width' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'边框颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'border_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label字体颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label背景颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_bg' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label宽度', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_width' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label字体大小', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_font_size' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value字体颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value背景颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_bg' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value字体大小', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_font_size' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field0' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field1' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field2' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field3' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field4' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field5' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field6' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field7' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field8' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field9' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单 - 主题', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme' + GO + + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1', N'蓝色', N'blue', N'1px', N'#cbdcf0', N'#01418a', N'#eef6ff', N'', N'14px', N'', N'', N'14px', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598813738675201', N'2023-04-04 15:36:46.0000000', N'1123598821738675201', N'2023-05-04 10:43:18.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'2', N'默认', N'default', N'1px', N'rgba(235, 238, 245, 1)', N'rgba(144, 147, 153, 1)', N'rgba(250, 250, 250, 1)', NULL, NULL, N'rgba(96, 98, 102, 1)', N'rgba(255, 255, 255, 1)', NULL, N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598813738675201', N'2023-04-04 15:16:47.0000000', N'1123598821738675201', N'2023-04-18 11:50:10.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'3', N'黑色', N'black', N'1px', N'rgba(0, 0, 0, 1)', N'#000', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598821738675201', N'2023-04-04 16:57:35.0000000', N'1123598821738675201', N'2023-05-04 10:43:44.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_form_theme +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_THEME_KEY] +ON [dbo].[blade_wf_form_theme] ( + [theme_key] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_theme +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_theme] ADD CONSTRAINT [PK__blade_wf__3213E83FE1B9E59C] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_variable]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_variable] + GO + +CREATE TABLE [dbo].[blade_wf_form_variable] ( + [id] bigint NOT NULL, + [process_ins_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_def_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_option] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_variable] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_time] datetime2(7) NULL, + [create_dept] bigint NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_variable] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程实例id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'process_ins_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务节点key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_def_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务节点名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单js', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'form_option' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'form_variable' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单 - 历史变量', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable' + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_variable +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_variable] ADD CONSTRAINT [PK__blade_wf__3213E83F21E7286A] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- + IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_listener]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_listener] + GO + +CREATE TABLE [dbo].[blade_wf_listener] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [category] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [event] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [val] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_listener] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'category' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'事件', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'event' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'监听类型', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'val' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务/执行监听器', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener' + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_listener +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_listener] ADD CONSTRAINT [PK__blade_wf__3213E83FF80DDE18] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + +-- ---------------------------- +-- Table structure for blade_wf_model_scope +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_model_scope]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_model_scope] + GO + +CREATE TABLE [dbo].[blade_wf_model_scope] ( + [id] bigint NOT NULL, + [model_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [val] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [text] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_model_scope] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'model_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'model_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'类型 user用户 role角色 dept部门 post职位', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'用户/角色/部门/职位 id集合', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'val' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'用户/角色/部门/职位 name集合', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'text' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程模型权限', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope' + GO + + +-- ---------------------------- +-- Records of blade_wf_model_scope +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1418457955400978434', N'0676f2277420b7dc67f69dd3a0ec1164', N'ex-leave', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1418457988913467393', N'5b7a367e1139f1ab5cb1e6210685fa91', N'demo-multi-instance', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1418458020752429058', N'fb4c1a6a8c4588779a2519a547966846', N'test-default-values', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1429675430591442946', N'89d9c299dfed64a7834fdb7caccc913f', N'field-linkage', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1447556025547763714', N'd71049b6ba4eda39cacf9baf984274ac', N'indep-form', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1493407710006243329', N'2f6b3b6de24354bb5df5aad3a87789af', N'leave', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1493407710014631938', N'2f6b3b6de24354bb5df5aad3a87789af', N'leave', N'platform', N'h5', N'移动端H5') +GO + +COMMIT +GO + +-- ---------------------------- +-- Table structure for blade_wf_process_leave +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_process_leave]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_process_leave] + GO + +CREATE TABLE [dbo].[blade_wf_process_leave] ( + [id] bigint NOT NULL, + [process_ins_id] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [process_def_id] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [current_node] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [datetime] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [days] int NULL, + [reason] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [attachment] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NOT NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_process_leave] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程实例id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'process_ins_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程定义id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'process_def_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'当前节点', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'current_node' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'时间范围', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'datetime' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'请假天数', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'days' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'请假理由', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'reason' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'附件', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'attachment' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单url', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'form_url' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'请假流程业务示例', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave' + GO + + + -- ---------------------------- +-- Table structure for blade_wf_proxy +-- ---------------------------- + IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_proxy]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_proxy] + GO + +CREATE TABLE [dbo].[blade_wf_proxy] ( + [id] bigint NOT NULL, + [user_id] bigint NULL, + [proxy_user_id] bigint NULL, + [process_def_key] nvarchar(750) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [start_time] datetime2(7) NULL, + [end_time] datetime2(7) NULL, + [status] int NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_proxy] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'委托人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'代理人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'proxy_user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程定义key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'process_def_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'1永久 2定时', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'开始时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'start_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'结束时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'end_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程代理', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy' + GO + +-- ---------------------------- +-- Table structure for blade_wf_serial +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_serial]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_serial] + GO + +CREATE TABLE [dbo].[blade_wf_serial] ( + [id] bigint NOT NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [prefix] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [date_format] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [suffix_length] int NULL, + [start_sequence] int NULL, + [connector] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [current_sequence] int NULL, + [cycle] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_serial] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'前缀', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'prefix' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'日期格式化', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'date_format' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'后缀位数', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'suffix_length' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'初始数值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'start_sequence' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'连接符', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'connector' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'当前序列', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'current_sequence' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'重置周期 none不重置 day天 week周 month月 year年', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'cycle' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程流水号', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial' + GO + + +-- ---------------------------- +-- Records of blade_wf_serial +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_serial] ([id], [deployment_id], [name], [prefix], [date_format], [suffix_length], [start_sequence], [connector], [current_sequence], [cycle], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted]) VALUES (N'1493407680641921025', N'a35a73a4-8e04-11ec-9e83-92d6166784a9', N'请假流水号', N'Leave', N'yyyyMMdd', N'5', N'0', N'', N'1', N'none', NULL, NULL, N'2022-02-15 10:11:51.8940000', N'1123598821738675201', N'2022-02-15 10:12:12.5750000', N'1', N'1') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Indexes structure for table ACT_DE_MODEL +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_MODEL_KEY] +ON [dbo].[ACT_DE_MODEL] ( + [model_key] ASC, + [tenant_id] ASC +) +GO + +CREATE NONCLUSTERED INDEX [idx_proc_mod_created] +ON [dbo].[ACT_DE_MODEL] ( + [created_by] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table ACT_DE_MODEL +-- ---------------------------- +ALTER TABLE [dbo].[ACT_DE_MODEL] ADD CONSTRAINT [PK__ACT_DE_M__3213E83FC76FC5C7] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +CREATE NONCLUSTERED INDEX [idx_proc_mod_history_proc] +ON [dbo].[ACT_DE_MODEL_HISTORY] ( + [model_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE [dbo].[ACT_DE_MODEL_HISTORY] ADD CONSTRAINT [PK__ACT_DE_M__3213E83F74E9721D] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_button +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_button] ADD CONSTRAINT [PK__blade_wf__3213E83FA7AAFF79] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_category +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_category] ADD CONSTRAINT [PK__blade_wf__3213E83F090A6076] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_condition +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_EXPRESSION] +ON [dbo].[blade_wf_condition] ( + [expression] ASC, + [type] ASC, + [tenant_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_condition +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_condition] ADD CONSTRAINT [PK__blade_wf__3213E83F09AC2B92] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_copy +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_copy] ADD CONSTRAINT [PK__blade_wf__3213E83FB51F11C3] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_deployment_form +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_deployment_form] ADD CONSTRAINT [PK__blade_wf__3213E83F06F23ECF] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_draft +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_DRAFT_UNI] +ON [dbo].[blade_wf_draft] ( + [user_id] ASC, + [process_def_id] ASC, + [platform] ASC +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_DRAFT_UNI2] +ON [dbo].[blade_wf_draft] ( + [user_id] ASC, + [task_id] ASC, + [platform] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_draft +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_draft] ADD CONSTRAINT [PK__blade_wf__3213E83F1EC6CDBD] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_form +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_FORM_KEY] +ON [dbo].[blade_wf_form] ( + [form_key] ASC, + [tenant_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form] ADD CONSTRAINT [PK__blade_wf__3213E83F02914E3C] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_default_values +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_default_values] ADD CONSTRAINT [PK__blade_wf__3213E83F1ADE97B9] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_history +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_history] ADD CONSTRAINT [PK__blade_wf__3213E83FC05BEC14] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_model_scope +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_model_scope] ADD CONSTRAINT [PK__blade_wf__3213E83FDD345387] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + +-- ---------------------------- +-- Primary Key structure for table blade_wf_process_leave +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_process_leave] ADD CONSTRAINT [PK__blade_wf__639A04C108BAB258] PRIMARY KEY CLUSTERED ([id], [create_time]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_proxy +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_UNI_PROXY] +ON [dbo].[blade_wf_proxy] ( + [user_id] ASC, + [process_def_key] ASC +) +GO + +CREATE NONCLUSTERED INDEX [WF_IDX_USER_ID] +ON [dbo].[blade_wf_proxy] ( + [user_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_proxy +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_proxy] ADD CONSTRAINT [PK__blade_wf__3213E83F8DB1B00B] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + + +-- ---------------------------- +-- Indexes structure for table blade_wf_serial +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [uni] +ON [dbo].[blade_wf_serial] ( + [deployment_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_serial +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_serial] ADD CONSTRAINT [PK__blade_wf__3213E83F4B321660] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + diff --git a/blade-plugin/blade-workflow/doc/vue2/update/dm/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..6151a71 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,91 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM_THEME" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255) NOT NULL, + "THEME_KEY" NVARCHAR2(255) NOT NULL, + "BORDER_WIDTH" NVARCHAR2(255), + "BORDER_COLOR" NVARCHAR2(255), + "LABEL_COLOR" NVARCHAR2(255), + "LABEL_BG" NVARCHAR2(255), + "LABEL_WIDTH" NVARCHAR2(255), + "LABEL_FONT_SIZE" NVARCHAR2(255), + "VALUE_COLOR" NVARCHAR2(255), + "VALUE_BG" NVARCHAR2(255), + "VALUE_FONT_SIZE" NVARCHAR2(255), + "FIELD0" NVARCHAR2(255), + "FIELD1" NVARCHAR2(255), + "FIELD2" NVARCHAR2(255), + "FIELD3" NVARCHAR2(255), + "FIELD4" NVARCHAR2(255), + "FIELD5" NVARCHAR2(255), + "FIELD6" NVARCHAR2(255), + "FIELD7" NVARCHAR2(255), + "FIELD8" NVARCHAR2(255), + "FIELD9" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."THEME_KEY" IS '主题key'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_WIDTH" IS '边框宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_COLOR" IS '边框颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_COLOR" IS 'label字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_BG" IS 'label背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_WIDTH" IS 'label宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_FONT_SIZE" IS 'label字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_COLOR" IS 'value字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_BG" IS 'value背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_FONT_SIZE" IS 'value字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD0" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD1" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD2" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD3" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD4" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD5" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD6" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD7" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD8" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD9" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_THEME" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_THEME +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1', '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', NULL, '14px', NULL, NULL, '14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:36:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('2', '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:16:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-18 11:50:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('3', '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598821738675201', TO_DATE('2023-04-04 16:57:35', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011945" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011942" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011943" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011944" CHECK ("THEME_KEY" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" + ON "BLADE_WF_FORM_THEME" ("THEME_KEY" ASC); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/dm/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..56dce00 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.7.1~1.8.0/blade.sql @@ -0,0 +1,5 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113286', '1347061240995815426', 'wf_design_form_theme', '表单主题', 'menu', '/plugin/workflow/design/form-theme', 'iconfont icon-canshu', '7', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113287', '1347095124710113286', 'wf_design_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113288', '1347095124710113286', 'wf_design_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113289', '1347095124710113286', 'wf_design_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113290', '1347095124710113286', 'wf_design_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/dm/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..0f0a10b --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,49 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_VARIABLE +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_VARIABLE"; +CREATE TABLE "BLADE_WF_FORM_VARIABLE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "TASK_DEF_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "FORM_OPTION" NCLOB, + "FORM_VARIABLE" NCLOB, + "STATUS" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20,0), + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_DEF_KEY" IS '任务节点key'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_NAME" IS '任务节点名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_OPTION" IS '表单js'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_VARIABLE" IS '表单值'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_VARIABLE" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012109" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012108" CHECK ("ID" IS NOT NULL); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/dm/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..75abe05 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1/blade_menu.sql b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1/blade_menu.sql new file mode 100644 index 0000000..fcece21 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1/blade_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/design/listener', 'iconfont iconicon_details', '7', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1/bladex_workflow.sql new file mode 100644 index 0000000..c742578 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1/bladex_workflow.sql @@ -0,0 +1,45 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_LISTENER +-- ---------------------------- +DROP TABLE "BLADE_WF_LISTENER"; +CREATE TABLE "BLADE_WF_LISTENER" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CATEGORY" NVARCHAR2(255), + "EVENT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CATEGORY" IS '分类'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."EVENT" IS '事件'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TYPE" IS '监听类型'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."VAL" IS '值'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_LISTENER" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011312" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011311" CHECK ("ID" IS NOT NULL); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..ed1790b --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/dm/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "BLADE_WF_DRAFT" + ADD ("TASK_ID" NVARCHAR2(255)); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" + ON "BLADE_WF_DRAFT" ("USER_ID", "TASK_ID", "PLATFORM"); + +COMMENT ON COLUMN "BLADE_WF_DRAFT"."TASK_ID" IS '任务id' diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.0~1.0.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.0~1.0.1/blade-workflow.sql new file mode 100644 index 0000000..86edd49 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.0~1.0.1/blade-workflow.sql @@ -0,0 +1,2 @@ +ALTER TABLE `blade_wf_form` ADD UNIQUE (`key`) + diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.0~1.0.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.0~1.0.1/blade.sql new file mode 100644 index 0000000..0c00515 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.0~1.0.1/blade.sql @@ -0,0 +1,5 @@ +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113285, 1347095124710113282, 'wf_design_deployment_delete', '删除部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826054, 1347083757101826049, 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826055, 1347083757101826049, 'wf_design_form_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590662, 1347061240995815427, 'wf_design_model_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826056, 1347083757101826049, 'wf_design_form_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.1~1.0.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.1~1.0.2/blade-workflow.sql new file mode 100644 index 0000000..70c64b2 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.1~1.0.2/blade-workflow.sql @@ -0,0 +1,6 @@ +ALTER TABLE `ACT_DE_MODEL` ADD UNIQUE (`model_key`); + +INSERT INTO `blade_wf_button`(`id`, `key`, `name`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`) VALUES (1395271519601426433, 'wf_terminate', '终止', 6, 1123598821738675201, 1123598813738675201, '2021-05-20 14:53:48', 1123598821738675201, '2021-05-20 14:53:48', '1', 0); +INSERT INTO `blade_wf_button`(`id`, `key`, `name`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`) VALUES (1395274709692579841, 'wf_add_instance', '加签', 7, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:28', 1123598821738675201, '2021-05-20 15:06:28', '1', 0); +INSERT INTO `blade_wf_button`(`id`, `key`, `name`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`) VALUES (1395274774674931713, 'wf_del_instance', '减签', 8, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:44', 1123598821738675201, '2021-05-20 15:06:44', '1', 0); +INSERT INTO `blade_wf_button`(`id`, `key`, `name`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`) VALUES (1395274955986305025, 'wf_rollback', '指定回退', 9, 1123598821738675201, 1123598813738675201, '2021-05-20 15:07:27', 1123598821738675201, '2021-05-20 15:07:27', '1', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.1~1.0.2/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.1~1.0.2/blade.sql new file mode 100644 index 0000000..53a3880 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.1~1.0.2/blade.sql @@ -0,0 +1,4 @@ +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114302, 1347095124710114284, 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/process/my-done', 'iconfont iconicon_dispose', 3, 1, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114303, 1347095124710114302, 'wf_process_my_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114304, 1347095124710114302, 'wf_process_my_done_follow', '跟踪', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826054, 1347083757101826049, 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.3~1.0.4/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.3~1.0.4/blade.sql new file mode 100644 index 0000000..03636b2 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.3~1.0.4/blade.sql @@ -0,0 +1,8 @@ +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590663, 1347061240995815427, 'wf_design_model_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590664, 1347061240995815427, 'wf_design_model_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590665, 1347061240995815427, 'wf_design_model_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590666, 1347061240995815427, 'wf_design_model_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590667, 1347061240995815427, 'wf_design_model_deploy', '部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826057, 1347083757101826049, 'wf_design_form_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826058, 1347083757101826049, 'wf_design_form_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826059, 1347083757101826049, 'wf_design_form_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.4~1.0.5/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.4~1.0.5/blade-workflow.sql new file mode 100644 index 0000000..14ad803 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.4~1.0.5/blade-workflow.sql @@ -0,0 +1,30 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_serial +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_serial`; +CREATE TABLE `blade_wf_serial` ( + `id` bigint(64) NOT NULL, + `deployment_id` varchar(255) DEFAULT NULL COMMENT '部署id', + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `prefix` varchar(255) DEFAULT NULL COMMENT '前缀', + `date_format` varchar(255) DEFAULT NULL COMMENT '日期格式化', + `suffix_length` int(11) DEFAULT NULL COMMENT '后缀位数', + `start_sequence` int(11) DEFAULT NULL COMMENT '初始数值', + `connector` varchar(255) DEFAULT NULL COMMENT '连接符', + `sequence` int(11) DEFAULT NULL COMMENT '当前序列', + `cycle` varchar(255) DEFAULT NULL COMMENT '重置周期 none不重置 day天 week周 month月 year年', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uni` (`deployment_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程流水号'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.5~1.0.6/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.5~1.0.6/blade-workflow.sql new file mode 100644 index 0000000..7677afe --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.5~1.0.6/blade-workflow.sql @@ -0,0 +1,35 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_form_default_values +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_default_values`; +CREATE TABLE `blade_wf_form_default_values` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `content` varchar(255) DEFAULT NULL COMMENT '内容', + `field_type` varchar(255) DEFAULT NULL COMMENT '字段类型', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单字段默认值'; + +-- ---------------------------- +-- Records of blade_wf_form_default_values +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_form_default_values` VALUES (1399346112331087873, '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:44:46', 1123598821738675201, '2021-05-31 20:56:32', '1', 0); +INSERT INTO `blade_wf_form_default_values` VALUES (1399347906465595393, '当前操作人部门', '${this.$store.getters.userInfo.dept_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:51:54', 1123598821738675201, '2021-05-31 20:56:41', '1', 0); +INSERT INTO `blade_wf_form_default_values` VALUES (1399717069960855553, '当前日期', '${this.dateFormat(new Date(),\"yyyy-MM-dd\")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:18:50', 1123598821738675201, '2021-06-01 21:34:25', '1', 0); +INSERT INTO `blade_wf_form_default_values` VALUES (1399717187904684034, '当前操作人职位', '${this.$store.getters.userInfo.post_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:18', 1123598821738675201, '2021-06-01 21:19:18', '1', 0); +INSERT INTO `blade_wf_form_default_values` VALUES (1399717285564858369, '当前时间', '${this.dateFormat(new Date(),\"hh:mm:ss\")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:41', 1123598821738675201, '2021-06-01 21:34:34', '1', 0); +INSERT INTO `blade_wf_form_default_values` VALUES (1399718803940655106, '当前操作人姓名和日期', '${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"yyyy-MM-dd\")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:25:43', 1123598821738675201, '2021-06-01 21:34:40', '1', 0); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.5~1.0.6/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.5~1.0.6/blade.sql new file mode 100644 index 0000000..0eefba7 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.5~1.0.6/blade.sql @@ -0,0 +1,6 @@ +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518919, 1347061240995815426, 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/design/form-default-values', NULL, 5, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518920, 1399260774324518919, 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518921, 1399260774324518919, 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518922, 1399260774324518919, 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518923, 1399260774324518919, 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324518924, 1399260774324518919, 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.6~1.0.7/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.6~1.0.7/blade-workflow.sql new file mode 100644 index 0000000..b907e41 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.6~1.0.7/blade-workflow.sql @@ -0,0 +1,6 @@ +ALTER TABLE blade_wf_button ADD COLUMN tenant_id VARCHAR(12) DEFAULT '000000' COMMENT '租户ID'; +ALTER TABLE blade_wf_category ADD COLUMN tenant_id VARCHAR(12) DEFAULT '000000' COMMENT '租户ID'; +ALTER TABLE blade_wf_form ADD COLUMN tenant_id VARCHAR(12) DEFAULT '000000' COMMENT '租户ID'; +ALTER TABLE blade_wf_form_default_values ADD COLUMN tenant_id VARCHAR(12) DEFAULT '000000' COMMENT '租户ID'; + +INSERT INTO `ACT_DE_MODEL`(`id`, `name`, `model_key`, `form_key`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('0676f2277420b7dc67f69dd3a0ec1164', '请假流程 - 外置表单', 'ex_leave', 'wf_ex_Leave', NULL, NULL, '2021-06-08 08:40:51.901000', '1123598821738675201', '2021-06-09 13:31:19.262000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n Flow_1itpbiu\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1itpbiu\n Flow_0eeuztq\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0eeuztq\n Flow_1vu0qon\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1vu0qon\n Flow_1d63z9m\n \n \n \n Flow_1d63z9m\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"ex_leave\",\"name\":\"请假流程 - 外置表单\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1itpbiu\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_1bvvbi2\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1bvvbi2\",\"name\":\"发起人\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"${applyUser}\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0eeuztq\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1itpbiu\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1bvvbi2\"}],\"target\":{\"resourceId\":\"Activity_1bvvbi2\"},\"properties\":{\"overrideid\":\"Flow_1itpbiu\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_0xqgcpk\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0xqgcpk\",\"name\":\"人事\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"candidateUsers\":[{\"value\":\"1123598821738675202\"}]}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1vu0qon\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0eeuztq\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0xqgcpk\"}],\"target\":{\"resourceId\":\"Activity_0xqgcpk\"},\"properties\":{\"overrideid\":\"Flow_0eeuztq\"}},{\"bounds\":{\"lowerRight\":{\"x\":720.0,\"y\":255.0},\"upperLeft\":{\"x\":620.0,\"y\":175.0}},\"resourceId\":\"Activity_0k0fyan\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0k0fyan\",\"name\":\"经理\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"candidateUsers\":[{\"value\":\"1123598821738675203\"}]}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1d63z9m\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1vu0qon\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0k0fyan\"}],\"target\":{\"resourceId\":\"Activity_0k0fyan\"},\"properties\":{\"overrideid\":\"Flow_1vu0qon\"}},{\"bounds\":{\"lowerRight\":{\"x\":808.0,\"y\":233.0},\"upperLeft\":{\"x\":772.0,\"y\":197.0}},\"resourceId\":\"Event_06z26fy\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_06z26fy\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1d63z9m\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_06z26fy\"}],\"target\":{\"resourceId\":\"Event_06z26fy\"},\"properties\":{\"overrideid\":\"Flow_1d63z9m\"}}]}', NULL, 0, '000000'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.7~1.1.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.7~1.1.0/blade-workflow.sql new file mode 100644 index 0000000..ea47666 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.7~1.1.0/blade-workflow.sql @@ -0,0 +1,33 @@ +UPDATE `ACT_DE_MODEL` SET `name` = '请假流程', `model_key` = 'Leave', `form_key` = 'Leave', `description` = NULL, `model_comment` = NULL, `created` = '2021-06-01 22:14:07.363000', `created_by` = '1123598821738675201', `last_updated` = '2021-06-25 20:31:39.343000', `last_updated_by` = '1123598821738675201', `version` = 2, `xml` = '\n\n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n Flow_0bz2pj7\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0bz2pj7\n Flow_1pf3fia\n \n \n \n Flow_1pf3fia\n Flow_0of3zct\n Flow_139q6po\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0of3zct\n Flow_1dmv86y\n \n \n ${days<5}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_139q6po\n Flow_1bugorc\n \n \n ${days>=5}\n \n \n Flow_1dmv86y\n Flow_1bugorc\n Flow_0vtl8w4\n \n \n \n \n Flow_0vtl8w4\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', `model_editor_json` = '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"Leave\",\"name\":\"请假流程\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0myeljb\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_0u3ywm0\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0u3ywm0\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0bz2pj7\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0myeljb\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0u3ywm0\"}],\"target\":{\"resourceId\":\"Activity_0u3ywm0\"},\"properties\":{\"overrideid\":\"Flow_0myeljb\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_1hmjyx7\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1hmjyx7\",\"name\":\"人事\",\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1pf3fia\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0bz2pj7\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1hmjyx7\"}],\"target\":{\"resourceId\":\"Activity_1hmjyx7\"},\"properties\":{\"overrideid\":\"Flow_0bz2pj7\"}},{\"bounds\":{\"lowerRight\":{\"x\":675.0,\"y\":240.0},\"upperLeft\":{\"x\":625.0,\"y\":190.0}},\"resourceId\":\"Gateway_1qc70vy\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_1qc70vy\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0of3zct\"},{\"resourceId\":\"Flow_139q6po\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1pf3fia\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_1qc70vy\"}],\"target\":{\"resourceId\":\"Gateway_1qc70vy\"},\"properties\":{\"overrideid\":\"Flow_1pf3fia\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":150.0},\"upperLeft\":{\"x\":730.0,\"y\":70.0}},\"resourceId\":\"Activity_1r4xgdo\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1r4xgdo\",\"name\":\"经理\",\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1dmv86y\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0of3zct\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":110.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1r4xgdo\"}],\"target\":{\"resourceId\":\"Activity_1r4xgdo\"},\"properties\":{\"overrideid\":\"Flow_0of3zct\",\"name\":\"小于5天\",\"conditionsequenceflow\":\"${days<5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":370.0},\"upperLeft\":{\"x\":730.0,\"y\":290.0}},\"resourceId\":\"Activity_1bt0gzy\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1bt0gzy\",\"name\":\"老板\",\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1bugorc\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_139q6po\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":330.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1bt0gzy\"}],\"target\":{\"resourceId\":\"Activity_1bt0gzy\"},\"properties\":{\"overrideid\":\"Flow_139q6po\",\"name\":\"大于5天\",\"conditionsequenceflow\":\"${days>=5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":925.0,\"y\":240.0},\"upperLeft\":{\"x\":875.0,\"y\":190.0}},\"resourceId\":\"Gateway_0ciyfci\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0ciyfci\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0vtl8w4\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1dmv86y\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":110.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1dmv86y\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1bugorc\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":330.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1bugorc\"}},{\"bounds\":{\"lowerRight\":{\"x\":1028.0,\"y\":233.0},\"upperLeft\":{\"x\":992.0,\"y\":197.0}},\"resourceId\":\"Event_1j9xjra\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_1j9xjra\",\"name\":\"结束\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0vtl8w4\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_1j9xjra\"}],\"target\":{\"resourceId\":\"Event_1j9xjra\"},\"properties\":{\"overrideid\":\"Flow_0vtl8w4\"}}]}', `thumbnail` = NULL, `model_type` = 0, `tenant_id` = '000000' WHERE `id` = '2f6b3b6de24354bb5df5aad3a87789af'; +INSERT INTO `ACT_DE_MODEL`(`id`, `name`, `model_key`, `form_key`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('5b7a367e1139f1ab5cb1e6210685fa91', '多实例示例', 'demo-multi-instance', 'demo-test', NULL, NULL, '2021-06-25 20:35:27.522000', '1123598821738675201', '2021-06-25 21:12:43.852000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n Flow_1i5g9nh\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1i5g9nh\n Flow_15l5hak\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_15l5hak\n Flow_0afq5tt\n \n ${nrOfCompletedInstances/nrOfInstances >= 0.5}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0afq5tt\n Flow_0dera7k\n \n ${nrOfCompletedInstances/nrOfInstances >= 1}\n \n \n \n \n Flow_0dera7k\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"demo-multi-instance\",\"name\":\"多实例示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1i5g9nh\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_0srhxhz\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0srhxhz\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_15l5hak\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1i5g9nh\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0srhxhz\"}],\"target\":{\"resourceId\":\"Activity_0srhxhz\"},\"properties\":{\"overrideid\":\"Flow_1i5g9nh\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_1qj1out\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1qj1out\",\"name\":\"多实例(串行)\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"${assignee}\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"multiinstance_type\":\"Sequential\",\"multiinstance_collection\":\"${wfMultiInstanceHandler.getList(execution)}\",\"multiinstance_variable\":\"assignee\",\"multiinstance_condition\":\"${nrOfCompletedInstances/nrOfInstances >= 0.5}\",\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0afq5tt\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_15l5hak\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1qj1out\"}],\"target\":{\"resourceId\":\"Activity_1qj1out\"},\"properties\":{\"overrideid\":\"Flow_15l5hak\"}},{\"bounds\":{\"lowerRight\":{\"x\":720.0,\"y\":255.0},\"upperLeft\":{\"x\":620.0,\"y\":175.0}},\"resourceId\":\"Activity_0oh31om\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0oh31om\",\"name\":\"多实例(并行)\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"${assignee}\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"multiinstance_type\":\"Parallel\",\"multiinstance_collection\":\"${wfMultiInstanceHandler.getList(execution)}\",\"multiinstance_variable\":\"assignee\",\"multiinstance_condition\":\"${nrOfCompletedInstances/nrOfInstances >= 1}\",\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0dera7k\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0afq5tt\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0oh31om\"}],\"target\":{\"resourceId\":\"Activity_0oh31om\"},\"properties\":{\"overrideid\":\"Flow_0afq5tt\"}},{\"bounds\":{\"lowerRight\":{\"x\":808.0,\"y\":233.0},\"upperLeft\":{\"x\":772.0,\"y\":197.0}},\"resourceId\":\"Event_02858i0\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_02858i0\",\"name\":\"结束\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0dera7k\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_02858i0\"}],\"target\":{\"resourceId\":\"Event_02858i0\"},\"properties\":{\"overrideid\":\"Flow_0dera7k\"}}]}', NULL, 0, '000000'); +INSERT INTO `ACT_DE_MODEL_HISTORY`(`id`, `name`, `model_key`, `form_key`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `removal_date`, `version`, `xml`, `model_editor_json`, `model_id`, `model_type`, `tenant_id`) VALUES ('35ab873fe08b69e3150188304de865d7', '请假流程', 'Leave', 'Leave', NULL, NULL, '2021-06-01 22:14:07.363000', '1123598821738675201', '2021-06-01 22:18:02.124000', '1123598821738675201', NULL, 1, '\n\n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n Flow_0bz2pj7\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0bz2pj7\n Flow_1pf3fia\n \n \n \n Flow_1pf3fia\n Flow_0of3zct\n Flow_139q6po\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0of3zct\n Flow_1dmv86y\n \n \n ${days<5}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_139q6po\n Flow_1bugorc\n \n \n ${days>=5}\n \n \n Flow_1dmv86y\n Flow_1bugorc\n Flow_0vtl8w4\n \n \n \n \n Flow_0vtl8w4\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"Leave\",\"name\":\"请假流程\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0myeljb\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_0u3ywm0\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0u3ywm0\",\"name\":\"发起人\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"assignee\":\"${applyUser}\"}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0bz2pj7\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0myeljb\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0u3ywm0\"}],\"target\":{\"resourceId\":\"Activity_0u3ywm0\"},\"properties\":{\"overrideid\":\"Flow_0myeljb\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_1hmjyx7\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1hmjyx7\",\"name\":\"人事\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"candidateGroups\":[{\"value\":\"hr\"}]}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1pf3fia\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0bz2pj7\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1hmjyx7\"}],\"target\":{\"resourceId\":\"Activity_1hmjyx7\"},\"properties\":{\"overrideid\":\"Flow_0bz2pj7\"}},{\"bounds\":{\"lowerRight\":{\"x\":675.0,\"y\":240.0},\"upperLeft\":{\"x\":625.0,\"y\":190.0}},\"resourceId\":\"Gateway_1qc70vy\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_1qc70vy\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0of3zct\"},{\"resourceId\":\"Flow_139q6po\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1pf3fia\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_1qc70vy\"}],\"target\":{\"resourceId\":\"Gateway_1qc70vy\"},\"properties\":{\"overrideid\":\"Flow_1pf3fia\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":150.0},\"upperLeft\":{\"x\":730.0,\"y\":70.0}},\"resourceId\":\"Activity_1r4xgdo\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1r4xgdo\",\"name\":\"经理\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"candidateGroups\":[{\"value\":\"manager\"}]}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1dmv86y\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0of3zct\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":110.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1r4xgdo\"}],\"target\":{\"resourceId\":\"Activity_1r4xgdo\"},\"properties\":{\"overrideid\":\"Flow_0of3zct\",\"name\":\"小于5天\",\"conditionsequenceflow\":\"${days<5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":370.0},\"upperLeft\":{\"x\":730.0,\"y\":290.0}},\"resourceId\":\"Activity_1bt0gzy\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1bt0gzy\",\"name\":\"老板\",\"usertaskassignment\":{\"assignment\":{\"type\":\"static\",\"candidateGroups\":[{\"value\":\"boss\"}]}},\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1bugorc\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_139q6po\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":330.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1bt0gzy\"}],\"target\":{\"resourceId\":\"Activity_1bt0gzy\"},\"properties\":{\"overrideid\":\"Flow_139q6po\",\"name\":\"大于5天\",\"conditionsequenceflow\":\"${days>=5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":925.0,\"y\":240.0},\"upperLeft\":{\"x\":875.0,\"y\":190.0}},\"resourceId\":\"Gateway_0ciyfci\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0ciyfci\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0vtl8w4\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1dmv86y\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":110.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1dmv86y\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1bugorc\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":330.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1bugorc\"}},{\"bounds\":{\"lowerRight\":{\"x\":1028.0,\"y\":233.0},\"upperLeft\":{\"x\":992.0,\"y\":197.0}},\"resourceId\":\"Event_1j9xjra\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_1j9xjra\",\"name\":\"结束\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0vtl8w4\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_1j9xjra\"}],\"target\":{\"resourceId\":\"Event_1j9xjra\"},\"properties\":{\"overrideid\":\"Flow_0vtl8w4\"}}]}', '2f6b3b6de24354bb5df5aad3a87789af', 0, '000000'); + +INSERT INTO `blade_wf_form`(`id`, `key`, `name`, `content`, `version`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408402768310304770, 'demo-test', '测试简单表单', '{column:[{type:\'input\',label:\'单行文本\',span:24,display:true,prop:\'1624624365132_23209\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', 1, '', 1123598821738675201, 1123598813738675201, '2021-06-25 20:32:41', 1123598821738675201, '2021-06-25 20:32:49', 1, 0, '000000'); + +CREATE TABLE `blade_wf_condition` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `expression` varchar(255) DEFAULT NULL COMMENT '表达式', + `type` varchar(255) DEFAULT NULL COMMENT '类型', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + UNIQUE KEY `uni` (`expression`,`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表达式'; + +-- ---------------------------- +-- Records of blade_wf_condition +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_condition` VALUES (1408267023015739393, '流程发起人', 'applyUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:17', 1123598821738675201, '2021-06-25 11:33:17', '1', 0, '000000'); +INSERT INTO `blade_wf_condition` VALUES (1408267100878798850, '当前操作人', 'currentUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:36', 1123598821738675201, '2021-06-25 11:33:36', '1', 0, '000000'); +INSERT INTO `blade_wf_condition` VALUES (1408305933398896641, '上级部门领导', 'leader', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 14:07:54', 1123598821738675201, '2021-06-25 14:07:54', '1', 0, '000000'); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.7~1.1.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.7~1.1.0/blade.sql new file mode 100644 index 0000000..3d79ce1 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.0.7~1.1.0/blade.sql @@ -0,0 +1,5 @@ +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984966, 1347061240995815426, 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/design/condition', NULL, 6, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984967, 1408263948050984966, 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984968, 1408263948050984966, 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984969, 1408263948050984966, 'wf_condition_delete', '删除', 'delete', '/api/plugin/workflow/design/condition/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1408263948050984970, 1408263948050984966, 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', 4, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.0~1.1.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.0~1.1.2/blade-workflow.sql new file mode 100644 index 0000000..c555a23 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.0~1.1.2/blade-workflow.sql @@ -0,0 +1,12 @@ +ALTER TABLE blade_wf_form DROP INDEX `key`; +ALTER TABLE blade_wf_form ADD UNIQUE INDEX WF_IDX_FORM_KEY (`key`, `tenant_id`); + +ALTER TABLE blade_wf_condition DROP INDEX uni; +ALTER TABLE blade_wf_condition ADD UNIQUE INDEX WF_IDX_EXPRESSION (`expression`, `type`, `tenant_id`); + +ALTER TABLE ACT_DE_MODEL DROP INDEX model_key; +ALTER TABLE ACT_DE_MODEL ADD UNIQUE INDEX WF_IDX_MODEL_KEY (`model_key`, `tenant_id`); + +ALTER TABLE blade_wf_copy ADD COLUMN `form_key` VARCHAR(255) DEFAULT NULL COMMENT '外置表单key' AFTER `process_id`; +ALTER TABLE blade_wf_copy ADD COLUMN `form_url` VARCHAR(255) DEFAULT NULL COMMENT '外置表单url' AFTER `form_key`; + diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.2~1.1.3/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.2~1.1.3/blade.sql new file mode 100644 index 0000000..1897876 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.2~1.1.3/blade.sql @@ -0,0 +1,16 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412666776159797249, 1164733399669963301, 'wf_ops', '流程运维', 'menu', '/workflow/ops', 'iconfont iconicon_cspace', 3, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562690, 1412666776159797249, 'wf_ops', '运维调度', 'menu', '/plugin/workflow/ops/index', 'iconfont iconicon_exchange', 1, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562691, 1412667489128562690, 'wf_ops_detail', '详情', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562692, 1412667489128562690, 'wf_ops_follow', '流程图', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562693, 1412667489128562690, 'wf_ops_reject', '驳回', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562694, 1412667489128562690, 'wf_ops_pass', '通过', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562695, 1412667489128562690, 'wf_ops_transfer', '转办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562696, 1412667489128562690, 'wf_ops_delegate', '委托', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562697, 1412667489128562690, 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562698, 1412667489128562690, 'wf_ops_terminate', '终止', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562699, 1412667489128562690, 'wf_ops_copy', '抄送', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562700, 1412667489128562690, 'wf_ops_urge', '催办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562701, 1412667489128562690, 'wf_ops_active', '激活', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562702, 1412667489128562690, 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562703, 1412667489128562690, 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562704, 1412667489128562690, 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.3~1.2.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.3~1.2.0/blade-workflow.sql new file mode 100644 index 0000000..e6bce85 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.3~1.2.0/blade-workflow.sql @@ -0,0 +1,28 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_model_scope +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_model_scope`; +CREATE TABLE `blade_wf_model_scope` ( + `id` bigint(64) NOT NULL, + `model_id` varchar(255) DEFAULT NULL COMMENT '模型id', + `model_key` varchar(255) DEFAULT NULL COMMENT '模型key', + `type` varchar(255) DEFAULT NULL COMMENT '类型 user用户 role角色 dept部门 post职位', + `val` varchar(255) DEFAULT NULL COMMENT '用户/角色/部门/职位 id集合', + `text` varchar(255) DEFAULT NULL COMMENT '用户/角色/部门/职位 name集合', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程模型权限'; + +-- ---------------------------- +-- Records of blade_wf_model_scope +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_model_scope` VALUES (1418455767366799361, '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` VALUES (1418457955400978434, '0676f2277420b7dc67f69dd3a0ec1164', 'ex-leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` VALUES (1418457988913467393, '5b7a367e1139f1ab5cb1e6210685fa91', 'demo-multi-instance', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` VALUES (1418458020752429058, 'fb4c1a6a8c4588779a2519a547966846', 'test-default-values', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.3~1.2.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.3~1.2.0/blade.sql new file mode 100644 index 0000000..f8f2ea9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.1.3~1.2.0/blade.sql @@ -0,0 +1,2 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562705, 1412667489128562690, 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562706, 1412667489128562690, 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.0~1.2.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.0~1.2.1/blade.sql new file mode 100644 index 0000000..3be3745 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.0~1.2.1/blade.sql @@ -0,0 +1,4 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590668, 1347061240995815427, 'wf_design_model_scope', '权限', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); + +UPDATE `blade_wf_form` SET `key` = 'leave', `name` = '请假流程表单', `content` = '{column:[{type:\'datetimerange\',label:\'请假时间\',span:12,display:true,format:\'yyyy-MM-dd HH:mm:ss\',valueFormat:\'yyyy-MM-dd HH:mm:ss\',prop:\'datetime\',required:true,rules:[{required:true,message:\'开始时间必须填写\'}],change:({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, \'days\', undefined)\r\n } else {\r\n const d1 = Date.parse(value[0])\r\n const d2 = Date.parse(value[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, \'days\', day.toFixed(2))\r\n }\r\n}},{type:\'number\',label:\'请假天数\',span:12,display:true,prop:\'days\',required:true,rules:[{required:true,message:\'请假天数必须填写\'}],controls:true,controlsPosition:\'right\',change:({value}) => {\nthis.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\n}},{type:\'textarea\',label:\'请假理由\',span:24,display:true,prop:\'reason\',required:true,rules:[{required:true,message:\'请假理由必须填写\'}]}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', `version` = 1, `remark` = '', `create_user` = 1123598821738675201, `create_dept` = 1123598813738675201, `create_time` = '2021-06-01 22:06:20', `update_user` = 1123598821738675201, `update_time` = '2021-07-29 20:59:26', `status` = 1, `is_deleted` = 0, `tenant_id` = '000000' WHERE `id` = 1399729025840140290; +INSERT INTO `blade_wf_form` (`id`, `key`, `name`, `content`, `version`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399729025840140290, 'leave', '请假流程表单', '{column:[{type:\'datetimerange\',label:\'请假时间\',span:12,display:true,format:\'yyyy-MM-dd HH:mm:ss\',valueFormat:\'yyyy-MM-dd HH:mm:ss\',prop:\'datetime\',required:true,rules:[{required:true,message:\'开始时间必须填写\'}],change:({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, \'days\', undefined)\r\n } else {\r\n const d1 = Date.parse(value[0])\r\n const d2 = Date.parse(value[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, \'days\', day.toFixed(2))\r\n }\r\n}},{type:\'number\',label:\'请假天数\',span:12,display:true,prop:\'days\',required:true,rules:[{required:true,message:\'请假天数必须填写\'}],controls:true,controlsPosition:\'right\',change:({value}) => {\nthis.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\n}},{type:\'textarea\',label:\'请假理由\',span:24,display:true,prop:\'reason\',required:true,rules:[{required:true,message:\'请假理由必须填写\'}]}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', 1, '', 1123598821738675201, 1123598813738675201, '2021-06-01 22:06:20', 1123598821738675201, '2021-07-29 20:59:26', 1, 0, '000000'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.10~1.3.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.10~1.3.0/blade-workflow.sql new file mode 100644 index 0000000..30d5e7d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.10~1.3.0/blade-workflow.sql @@ -0,0 +1,6 @@ +ALTER TABLE `blade_wf_form` ADD COLUMN `app_content` longtext NULL COMMENT 'app表单内容' AFTER `content`; +ALTER TABLE `blade_wf_form_history` ADD COLUMN `app_content` longtext NULL COMMENT 'app表单内容' AFTER `content`; +ALTER TABLE `blade_wf_deployment_form` ADD COLUMN `app_content` longtext NULL COMMENT 'app表单内容' AFTER `content`; + +UPDATE `blade_wf_form` SET `form_key` = 'leave', `name` = '请假流程表单', `content` = '{column:[{type:\'datetimerange\',label:\'请假时间\',span:12,display:true,format:\'yyyy-MM-dd HH:mm:ss\',valueFormat:\'yyyy-MM-dd HH:mm:ss\',prop:\'datetime\',required:true,rules:[{required:true,message:\'开始时间必须填写\'}],change:(res) => {\r\n const value = res.value\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, \'days\', undefined)\r\n } else {\r\n const d1 = Date.parse(value[0])\r\n const d2 = Date.parse(value[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\r\n }\r\n}},{type:\'number\',label:\'请假天数\',span:12,display:true,prop:\'days\',required:true,rules:[{required:true,message:\'请假天数必须填写\'}],controls:true,controlsPosition:\'right\',change:(res) => {\n const value = res.value\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\n else this.$set(this.form, \'reason\',\'\')\n}},{type:\'textarea\',label:\'请假理由\',span:24,display:true,prop:\'reason\',required:true,rules:[{required:true,message:\'请假理由必须填写\'}]}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', `app_content` = '{\"column\":[{\"type\":\"datetimerange\",\"label\":\"请假时间\",\"span\":12,\"display\":true,\"format\":\"yyyy-MM-dd HH:mm:ss\",\"valueFormat\":\"yyyy-MM-dd HH:mm:ss\",\"prop\":\"datetime\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"开始时间必须填写\"}],\"change\":\"(res) => {\\r\\n const value = res.value\\r\\n if (!value || value.length == 0) {\\r\\n this.$set(this.form, \'days\', undefined)\\r\\n } else {\\r\\n const d1 = Date.parse(value[0])\\r\\n const d2 = Date.parse(value[1])\\r\\n const day = (d2-d1)/(1*24*60*60*1000)\\r\\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\\r\\n }\\r\\n}\"},{\"type\":\"number\",\"label\":\"请假天数\",\"span\":12,\"display\":true,\"prop\":\"days\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假天数必须填写\"}],\"controls\":true,\"controlsPosition\":\"right\",\"change\":\"(res) => {\\n const value = res.value\\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\\n else this.$set(this.form, \'reason\',\'\')\\n}\"},{\"type\":\"textarea\",\"label\":\"请假理由\",\"span\":24,\"display\":true,\"prop\":\"reason\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假理由必须填写\"}]}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', `version` = 1, `category_id` = -1, `remark` = '', `create_user` = 1123598821738675201, `create_dept` = 1123598813738675201, `create_time` = '2021-06-01 22:06:20', `update_user` = 1123598821738675201, `update_time` = '2021-10-31 20:19:16', `status` = 1, `is_deleted` = 0, `tenant_id` = '000000' WHERE `id` = 1399729025840140290; +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399729025840140290, 'leave', '请假流程表单', '{column:[{type:\'datetimerange\',label:\'请假时间\',span:12,display:true,format:\'yyyy-MM-dd HH:mm:ss\',valueFormat:\'yyyy-MM-dd HH:mm:ss\',prop:\'datetime\',required:true,rules:[{required:true,message:\'开始时间必须填写\'}],change:(res) => {\r\n const value = res.value\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, \'days\', undefined)\r\n } else {\r\n const d1 = Date.parse(value[0])\r\n const d2 = Date.parse(value[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\r\n }\r\n}},{type:\'number\',label:\'请假天数\',span:12,display:true,prop:\'days\',required:true,rules:[{required:true,message:\'请假天数必须填写\'}],controls:true,controlsPosition:\'right\',change:(res) => {\n const value = res.value\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\n else this.$set(this.form, \'reason\',\'\')\n}},{type:\'textarea\',label:\'请假理由\',span:24,display:true,prop:\'reason\',required:true,rules:[{required:true,message:\'请假理由必须填写\'}]}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"datetimerange\",\"label\":\"请假时间\",\"span\":12,\"display\":true,\"format\":\"yyyy-MM-dd HH:mm:ss\",\"valueFormat\":\"yyyy-MM-dd HH:mm:ss\",\"prop\":\"datetime\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"开始时间必须填写\"}],\"change\":\"(res) => {\\r\\n const value = res.value\\r\\n if (!value || value.length == 0) {\\r\\n this.$set(this.form, \'days\', undefined)\\r\\n } else {\\r\\n const d1 = Date.parse(value[0])\\r\\n const d2 = Date.parse(value[1])\\r\\n const day = (d2-d1)/(1*24*60*60*1000)\\r\\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\\r\\n }\\r\\n}\"},{\"type\":\"number\",\"label\":\"请假天数\",\"span\":12,\"display\":true,\"prop\":\"days\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假天数必须填写\"}],\"controls\":true,\"controlsPosition\":\"right\",\"change\":\"(res) => {\\n const value = res.value\\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\\n else this.$set(this.form, \'reason\',\'\')\\n}\"},{\"type\":\"textarea\",\"label\":\"请假理由\",\"span\":24,\"display\":true,\"prop\":\"reason\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假理由必须填写\"}]}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, -1, '', 1123598821738675201, 1123598813738675201, '2021-06-01 22:06:20', 1123598821738675201, '2021-10-31 20:19:16', 1, 0, '000000'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.1~1.2.2/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.1~1.2.2/blade.sql new file mode 100644 index 0000000..4568097 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.1~1.2.2/blade.sql @@ -0,0 +1 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562800, 1412666776159797249, 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/ops/done', 'iconfont iconicon_exchange', 1, 1, 0, 1, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.3~1.2.4/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.3~1.2.4/blade-workflow.sql new file mode 100644 index 0000000..3e845ff --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.3~1.2.4/blade-workflow.sql @@ -0,0 +1,19 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_draft +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_draft`; +CREATE TABLE `blade_wf_draft` ( + `id` bigint(64) NOT NULL, + `user_id` bigint(64) DEFAULT NULL COMMENT '用户id', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单key', + `process_def_id` varchar(255) DEFAULT NULL COMMENT '流程定义id', + `variables` text COMMENT '表单变量', + `platform` varchar(255) DEFAULT NULL COMMENT '平台 pc/app', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_DRAFT_UNI` (`user_id`,`process_def_id`,`platform`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程草稿箱'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.3~1.2.4/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.3~1.2.4/blade.sql new file mode 100644 index 0000000..fc9f6c2 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.3~1.2.4/blade.sql @@ -0,0 +1 @@ +INSERT INTO `bladex_boot`.`blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114305, 1347095124710114302, 'wf_process_draft', '草稿箱', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.4~1.2.5/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.4~1.2.5/blade-workflow.sql new file mode 100644 index 0000000..f28165d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.4~1.2.5/blade-workflow.sql @@ -0,0 +1,10 @@ +ALTER TABLE blade_wf_button CHANGE `key` button_key VARCHAR(255) DEFAULT NULL COMMENT '按钮key'; +ALTER TABLE blade_wf_form CHANGE `key` form_key VARCHAR(255) DEFAULT NULL COMMENT '表单key'; +ALTER TABLE blade_wf_form_history CHANGE `key` form_key VARCHAR(255) DEFAULT NULL COMMENT '表单key'; +ALTER TABLE blade_wf_deployment_form CHANGE `key` form_key VARCHAR(255) DEFAULT NULL COMMENT '表单key'; +ALTER TABLE blade_wf_serial CHANGE `sequence` current_sequence INT(11) DEFAULT NULL COMMENT '当前序列'; + +-- 字段联动示例 +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('89d9c299dfed64a7834fdb7caccc913f', '字段联动', 'field-linkage', 'field-linkage', '表单字段联动示例', NULL, '2021-08-23 13:22:16.481000', '1123598821738675201', '2021-08-23 13:25:32.180000', '1123598821738675201', 1, '\n\n \n 表单字段联动示例\n \n \n \n \n \n \n \n Flow_0ij25wf\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0ij25wf\n Flow_0vq4xed\n \n \n \n Flow_0vq4xed\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"field-linkage\",\"name\":\"字段联动\",\"documentation\":\"表单字段联动示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":276.0,\"y\":236.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1629695558953_19833\",\"name\":\"控制显隐\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"input\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1629695859796_23456\",\"name\":\"值改变\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"input2\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0ij25wf\"}]},{\"bounds\":{\"lowerRight\":{\"x\":430.0,\"y\":258.0},\"upperLeft\":{\"x\":330.0,\"y\":178.0}},\"resourceId\":\"Activity_1tlsc5z\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1tlsc5z\",\"name\":\"1\",\"formproperties\":{\"formProperties\":[{\"id\":\"1629695558953_19833\",\"name\":\"控制显隐\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"input\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1629695859796_23456\",\"name\":\"值改变\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"input2\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0vq4xed\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0ij25wf\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":18.0,\"y\":18.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1tlsc5z\"}],\"target\":{\"resourceId\":\"Activity_1tlsc5z\"},\"properties\":{\"overrideid\":\"Flow_0ij25wf\"}},{\"bounds\":{\"lowerRight\":{\"x\":528.0,\"y\":236.0},\"upperLeft\":{\"x\":492.0,\"y\":200.0}},\"resourceId\":\"Event_1ettf2b\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_1ettf2b\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0vq4xed\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_1ettf2b\"}],\"target\":{\"resourceId\":\"Event_1ettf2b\"},\"properties\":{\"overrideid\":\"Flow_0vq4xed\"}}]}', NULL, 0, '000000'); +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `version`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1429672727182159874, 'field-linkage', '字段联动', '{column:[{type:\'switch\',label:\'控制显隐\',span:24,display:true,value:\'0\',dicData:[{label:\'\',value:\'0\'},{label:\'\',value:\'1\'}],prop:\'1629695558953_19833\',change:({value}) => {\r\n const input = this.findObject(this.option.column, \'input\')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}},{type:\'input\',label:\'单行文本\',span:24,display:true,prop:\'input\',change:({value}) => {\r\n\r\n}},{type:\'select\',label:\'值改变\',dicData:[{label:\'一天\',value:\'1\'},{label:\'两天\',value:\'2\'},{label:\'三天\',value:\'3\'}],cascaderItem:[],span:24,display:true,props:{label:\'label\',value:\'value\'},prop:\'1629695859796_23456\',change:({value}) => {\r\n let text = value\r\n if(value) {\r\n text = \'请假 \' + value + \' 天\'\r\n }\r\n this.$set(this.form, \'input2\', text)\r\n}},{type:\'input\',label:\'单行文本\',span:24,display:true,prop:\'input2\',change:({value}) => {\r\n\r\n}}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', 1, '字段联动示例', 1123598821738675201, 1123598813738675201, '2021-08-23 13:11:54', 1123598821738675201, '2021-08-23 13:25:17', 1, 0, '000000'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1429675430591442946, '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.5~1.2.6/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.5~1.2.6/blade-workflow.sql new file mode 100644 index 0000000..b944fe7 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.5~1.2.6/blade-workflow.sql @@ -0,0 +1,2 @@ +ALTER TABLE blade_wf_button ADD COLUMN display TINYINT(1) DEFAULT NULL COMMENT '默认是否显示' AFTER `name`; +UPDATE blade_wf_button SET display = TRUE; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.6~1.2.7/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.6~1.2.7/blade-workflow.sql new file mode 100644 index 0000000..bcfcc04 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.6~1.2.7/blade-workflow.sql @@ -0,0 +1,4 @@ +ALTER TABLE `blade_wf_form` ADD COLUMN `category_id` bigint(64) NULL COMMENT '分类id' AFTER `version`; +ALTER TABLE `blade_wf_form_history` ADD COLUMN `category_id` bigint(64) NULL DEFAULT NULL COMMENT '分类id' AFTER `version`; +ALTER TABLE `ACT_DE_MODEL` ADD COLUMN `category_id` bigint(64) NULL DEFAULT NULL COMMENT '分类id' AFTER `form_key`; +ALTER TABLE `ACT_DE_MODEL_HISTORY` ADD COLUMN `category_id` bigint(64) NULL DEFAULT NULL COMMENT '分类id' AFTER `form_key`; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.6~1.2.7/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.6~1.2.7/blade.sql new file mode 100644 index 0000000..fad1392 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.6~1.2.7/blade.sql @@ -0,0 +1,2 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347066574619590669, 1347061240995815427, 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347083757101826060, 1347083757101826049, 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.8~1.2.9/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.8~1.2.9/blade-workflow.sql new file mode 100644 index 0000000..0076d10 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.2.8~1.2.9/blade-workflow.sql @@ -0,0 +1,5 @@ +ALTER TABLE `blade_wf_deployment_form` ADD COLUMN `task_key` varchar(255) NULL COMMENT '节点key' AFTER `content`; +ALTER TABLE `blade_wf_deployment_form` ADD COLUMN `task_name` varchar(255) NULL COMMENT '节点名称' AFTER `task_key`; + +INSERT INTO `ACT_DE_MODEL` VALUES ('d71049b6ba4eda39cacf9baf984274ac', '节点独立表单示例', 'indep-form', 'wf_indep_default-value', NULL, NULL, NULL, '2021-10-11 21:32:41.567000', '1123598821738675201', '2021-10-11 21:32:41.567000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0u2w7hr\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0u2w7hr\n Flow_1gfy6oq\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1gfy6oq\n Flow_016wlba\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_016wlba\n Flow_1omx17n\n \n \n \n Flow_1omx17n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"indep-form\",\"name\":\"节点独立表单示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":276.0,\"y\":236.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1622472547203_21841\",\"name\":\"人事姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553629767_65211\",\"name\":\"人事职位\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472547375_86557\",\"name\":\"人事部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553629949_3168\",\"name\":\"当前日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553631752_15562\",\"name\":\"当前时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622553691156_69886\",\"name\":\"人事姓名和日期\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472547780_5707\",\"name\":\"经理姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472547975_90560\",\"name\":\"经理部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472548372_60141\",\"name\":\"老板姓名\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"1622472548560_32474\",\"name\":\"老板部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0u2w7hr\"}]},{\"bounds\":{\"lowerRight\":{\"x\":430.0,\"y\":258.0},\"upperLeft\":{\"x\":330.0,\"y\":178.0}},\"resourceId\":\"Activity_0a06fpe\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0a06fpe\",\"name\":\"节点1\",\"formproperties\":{\"formProperties\":[{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1gfy6oq\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0u2w7hr\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":18.0,\"y\":18.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0a06fpe\"}],\"target\":{\"resourceId\":\"Activity_0a06fpe\"},\"properties\":{\"overrideid\":\"Flow_0u2w7hr\"}},{\"bounds\":{\"lowerRight\":{\"x\":590.0,\"y\":258.0},\"upperLeft\":{\"x\":490.0,\"y\":178.0}},\"resourceId\":\"Activity_0k3kp91\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0k3kp91\",\"name\":\"节点2\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_016wlba\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1gfy6oq\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0k3kp91\"}],\"target\":{\"resourceId\":\"Activity_0k3kp91\"},\"properties\":{\"overrideid\":\"Flow_1gfy6oq\"}},{\"bounds\":{\"lowerRight\":{\"x\":750.0,\"y\":258.0},\"upperLeft\":{\"x\":650.0,\"y\":178.0}},\"resourceId\":\"Activity_1yv7km2\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1yv7km2\",\"name\":\"汇总\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1omx17n\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_016wlba\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1yv7km2\"}],\"target\":{\"resourceId\":\"Activity_1yv7km2\"},\"properties\":{\"overrideid\":\"Flow_016wlba\"}},{\"bounds\":{\"lowerRight\":{\"x\":848.0,\"y\":236.0},\"upperLeft\":{\"x\":812.0,\"y\":200.0}},\"resourceId\":\"Event_1vr1neq\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_1vr1neq\",\"name\":\"结束\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1omx17n\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_1vr1neq\"}],\"target\":{\"resourceId\":\"Event_1vr1neq\"},\"properties\":{\"overrideid\":\"Flow_1omx17n\"}}]}', NULL, 0, '000000'); +INSERT INTO `blade_wf_model_scope` VALUES (1447556025547763714, 'd71049b6ba4eda39cacf9baf984274ac', 'indep-form', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.0~1.3.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.0~1.3.1/blade.sql new file mode 100644 index 0000000..1fe34e3 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.0~1.3.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114306, 1347095124710114302, 'wf_process_withdraw', '撤销', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.1~1.3.2/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.1~1.3.2/blade.sql new file mode 100644 index 0000000..3d0f63e --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.1~1.3.2/blade.sql @@ -0,0 +1,8 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114307, 1347095124710114292, 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114308, 1347095124710114296, 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114309, 1347095124710114299, 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114310, 1347095124710114302, 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710114311, 1347095124710114288, 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); + +UPDATE `blade_menu` SET `parent_id` = 1347095124710114284 WHERE `id` = 1347095124710114305; +UPDATE `blade_menu` SET `parent_id` = 1347095124710114284 WHERE `id` = 1347095124710114306; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.2~1.3.3/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.2~1.3.3/blade-workflow.sql new file mode 100644 index 0000000..a66e6b9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.2~1.3.3/blade-workflow.sql @@ -0,0 +1 @@ +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`) VALUES ('617167d80b6051708484bbedfb72a137', '人员/流转调用自定义方法示例', 'demo-custom-method', 'demo-test', NULL, '人员/流转调用自定义方法示例', NULL, '2021-11-29 09:42:20.068000', '1123598821738675201', '2021-12-01 19:18:18.463000', '1123598821738675201', 1, '\n\n \n 人员/流转调用自定义方法示例\n \n \n \n \n Flow_0yhobgw\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0yhobgw\n Flow_1t6zwdf\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1t6zwdf\n Flow_0kxxs74\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kxxs74\n Flow_01h467o\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kdt4xu\n Flow_1x5wxzy\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0jw1ae2\n Flow_00r5t9o\n \n \n Flow_1fun2ye\n \n \n Flow_01h467o\n Flow_0kdt4xu\n Flow_0jw1ae2\n \n \n \n ${wfCustomUserHandler.condition(execution, \'对\')}\n \n \n ${wfCustomUserHandler.condition(execution, \'错\')}\n \n \n Flow_1x5wxzy\n Flow_00r5t9o\n Flow_1fun2ye\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"demo-custom-method\",\"name\":\"人员/流转调用自定义方法示例\",\"documentation\":\"人员/流转调用自定义方法示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":276.0,\"y\":236.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0yhobgw\"}]},{\"bounds\":{\"lowerRight\":{\"x\":430.0,\"y\":258.0},\"upperLeft\":{\"x\":330.0,\"y\":178.0}},\"resourceId\":\"Activity_06t0e98\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_06t0e98\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1t6zwdf\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0yhobgw\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":18.0,\"y\":18.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_06t0e98\"}],\"target\":{\"resourceId\":\"Activity_06t0e98\"},\"properties\":{\"overrideid\":\"Flow_0yhobgw\"}},{\"bounds\":{\"lowerRight\":{\"x\":590.0,\"y\":258.0},\"upperLeft\":{\"x\":490.0,\"y\":178.0}},\"resourceId\":\"Activity_07ghy8s\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_07ghy8s\",\"name\":\"方式1\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0kxxs74\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1t6zwdf\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_07ghy8s\"}],\"target\":{\"resourceId\":\"Activity_07ghy8s\"},\"properties\":{\"overrideid\":\"Flow_1t6zwdf\"}},{\"bounds\":{\"lowerRight\":{\"x\":750.0,\"y\":258.0},\"upperLeft\":{\"x\":650.0,\"y\":178.0}},\"resourceId\":\"Activity_10810pv\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_10810pv\",\"name\":\"方式2\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_01h467o\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0kxxs74\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_10810pv\"}],\"target\":{\"resourceId\":\"Activity_10810pv\"},\"properties\":{\"overrideid\":\"Flow_0kxxs74\"}},{\"bounds\":{\"lowerRight\":{\"x\":1010.0,\"y\":130.0},\"upperLeft\":{\"x\":910.0,\"y\":50.0}},\"resourceId\":\"Activity_1i46ta4\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1i46ta4\",\"name\":\"方式3\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1x5wxzy\"}]},{\"bounds\":{\"lowerRight\":{\"x\":1010.0,\"y\":400.0},\"upperLeft\":{\"x\":910.0,\"y\":320.0}},\"resourceId\":\"Activity_03trwm6\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_03trwm6\",\"name\":\"方式4\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_00r5t9o\"}]},{\"bounds\":{\"lowerRight\":{\"x\":1178.0,\"y\":236.0},\"upperLeft\":{\"x\":1142.0,\"y\":200.0}},\"resourceId\":\"Event_0uefnoo\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_0uefnoo\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":865.0,\"y\":243.0},\"upperLeft\":{\"x\":815.0,\"y\":193.0}},\"resourceId\":\"Gateway_0mtj57e\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0mtj57e\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0kdt4xu\"},{\"resourceId\":\"Flow_0jw1ae2\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_01h467o\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0mtj57e\"}],\"target\":{\"resourceId\":\"Gateway_0mtj57e\"},\"properties\":{\"overrideid\":\"Flow_01h467o\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0kdt4xu\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":840.0,\"y\":90.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1i46ta4\"}],\"target\":{\"resourceId\":\"Activity_1i46ta4\"},\"properties\":{\"overrideid\":\"Flow_0kdt4xu\",\"conditionsequenceflow\":\"${wfCustomUserHandler.condition(execution, \'对\')}\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0jw1ae2\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":840.0,\"y\":360.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_03trwm6\"}],\"target\":{\"resourceId\":\"Activity_03trwm6\"},\"properties\":{\"overrideid\":\"Flow_0jw1ae2\",\"conditionsequenceflow\":\"${wfCustomUserHandler.condition(execution, \'错\')}\"}},{\"bounds\":{\"lowerRight\":{\"x\":1105.0,\"y\":243.0},\"upperLeft\":{\"x\":1055.0,\"y\":193.0}},\"resourceId\":\"Gateway_0ha0m7b\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0ha0m7b\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1fun2ye\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1x5wxzy\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":1080.0,\"y\":90.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ha0m7b\"}],\"target\":{\"resourceId\":\"Gateway_0ha0m7b\"},\"properties\":{\"overrideid\":\"Flow_1x5wxzy\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1fun2ye\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_0uefnoo\"}],\"target\":{\"resourceId\":\"Event_0uefnoo\"},\"properties\":{\"overrideid\":\"Flow_1fun2ye\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_00r5t9o\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":1080.0,\"y\":360.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ha0m7b\"}],\"target\":{\"resourceId\":\"Gateway_0ha0m7b\"},\"properties\":{\"overrideid\":\"Flow_00r5t9o\"}}]}', NULL, 0, '000000'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.3~1.3.4/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.3~1.3.4/blade.sql new file mode 100644 index 0000000..876526c --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.3.3~1.3.4/blade.sql @@ -0,0 +1 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562801, 1412666776159797249, 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/ops/list', 'iconfont iconicon_safety', 1, 1, 0, 1, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.4.0~1.5.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.4.0~1.5.0/blade-workflow.sql new file mode 100644 index 0000000..ff8b2c1 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.4.0~1.5.0/blade-workflow.sql @@ -0,0 +1,2 @@ +ALTER TABLE `ACT_DE_MODEL` +ADD COLUMN `icon` varchar(255) NULL COMMENT '图标' AFTER `tenant_id`; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.4.0~1.5.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.4.0~1.5.0/blade.sql new file mode 100644 index 0000000..e56bc2e --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.4.0~1.5.0/blade.sql @@ -0,0 +1 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590671, 1347061240995815427, 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.0~1.5.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.0~1.5.1/blade.sql new file mode 100644 index 0000000..54ee9ca --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.0~1.5.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1412667489128562802, 1412667489128562801, 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.1~1.6.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.1~1.6.0/blade-workflow.sql new file mode 100644 index 0000000..3f6b793 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.1~1.6.0/blade-workflow.sql @@ -0,0 +1,51 @@ + +-- 请先查看升级指南1.6,再确定是否执行这一段注释的SQL +-- UPDATE `blade_wf_form` SET `form_key` = 'leave', `name` = '请假流程表单', `content` = '{column:[{type:\'input\',label:\'创建人\',span:12,display:true,prop:\'creator\',value:\'${this.$store.getters.userInfo.nick_name}\',readonly:true},{type:\'input\',label:\'创建部门\',span:12,display:true,prop:\'creatorDept\',value:\'${this.$store.getters.userInfo.dept_name}\',readonly:true},{type:\'datetimerange\',label:\'请假时间\',span:12,display:true,format:\'yyyy-MM-dd HH:mm:ss\',valueFormat:\'yyyy-MM-dd HH:mm:ss\',prop:\'datetime\',required:true,rules:[{required:true,message:\'请假时间必须填写\'}],change:({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, \'days\', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split(\',\')[0])\r\n const d2 = Date.parse(value.split(\',\')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\r\n }\r\n},dataType:\'string\'},{type:\'number\',label:\'请假天数\',span:12,display:true,prop:\'days\',required:true,rules:[{required:true,message:\'请假天数必须填写\'}],controls:true,controlsPosition:\'right\',change:({value}) => {\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\n else this.$set(this.form, \'reason\', \'\')\n}},{type:\'textarea\',label:\'请假理由\',span:24,display:true,prop:\'reason\',required:true,rules:[{required:true,message:\'请假理由必须填写\'}]},{label:\'附件\',type:\'upload\',propsHttp:{res:\'data\',url:\'link\',name:\'originalName\'},action:\'/api/blade-resource/oss/endpoint/put-file\',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:\'attachment\',dataType:\'string\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', `app_content` = '{\"column\":[{\"type\":\"input\",\"label\":\"创建人\",\"span\":12,\"display\":true,\"prop\":\"creator\",\"value\":\"${this.$store.getters.userInfo.nick_name}\",\"readonly\":true},{\"type\":\"input\",\"label\":\"创建部门\",\"span\":12,\"display\":true,\"prop\":\"creatorDept\",\"value\":\"${this.$store.getters.userInfo.dept_name}\",\"readonly\":true},{\"type\":\"datetimerange\",\"label\":\"请假时间\",\"span\":12,\"display\":true,\"format\":\"yyyy-MM-dd HH:mm:ss\",\"valueFormat\":\"yyyy-MM-dd HH:mm:ss\",\"prop\":\"datetime\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假时间必须填写\"}],\"change\":\"({value}) => {\\r\\n if (!value || value.length == 0) {\\r\\n this.$set(this.form, \'days\', undefined)\\r\\n } else {\\r\\n const d1 = Date.parse(value.split(\',\')[0])\\r\\n const d2 = Date.parse(value.split(\',\')[1])\\r\\n const day = (d2-d1)/(1*24*60*60*1000)\\r\\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\\r\\n }\\r\\n}\",\"dataType\":\"string\"},{\"type\":\"number\",\"label\":\"请假天数\",\"span\":12,\"display\":true,\"prop\":\"days\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假天数必须填写\"}],\"controls\":true,\"controlsPosition\":\"right\",\"change\":\"({value}) => {\\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\\n else this.$set(this.form, \'reason\', \'\')\\n}\"},{\"type\":\"textarea\",\"label\":\"请假理由\",\"span\":24,\"display\":true,\"prop\":\"reason\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假理由必须填写\"}]},{\"label\":\"附件\",\"type\":\"upload\",\"propsHttp\":{\"res\":\"data\",\"url\":\"link\",\"name\":\"originalName\"},\"action\":\"/api/blade-resource/oss/endpoint/put-file\",\"display\":true,\"span\":24,\"showFileList\":true,\"multiple\":true,\"limit\":10,\"prop\":\"attachment\",\"dataType\":\"string\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', `version` = 1, `category_id` = -1, `remark` = '', `create_user` = 1123598821738675201, `create_dept` = 1123598813738675201, `create_time` = '2021-06-01 22:06:20', `update_user` = 1123598821738675201, `update_time` = '2022-04-12 10:27:07', `status` = 1, `is_deleted` = 0, `tenant_id` = '000000' WHERE `id` = 1399729025840140290; +-- UPDATE `ACT_DE_MODEL` SET `name` = '请假流程', `model_key` = 'leave', `form_key` = 'leave', `category_id` = 1394133715940073474, `description` = NULL, `model_comment` = NULL, `created` = '2021-06-01 22:14:07.363000', `created_by` = '1123598821738675201', `last_updated` = '2022-04-15 14:45:10.009000', `last_updated_by` = '1123598821738675201', `version` = 1, `xml` = '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n Flow_0bz2pj7\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0bz2pj7\n Flow_1pf3fia\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0of3zct\n Flow_1dmv86y\n \n \n ${days<5}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_139q6po\n Flow_1bugorc\n \n \n ${days>=5}\n \n \n \n \n \n \n \n Flow_0vtl8w4\n \n \n \n Flow_1pf3fia\n Flow_0of3zct\n Flow_139q6po\n \n \n Flow_1dmv86y\n Flow_1bugorc\n Flow_0vtl8w4\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', `model_editor_json` = '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"leave\",\"name\":\"请假流程\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0myeljb\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_0u3ywm0\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0u3ywm0\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0bz2pj7\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0myeljb\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0u3ywm0\"}],\"target\":{\"resourceId\":\"Activity_0u3ywm0\"},\"properties\":{\"overrideid\":\"Flow_0myeljb\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_1hmjyx7\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1hmjyx7\",\"name\":\"人事\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1pf3fia\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0bz2pj7\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1hmjyx7\"}],\"target\":{\"resourceId\":\"Activity_1hmjyx7\"},\"properties\":{\"overrideid\":\"Flow_0bz2pj7\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1pf3fia\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_1qc70vy\"}],\"target\":{\"resourceId\":\"Gateway_1qc70vy\"},\"properties\":{\"overrideid\":\"Flow_1pf3fia\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":150.0},\"upperLeft\":{\"x\":730.0,\"y\":70.0}},\"resourceId\":\"Activity_1r4xgdo\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1r4xgdo\",\"name\":\"经理\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1dmv86y\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0of3zct\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":110.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1r4xgdo\"}],\"target\":{\"resourceId\":\"Activity_1r4xgdo\"},\"properties\":{\"overrideid\":\"Flow_0of3zct\",\"name\":\"小于5天\",\"conditionsequenceflow\":\"${days<5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":370.0},\"upperLeft\":{\"x\":730.0,\"y\":290.0}},\"resourceId\":\"Activity_1bt0gzy\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1bt0gzy\",\"name\":\"老板\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1bugorc\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_139q6po\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":330.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1bt0gzy\"}],\"target\":{\"resourceId\":\"Activity_1bt0gzy\"},\"properties\":{\"overrideid\":\"Flow_139q6po\",\"name\":\"大于5天\",\"conditionsequenceflow\":\"${days>=5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1dmv86y\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":110.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1dmv86y\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1bugorc\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":330.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1bugorc\"}},{\"bounds\":{\"lowerRight\":{\"x\":1028.0,\"y\":233.0},\"upperLeft\":{\"x\":992.0,\"y\":197.0}},\"resourceId\":\"Event_1j9xjra\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_1j9xjra\",\"name\":\"结束\",\"executionlisteners\":{\"executionListeners\":[{\"event\":\"end\",\"delegateExpression\":\"${WfExecutionListener}\"}]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0vtl8w4\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_1j9xjra\"}],\"target\":{\"resourceId\":\"Event_1j9xjra\"},\"properties\":{\"overrideid\":\"Flow_0vtl8w4\"}},{\"bounds\":{\"lowerRight\":{\"x\":675.0,\"y\":240.0},\"upperLeft\":{\"x\":625.0,\"y\":190.0}},\"resourceId\":\"Gateway_1qc70vy\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_1qc70vy\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0of3zct\"},{\"resourceId\":\"Flow_139q6po\"}]},{\"bounds\":{\"lowerRight\":{\"x\":925.0,\"y\":240.0},\"upperLeft\":{\"x\":875.0,\"y\":190.0}},\"resourceId\":\"Gateway_0ciyfci\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0ciyfci\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0vtl8w4\"}]}]}', `thumbnail` = NULL, `model_type` = 0, `tenant_id` = '000000', `icon` = NULL WHERE `id` = '2f6b3b6de24354bb5df5aad3a87789af'; + +-- 若已删除自带的示例,请执行以下注释的SQL +-- INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399729025840140290, 'leave', '请假流程表单', '{column:[{type:\'input\',label:\'创建人\',span:12,display:true,prop:\'creator\',value:\'${this.$store.getters.userInfo.nick_name}\',readonly:true},{type:\'input\',label:\'创建部门\',span:12,display:true,prop:\'creatorDept\',value:\'${this.$store.getters.userInfo.dept_name}\',readonly:true},{type:\'datetimerange\',label:\'请假时间\',span:12,display:true,format:\'yyyy-MM-dd HH:mm:ss\',valueFormat:\'yyyy-MM-dd HH:mm:ss\',prop:\'datetime\',required:true,rules:[{required:true,message:\'请假时间必须填写\'}],change:({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, \'days\', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split(\',\')[0])\r\n const d2 = Date.parse(value.split(\',\')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\r\n }\r\n},dataType:\'string\'},{type:\'number\',label:\'请假天数\',span:12,display:true,prop:\'days\',required:true,rules:[{required:true,message:\'请假天数必须填写\'}],controls:true,controlsPosition:\'right\',change:({value}) => {\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\n else this.$set(this.form, \'reason\', \'\')\n}},{type:\'textarea\',label:\'请假理由\',span:24,display:true,prop:\'reason\',required:true,rules:[{required:true,message:\'请假理由必须填写\'}]},{label:\'附件\',type:\'upload\',propsHttp:{res:\'data\',url:\'link\',name:\'originalName\'},action:\'/api/blade-resource/oss/endpoint/put-file\',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:\'attachment\',dataType:\'string\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"input\",\"label\":\"创建人\",\"span\":12,\"display\":true,\"prop\":\"creator\",\"value\":\"${this.$store.getters.userInfo.nick_name}\",\"readonly\":true},{\"type\":\"input\",\"label\":\"创建部门\",\"span\":12,\"display\":true,\"prop\":\"creatorDept\",\"value\":\"${this.$store.getters.userInfo.dept_name}\",\"readonly\":true},{\"type\":\"datetimerange\",\"label\":\"请假时间\",\"span\":12,\"display\":true,\"format\":\"yyyy-MM-dd HH:mm:ss\",\"valueFormat\":\"yyyy-MM-dd HH:mm:ss\",\"prop\":\"datetime\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假时间必须填写\"}],\"change\":\"({value}) => {\\r\\n if (!value || value.length == 0) {\\r\\n this.$set(this.form, \'days\', undefined)\\r\\n } else {\\r\\n const d1 = Date.parse(value.split(\',\')[0])\\r\\n const d2 = Date.parse(value.split(\',\')[1])\\r\\n const day = (d2-d1)/(1*24*60*60*1000)\\r\\n this.$set(this.form, \'days\', Number(day.toFixed(2)))\\r\\n }\\r\\n}\",\"dataType\":\"string\"},{\"type\":\"number\",\"label\":\"请假天数\",\"span\":12,\"display\":true,\"prop\":\"days\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假天数必须填写\"}],\"controls\":true,\"controlsPosition\":\"right\",\"change\":\"({value}) => {\\n if (value) this.$set(this.form, \'reason\',\'请假\' + value + \'天\' )\\n else this.$set(this.form, \'reason\', \'\')\\n}\"},{\"type\":\"textarea\",\"label\":\"请假理由\",\"span\":24,\"display\":true,\"prop\":\"reason\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假理由必须填写\"}]},{\"label\":\"附件\",\"type\":\"upload\",\"propsHttp\":{\"res\":\"data\",\"url\":\"link\",\"name\":\"originalName\"},\"action\":\"/api/blade-resource/oss/endpoint/put-file\",\"display\":true,\"span\":24,\"showFileList\":true,\"multiple\":true,\"limit\":10,\"prop\":\"attachment\",\"dataType\":\"string\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, -1, '', 1123598821738675201, 1123598813738675201, '2021-06-01 22:06:20', 1123598821738675201, '2022-04-12 10:27:07', 1, 0, '000000'); +-- INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`, `icon`) VALUES ('2f6b3b6de24354bb5df5aad3a87789af', '请假流程', 'leave', 'leave', 1394133715940073474, NULL, NULL, '2021-06-01 22:14:07.363000', '1123598821738675201', '2022-04-15 14:45:10.009000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n Flow_0bz2pj7\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0bz2pj7\n Flow_1pf3fia\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0of3zct\n Flow_1dmv86y\n \n \n ${days<5}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_139q6po\n Flow_1bugorc\n \n \n ${days>=5}\n \n \n \n \n \n \n \n Flow_0vtl8w4\n \n \n \n Flow_1pf3fia\n Flow_0of3zct\n Flow_139q6po\n \n \n Flow_1dmv86y\n Flow_1bugorc\n Flow_0vtl8w4\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', '{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"leave\",\"name\":\"请假流程\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":270.0,\"y\":230.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0myeljb\"}]},{\"bounds\":{\"lowerRight\":{\"x\":420.0,\"y\":255.0},\"upperLeft\":{\"x\":320.0,\"y\":175.0}},\"resourceId\":\"Activity_0u3ywm0\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_0u3ywm0\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0bz2pj7\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0myeljb\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":15.0,\"y\":15.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_0u3ywm0\"}],\"target\":{\"resourceId\":\"Activity_0u3ywm0\"},\"properties\":{\"overrideid\":\"Flow_0myeljb\"}},{\"bounds\":{\"lowerRight\":{\"x\":570.0,\"y\":255.0},\"upperLeft\":{\"x\":470.0,\"y\":175.0}},\"resourceId\":\"Activity_1hmjyx7\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1hmjyx7\",\"name\":\"人事\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1pf3fia\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0bz2pj7\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1hmjyx7\"}],\"target\":{\"resourceId\":\"Activity_1hmjyx7\"},\"properties\":{\"overrideid\":\"Flow_0bz2pj7\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1pf3fia\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_1qc70vy\"}],\"target\":{\"resourceId\":\"Gateway_1qc70vy\"},\"properties\":{\"overrideid\":\"Flow_1pf3fia\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":150.0},\"upperLeft\":{\"x\":730.0,\"y\":70.0}},\"resourceId\":\"Activity_1r4xgdo\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1r4xgdo\",\"name\":\"经理\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1dmv86y\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0of3zct\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":110.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1r4xgdo\"}],\"target\":{\"resourceId\":\"Activity_1r4xgdo\"},\"properties\":{\"overrideid\":\"Flow_0of3zct\",\"name\":\"小于5天\",\"conditionsequenceflow\":\"${days<5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":830.0,\"y\":370.0},\"upperLeft\":{\"x\":730.0,\"y\":290.0}},\"resourceId\":\"Activity_1bt0gzy\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1bt0gzy\",\"name\":\"老板\",\"formproperties\":{\"formProperties\":[{\"id\":\"creator\",\"name\":\"创建人\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"creatorDept\",\"name\":\"创建部门\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"datetime\",\"name\":\"请假时间\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"days\",\"name\":\"请假天数\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"reason\",\"name\":\"请假理由\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false},{\"id\":\"attachment\",\"name\":\"附件\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":false}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1bugorc\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_139q6po\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":650.0,\"y\":330.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1bt0gzy\"}],\"target\":{\"resourceId\":\"Activity_1bt0gzy\"},\"properties\":{\"overrideid\":\"Flow_139q6po\",\"name\":\"大于5天\",\"conditionsequenceflow\":\"${days>=5}\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1dmv86y\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":110.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1dmv86y\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1bugorc\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":900.0,\"y\":330.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ciyfci\"}],\"target\":{\"resourceId\":\"Gateway_0ciyfci\"},\"properties\":{\"overrideid\":\"Flow_1bugorc\"}},{\"bounds\":{\"lowerRight\":{\"x\":1028.0,\"y\":233.0},\"upperLeft\":{\"x\":992.0,\"y\":197.0}},\"resourceId\":\"Event_1j9xjra\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_1j9xjra\",\"name\":\"结束\",\"executionlisteners\":{\"executionListeners\":[{\"event\":\"end\",\"delegateExpression\":\"${WfExecutionListener}\"}]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0vtl8w4\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_1j9xjra\"}],\"target\":{\"resourceId\":\"Event_1j9xjra\"},\"properties\":{\"overrideid\":\"Flow_0vtl8w4\"}},{\"bounds\":{\"lowerRight\":{\"x\":675.0,\"y\":240.0},\"upperLeft\":{\"x\":625.0,\"y\":190.0}},\"resourceId\":\"Gateway_1qc70vy\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_1qc70vy\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0of3zct\"},{\"resourceId\":\"Flow_139q6po\"}]},{\"bounds\":{\"lowerRight\":{\"x\":925.0,\"y\":240.0},\"upperLeft\":{\"x\":875.0,\"y\":190.0}},\"resourceId\":\"Gateway_0ciyfci\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0ciyfci\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0vtl8w4\"}]}]}', NULL, 0, '000000', NULL); + +-- ---------------------------- +-- Table structure for blade_wf_process_leave +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_process_leave`; +CREATE TABLE `blade_wf_process_leave` ( + `id` bigint(64) NOT NULL, + `process_ins_id` varchar(64) DEFAULT NULL COMMENT '流程实例id', + `process_def_id` varchar(64) DEFAULT NULL COMMENT '流程定义id', + `current_node` varchar(64) DEFAULT NULL COMMENT '当前节点', + `datetime` varchar(64) DEFAULT NULL COMMENT '时间范围', + `days` int(11) DEFAULT NULL COMMENT '请假天数', + `reason` text COMMENT '请假理由', + `attachment` text COMMENT '附件', + `create_user` bigint(20) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(2) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT NULL COMMENT '是否已删除', + PRIMARY KEY (`id`,`create_time`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='请假流程业务示例'; + +-- ---------------------------- +-- Table structure for blade_wf_proxy +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_proxy`; +CREATE TABLE `blade_wf_proxy` ( + `id` bigint(64) NOT NULL, + `user_id` bigint(64) DEFAULT NULL COMMENT '委托人', + `proxy_user_id` bigint(64) DEFAULT NULL COMMENT '代理人', + `process_def_key` varchar(750) DEFAULT NULL COMMENT '流程定义key', + `type` varchar(255) DEFAULT NULL COMMENT '1永久 2定时', + `start_time` datetime DEFAULT NULL COMMENT '开始时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `status` int(2) DEFAULT NULL COMMENT '状态', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_UNI_PROXY` (`user_id`,`process_def_key`) USING BTREE, + KEY `WF_IDX_USER_ID` (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程代理'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.1~1.6.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.1~1.6.0/blade.sql new file mode 100644 index 0000000..e00da3f --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.5.1~1.6.0/blade.sql @@ -0,0 +1,8 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638534, 1412666776159797249, 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/ops/proxy', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638535, 1513394358223638534, 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638536, 1513394358223638534, 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638537, 1513394358223638534, 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513394358223638538, 1513394358223638534, 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513683238709682182, 1164733399669963301, 'wf_demo', '业务示例', 'menu', '/plugin/workflow/demo', 'iconfont iconicon_cspace', 4, 1, 0, 1, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513683238709682183, 1513683238709682182, 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/demo/leave/index', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1513683238709682184, 1513683238709682182, 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, 4, 2, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.6.0~1.7.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.6.0~1.7.0/blade-workflow.sql new file mode 100644 index 0000000..89de3a9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.6.0~1.7.0/blade-workflow.sql @@ -0,0 +1,3 @@ +ALTER TABLE `blade_wf_process_leave` + ADD COLUMN `form_key` varchar(255) NULL COMMENT '外置表单key' AFTER `is_deleted`, + ADD COLUMN `form_url` varchar(255) NULL COMMENT '外置表单url' AFTER `form_key`; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.6.0~1.7.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.6.0~1.7.0/blade.sql new file mode 100644 index 0000000..9b4a36e --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.6.0~1.7.0/blade.sql @@ -0,0 +1,2 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682185, 1164733399669963301, 'statistics', '流程统计', 'menu', '/plugin/workflow/statistics', 'iconfont iconicon_airplay', 4, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682186, 1513683238709682185, 'wf_statistics', '总览', 'menu', '/plugin/workflow/statistics/index', 'iconfont iconicon_subordinate', 4, 1, 0, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.0~1.7.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.0~1.7.1/blade-workflow.sql new file mode 100644 index 0000000..b78a333 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.0~1.7.1/blade-workflow.sql @@ -0,0 +1,8 @@ +ALTER TABLE `blade_wf_copy` + ADD COLUMN `deployment_id` varchar(255) NULL COMMENT '流程部署id' AFTER `process_id`; + +ALTER TABLE `ACT_DE_MODEL` + CHANGE COLUMN `xml` `model_xml` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模型XML' AFTER `version`; + +ALTER TABLE `ACT_DE_MODEL_HISTORY` + CHANGE COLUMN `xml` `model_xml` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模型XML' AFTER `version`; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..be86f14 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,52 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_theme`; +CREATE TABLE `blade_wf_form_theme` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) NOT NULL COMMENT '名称', + `theme_key` varchar(255) NOT NULL COMMENT '主题key', + `border_width` varchar(255) DEFAULT NULL COMMENT '边框宽度', + `border_color` varchar(255) DEFAULT NULL COMMENT '边框颜色', + `label_color` varchar(255) DEFAULT NULL COMMENT 'label字体颜色', + `label_bg` varchar(255) DEFAULT NULL COMMENT 'label背景颜色', + `label_width` varchar(255) DEFAULT NULL COMMENT 'label宽度', + `label_font_size` varchar(255) DEFAULT NULL COMMENT 'label字体大小', + `value_color` varchar(255) DEFAULT NULL COMMENT 'value字体颜色', + `value_bg` varchar(255) DEFAULT NULL COMMENT 'value背景颜色', + `value_font_size` varchar(255) DEFAULT NULL COMMENT 'value字体大小', + `field0` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field1` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field2` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field3` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field4` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field5` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field6` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field7` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field8` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field9` varchar(255) DEFAULT NULL COMMENT '预留字段', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `WF_IDX_THEME_KEY` (`theme_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单 - 主题'; + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1, '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', '', '14px', '', '', '14px', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:36:46', 1123598821738675201, '2023-05-04 10:43:18', 1, 0, '000000'); +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2, '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:16:47', 1123598821738675201, '2023-04-18 11:50:10', 1, 0, '000000'); +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (3, '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598821738675201, '2023-04-04 16:57:35', 1123598821738675201, '2023-05-04 10:43:44', 1, 0, '000000'); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..2150e88 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.7.1~1.8.0/blade.sql @@ -0,0 +1,5 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113286, 1347061240995815426, 'wf_design_form_theme', '表单主题', 'menu', '/plugin/workflow/design/form-theme', 'iconfont icon-canshu', 7, 1, 0, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113287, 1347095124710113286, 'wf_design_form_theme_add', '新增', 'add', '', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113288, 1347095124710113286, 'wf_design_form_theme_edit', '修改', 'edit', '', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113289, 1347095124710113286, 'wf_design_form_theme_delete', '删除', 'delete', '', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1347095124710113290, 1347095124710113286, 'wf_design_form_theme_view', '查看', 'view', '', 'file-text', 4, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..ad33a66 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,34 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_variable`; +CREATE TABLE `blade_wf_form_variable` ( + `id` bigint(64) NOT NULL, + `process_ins_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程实例id', + `deployment_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程部署id', + `task_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '任务id', + `task_def_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '任务节点key', + `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '任务节点名称', + `form_option` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '表单js', + `form_variable` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '表单值', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单 - 历史变量'; + +-- ---------------------------- +-- Records of blade_wf_form_variable +-- ---------------------------- +BEGIN; +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..afe9306 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1/blade-workflow.sql new file mode 100644 index 0000000..3544513 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1/blade-workflow.sql @@ -0,0 +1,26 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_listener`; +CREATE TABLE `blade_wf_listener` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `category` varchar(255) DEFAULT NULL COMMENT '分类', + `event` varchar(255) DEFAULT NULL COMMENT '事件', + `type` varchar(255) DEFAULT NULL COMMENT '监听类型', + `val` varchar(255) DEFAULT NULL COMMENT '值', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务/执行监听器'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1/blade_menu.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1/blade_menu.sql new file mode 100644 index 0000000..de06ceb --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1/blade_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/design/listener', 'iconfont iconicon_details', 7, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..015eff4 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/mysql/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,3 @@ +ALTER TABLE `blade_wf_draft` + ADD COLUMN `task_id` varchar(255) NULL COMMENT '任务id' AFTER `process_def_id`, +ADD UNIQUE INDEX `WF_IDX_DRAFT_UNI2`(`user_id`, `task_id`, `platform`) USING BTREE; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.4~1.2.5/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.4~1.2.5/blade-workflow.sql new file mode 100644 index 0000000..bad45b9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.4~1.2.5/blade-workflow.sql @@ -0,0 +1,118 @@ +-- 重命名字段 +ALTER TABLE BLADE_WF_BUTTON RENAME COLUMN KEY TO BUTTON_KEY; +ALTER TABLE BLADE_WF_FORM RENAME COLUMN KEY TO FORM_KEY; +ALTER TABLE BLADE_WF_FORM_HISTORY RENAME COLUMN KEY TO FORM_KEY; +ALTER TABLE BLADE_WF_DEPLOYMENT_FORM RENAME COLUMN KEY TO FORM_KEY; +ALTER TABLE BLADE_WF_SERIAL RENAME COLUMN SEQUENCE TO CURRENT_SEQUENCE; + +-- 字段默认值 +ALTER TABLE BLADE_WF_BUTTON MODIFY IS_DELETED DEFAULT 0; +ALTER TABLE BLADE_WF_BUTTON MODIFY TENANT_ID DEFAULT '000000'; + +ALTER TABLE BLADE_WF_CATEGORY MODIFY IS_DELETED DEFAULT 0; +ALTER TABLE BLADE_WF_CATEGORY MODIFY TENANT_ID DEFAULT '000000'; + +ALTER TABLE BLADE_WF_CONDITION MODIFY IS_DELETED DEFAULT 0; +ALTER TABLE BLADE_WF_CONDITION MODIFY TENANT_ID DEFAULT '000000'; + +ALTER TABLE BLADE_WF_COPY MODIFY IS_DELETED DEFAULT 0; + +ALTER TABLE BLADE_WF_DEPLOYMENT_FORM MODIFY IS_DELETED DEFAULT 0; + +ALTER TABLE BLADE_WF_FORM MODIFY IS_DELETED DEFAULT 0; +ALTER TABLE BLADE_WF_FORM MODIFY TENANT_ID DEFAULT '000000'; + +ALTER TABLE BLADE_WF_FORM_DEFAULT_VALUES MODIFY IS_DELETED DEFAULT 0; +ALTER TABLE BLADE_WF_FORM_DEFAULT_VALUES MODIFY TENANT_ID DEFAULT '000000'; + +ALTER TABLE BLADE_WF_FORM_HISTORY MODIFY IS_DELETED DEFAULT 0; + +ALTER TABLE BLADE_WF_SERIAL MODIFY IS_DELETED DEFAULT 0; + +-- 表单联动示例 +INSERT INTO "ACT_DE_MODEL" ("ID", "NAME", "MODEL_KEY", "FORM_KEY", "DESCRIPTION", "MODEL_COMMENT", "CREATED", "CREATED_BY", "LAST_UPDATED", "LAST_UPDATED_BY", "VERSION", "XML", "MODEL_EDITOR_JSON", "THUMBNAIL", "MODEL_TYPE", "TENANT_ID") VALUES ('b3eb3226a5af88a9fc18a6fccea26231', '字段联动', 'field-linkage', 'field-linkage', '表单字段联动示例', NULL, TO_DATE('2021-08-23 14:19:03', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-08-23 14:21:17', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', '1', ' + + + 表单字段联动示例 + + + + + + + + Flow_08kq4bi + + + + + + + + + + + + + + + + + + + Flow_08kq4bi + Flow_19eudkr + + + + Flow_19eudkr + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', '{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"field-linkage","name":"字段联动","documentation":"表单字段联动示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":276.0,"y":236.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1629695558953_19833","name":"控制显隐","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1629695859796_23456","name":"值改变","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input2","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_08kq4bi"}]},{"bounds":{"lowerRight":{"x":430.0,"y":258.0},"upperLeft":{"x":330.0,"y":178.0}},"resourceId":"Activity_1rd1ux4","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1rd1ux4","name":"1","formproperties":{"formProperties":[{"id":"1629695558953_19833","name":"控制显隐","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1629695859796_23456","name":"值改变","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input2","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_19eudkr"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_08kq4bi","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":18.0,"y":18.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1rd1ux4"}],"target":{"resourceId":"Activity_1rd1ux4"},"properties":{"overrideid":"Flow_08kq4bi"}},{"bounds":{"lowerRight":{"x":528.0,"y":236.0},"upperLeft":{"x":492.0,"y":200.0}},"resourceId":"Event_1vy3n21","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_1vy3n21","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_19eudkr","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_1vy3n21"}],"target":{"resourceId":"Event_1vy3n21"},"properties":{"overrideid":"Flow_19eudkr"}}]}', NULL, '0', '000000'); + +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "VERSION", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1429672727182159874', 'field-linkage', '字段联动', '{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input'',change:({value}) => { + +}},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.$set(this.form, ''input2'', text) +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2'',change:({value}) => { + +}}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '1', '字段联动示例', '1123598821738675201', '1123598813738675201', TO_DATE('2021-08-23 13:11:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-08-23 13:25:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1429689694727184385', 'b3eb3226a5af88a9fc18a6fccea26231', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.5~1.2.6/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.5~1.2.6/blade-workflow.sql new file mode 100644 index 0000000..63d19c9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.5~1.2.6/blade-workflow.sql @@ -0,0 +1,5 @@ +ALTER TABLE "BLADE_WF_BUTTON" ADD ("DISPLAY" NUMBER(11,0)); + +COMMENT ON COLUMN "BLADE_WF_BUTTON"."DISPLAY" IS '默认是否显示'; + +UPDATE BLADE_WF_BUTTON SET DISPLAY = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.6~1.2.7/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.6~1.2.7/blade-workflow.sql new file mode 100644 index 0000000..226285d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.6~1.2.7/blade-workflow.sql @@ -0,0 +1,9 @@ +ALTER TABLE "BLADE_WF_FORM" ADD ("CATEGORY_ID" NUMBER(20,0)); +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD ("CATEGORY_ID" NUMBER(20,0)); +ALTER TABLE "ACT_DE_MODEL" ADD ("CATEGORY_ID" NUMBER(20,0)); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD ("CATEGORY_ID" NUMBER(20,0)); + +COMMENT ON COLUMN "BLADE_WF_FORM"."CATEGORY_ID" IS '流程id'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CATEGORY_ID" IS '流程id'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CATEGORY_ID" IS '流程id'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CATEGORY_ID" IS '流程id'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.6~1.2.7/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.6~1.2.7/blade.sql new file mode 100644 index 0000000..be22c80 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.6~1.2.7/blade.sql @@ -0,0 +1,2 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590669', '1347061240995815427', 'wf_design_model_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347083757101826060', '1347083757101826049', 'wf_design_form_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.8~1.2.9/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.8~1.2.9/blade-workflow.sql new file mode 100644 index 0000000..3b86332 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.8~1.2.9/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" + ADD ("TASK_KEY" VARCHAR2(255 BYTE)) +ADD ("TASK_NAME" VARCHAR2(255 BYTE)); + +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_KEY" IS '节点key'; + +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_NAME" IS '节点名称' diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.9~1.3.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.9~1.3.0/blade-workflow.sql new file mode 100644 index 0000000..4b7a16d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.2.9~1.3.0/blade-workflow.sql @@ -0,0 +1,14 @@ +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" + ADD ("APP_CONTENT" NCLOB); + +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."APP_CONTENT" IS 'app表单内容'; + +ALTER TABLE "BLADE_WF_FORM" + ADD ("APP_CONTENT" NCLOB); + +COMMENT ON COLUMN "BLADE_WF_FORM"."APP_CONTENT" IS 'app表单内容'; + +ALTER TABLE "BLADE_WF_FORM_HISTORY" + ADD ("APP_CONTENT" NCLOB); + +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."APP_CONTENT" IS 'app表单内容'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.0~1.3.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.0~1.3.1/blade.sql new file mode 100644 index 0000000..4996334 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.0~1.3.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114306', '1347095124710114302', 'wf_process_withdraw', '撤销', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.1~1.3.2/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.1~1.3.2/blade.sql new file mode 100644 index 0000000..1ba8c1e --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.1~1.3.2/blade.sql @@ -0,0 +1,5 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114307', '1347095124710114292', 'wf_process_todo_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114308', '1347095124710114296', 'wf_process_send_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114309', '1347095124710114299', 'wf_process_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114310', '1347095124710114302', 'wf_process_my_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710114311', '1347095124710114288', 'wf_process_claim_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.2~1.3.3/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.2~1.3.3/blade-workflow.sql new file mode 100644 index 0000000..dcae8f5 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.2~1.3.3/blade-workflow.sql @@ -0,0 +1 @@ +INSERT INTO "ACT_DE_MODEL" VALUES ('617167d80b6051708484bbedfb72a137', '人员/流转调用自定义方法示例', 'demo-custom-method', 'demo-test', '表单字段联动示例', NULL, TO_DATE('2021-11-29 09:42:20', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-12-01 19:18:18', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', '1', '\n\n \n 人员/流转调用自定义方法示例\n \n \n \n \n Flow_0yhobgw\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0yhobgw\n Flow_1t6zwdf\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1t6zwdf\n Flow_0kxxs74\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kxxs74\n Flow_01h467o\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kdt4xu\n Flow_1x5wxzy\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0jw1ae2\n Flow_00r5t9o\n \n \n Flow_1fun2ye\n \n \n Flow_01h467o\n Flow_0kdt4xu\n Flow_0jw1ae2\n \n \n \n ${wfCustomUserHandler.condition(execution, \''对\'')}\n \n \n ${wfCustomUserHandler.condition(execution, \''错\'')}\n \n \n Flow_1x5wxzy\n Flow_00r5t9o\n Flow_1fun2ye\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'', ''{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"demo-custom-method\",\"name\":\"人员/流转调用自定义方法示例\",\"documentation\":\"人员/流转调用自定义方法示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":276.0,\"y\":236.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0yhobgw\"}]},{\"bounds\":{\"lowerRight\":{\"x\":430.0,\"y\":258.0},\"upperLeft\":{\"x\":330.0,\"y\":178.0}},\"resourceId\":\"Activity_06t0e98\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_06t0e98\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1t6zwdf\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0yhobgw\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":18.0,\"y\":18.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_06t0e98\"}],\"target\":{\"resourceId\":\"Activity_06t0e98\"},\"properties\":{\"overrideid\":\"Flow_0yhobgw\"}},{\"bounds\":{\"lowerRight\":{\"x\":590.0,\"y\":258.0},\"upperLeft\":{\"x\":490.0,\"y\":178.0}},\"resourceId\":\"Activity_07ghy8s\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_07ghy8s\",\"name\":\"方式1\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0kxxs74\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1t6zwdf\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_07ghy8s\"}],\"target\":{\"resourceId\":\"Activity_07ghy8s\"},\"properties\":{\"overrideid\":\"Flow_1t6zwdf\"}},{\"bounds\":{\"lowerRight\":{\"x\":750.0,\"y\":258.0},\"upperLeft\":{\"x\":650.0,\"y\":178.0}},\"resourceId\":\"Activity_10810pv\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_10810pv\",\"name\":\"方式2\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_01h467o\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0kxxs74\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_10810pv\"}],\"target\":{\"resourceId\":\"Activity_10810pv\"},\"properties\":{\"overrideid\":\"Flow_0kxxs74\"}},{\"bounds\":{\"lowerRight\":{\"x\":1010.0,\"y\":130.0},\"upperLeft\":{\"x\":910.0,\"y\":50.0}},\"resourceId\":\"Activity_1i46ta4\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1i46ta4\",\"name\":\"方式3\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1x5wxzy\"}]},{\"bounds\":{\"lowerRight\":{\"x\":1010.0,\"y\":400.0},\"upperLeft\":{\"x\":910.0,\"y\":320.0}},\"resourceId\":\"Activity_03trwm6\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_03trwm6\",\"name\":\"方式4\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_00r5t9o\"}]},{\"bounds\":{\"lowerRight\":{\"x\":1178.0,\"y\":236.0},\"upperLeft\":{\"x\":1142.0,\"y\":200.0}},\"resourceId\":\"Event_0uefnoo\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_0uefnoo\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":865.0,\"y\":243.0},\"upperLeft\":{\"x\":815.0,\"y\":193.0}},\"resourceId\":\"Gateway_0mtj57e\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0mtj57e\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0kdt4xu\"},{\"resourceId\":\"Flow_0jw1ae2\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_01h467o\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0mtj57e\"}],\"target\":{\"resourceId\":\"Gateway_0mtj57e\"},\"properties\":{\"overrideid\":\"Flow_01h467o\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0kdt4xu\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":840.0,\"y\":90.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1i46ta4\"}],\"target\":{\"resourceId\":\"Activity_1i46ta4\"},\"properties\":{\"overrideid\":\"Flow_0kdt4xu\",\"conditionsequenceflow\":\"${wfCustomUserHandler.condition(execution, \''对\'')}\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0jw1ae2\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":840.0,\"y\":360.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_03trwm6\"}],\"target\":{\"resourceId\":\"Activity_03trwm6\"},\"properties\":{\"overrideid\":\"Flow_0jw1ae2\",\"conditionsequenceflow\":\"${wfCustomUserHandler.condition(execution, \''错\'')}\"}},{\"bounds\":{\"lowerRight\":{\"x\":1105.0,\"y\":243.0},\"upperLeft\":{\"x\":1055.0,\"y\":193.0}},\"resourceId\":\"Gateway_0ha0m7b\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0ha0m7b\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1fun2ye\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1x5wxzy\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":1080.0,\"y\":90.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ha0m7b\"}],\"target\":{\"resourceId\":\"Gateway_0ha0m7b\"},\"properties\":{\"overrideid\":\"Flow_1x5wxzy\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1fun2ye\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_0uefnoo\"}],\"target\":{\"resourceId\":\"Event_0uefnoo\"},\"properties\":{\"overrideid\":\"Flow_1fun2ye\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_00r5t9o\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":1080.0,\"y\":360.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ha0m7b\"}],\"target\":{\"resourceId\":\"Gateway_0ha0m7b\"},\"properties\":{\"overrideid\":\"Flow_00r5t9o\"}}]}', NULL, '0', '000000', NULL); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.3~1.3.4/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.3~1.3.4/blade.sql new file mode 100644 index 0000000..4f5933f --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.3.3~1.3.4/blade.sql @@ -0,0 +1 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562801', '1412666776159797249', 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/ops/list', 'iconfont iconicon_safety', '1', '1', '0', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.4.0~1.5.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.4.0~1.5.0/blade-workflow.sql new file mode 100644 index 0000000..26ec3b4 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.4.0~1.5.0/blade-workflow.sql @@ -0,0 +1,3 @@ +ALTER TABLE "ACT_DE_MODEL" ADD ("ICON" NVARCHAR2(255)); + +COMMENT ON COLUMN "ACT_DE_MODEL"."ICON" IS '图标'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.4.0~1.5.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.4.0~1.5.0/blade.sql new file mode 100644 index 0000000..120b6fe --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.4.0~1.5.0/blade.sql @@ -0,0 +1 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347066574619590671', '1347061240995815427', 'wf_design_model_icon', '图标', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.0~1.5.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.0~1.5.1/blade.sql new file mode 100644 index 0000000..0df1843 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.0~1.5.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1412667489128562802', '1412667489128562801', 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.1~1.6.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.1~1.6.0/blade-workflow.sql new file mode 100644 index 0000000..87620ca --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.1~1.6.0/blade-workflow.sql @@ -0,0 +1,140 @@ + +-- 请先查看升级指南1.6,再确定是否执行这一段注释的SQL +-- UPDATE "BLADE_WF_FORM" SET "FORM_KEY" = 'leave', "NAME" = '请假流程表单', "CONTENT" = '{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''yyyy-MM-dd HH:mm:ss'',valueFormat:''yyyy-MM-dd HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { +-- if (!value || value.length == 0) { +-- this.$set(this.form, ''days'', undefined) +-- } else { +-- const d1 = Date.parse(value.split('','')[0]) +-- const d2 = Date.parse(value.split('','')[1]) +-- const day = (d2-d1)/(1*24*60*60*1000) +-- this.$set(this.form, ''days'', Number(day.toFixed(2))) +-- } +-- },dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { +-- if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' ) +-- else this.$set(this.form, ''reason'', '''') +-- }},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', "APP_CONTENT" = '{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"yyyy-MM-dd HH:mm:ss","valueFormat":"yyyy-MM-dd HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, ''days'', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, ''days'', Number(day.toFixed(2)))\r\n }\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' )\n else this.$set(this.form, ''reason'', '''')\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', "VERSION" = '1', "CATEGORY_ID" = '-1', "REMARK" = NULL, "CREATE_USER" = '1123598821738675201', "CREATE_DEPT" = '1123598813738675201', "CREATE_TIME" = TO_DATE('2021-06-01 22:06:20', 'SYYYY-MM-DD HH24:MI:SS'), "UPDATE_USER" = '1123598821738675201', "UPDATE_TIME" = TO_DATE('2022-04-12 10:27:07', 'SYYYY-MM-DD HH24:MI:SS'), "STATUS" = '1', "IS_DELETED" = '0', "TENANT_ID" = '000000' WHERE "ID" = '1399729025840140290'; + +-- ---------------------------- +-- Table structure for BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +DROP TABLE "BLADE_WF_PROCESS_LEAVE"; +CREATE TABLE "BLADE_WF_PROCESS_LEAVE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(64), + "PROCESS_DEF_ID" NVARCHAR2(64), + "CURRENT_NODE" NVARCHAR2(64), + "DATETIME" NVARCHAR2(64), + "DAYS" NUMBER(11,0), + "REASON" NCLOB, + "ATTACHMENT" NCLOB, + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE NOT NULL, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_DEF_ID" IS '流程定义id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CURRENT_NODE" IS '当前节点'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DATETIME" IS '时间范围'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DAYS" IS '请假天数'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."REASON" IS '请假理由'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."ATTACHMENT" IS '附件'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_PROCESS_LEAVE" IS '请假流程业务示例'; + +-- ---------------------------- +-- Table structure for BLADE_WF_PROXY +-- ---------------------------- +DROP TABLE "BLADE_WF_PROXY"; +CREATE TABLE "BLADE_WF_PROXY" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "PROXY_USER_ID" NUMBER(20,0), + "PROCESS_DEF_KEY" NVARCHAR2(750), + "TYPE" NVARCHAR2(255), + "START_TIME" DATE, + "END_TIME" DATE, + "STATUS" NUMBER(11,0) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_PROXY"."USER_ID" IS '委托人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROXY_USER_ID" IS '代理人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROCESS_DEF_KEY" IS '流程定义key'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."TYPE" IS '1永久 2定时'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."START_TIME" IS '开始时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."END_TIME" IS '结束时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."STATUS" IS '状态'; +COMMENT ON TABLE "BLADE_WF_PROXY" IS '流程代理'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013052" PRIMARY KEY ("ID", "CREATE_TIME"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013050" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013051" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013053" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013049" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_PROXY +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_UNI_PROXY" + ON "BLADE_WF_PROXY" ("USER_ID" ASC, "PROCESS_DEF_KEY" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); +CREATE INDEX "WF_IDX_USER_ID" + ON "BLADE_WF_PROXY" ("USER_ID" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.1~1.6.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.1~1.6.0/blade.sql new file mode 100644 index 0000000..2ce1f6f --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.5.1~1.6.0/blade.sql @@ -0,0 +1,8 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638534', '1412666776159797249', 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/ops/proxy', NULL, '1', '1', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638535', '1513394358223638534', 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638536', '1513394358223638534', 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638537', '1513394358223638534', 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513394358223638538', '1513394358223638534', 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682182', '1164733399669963301', 'wf_demo', '业务示例', 'menu', '/plugin/workflow/demo', 'iconfont iconicon_cspace', '4', '1', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682183', '1513683238709682182', 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/demo/leave/index', NULL, '1', '1', '0', '1', NULL, NULL); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682184', '1513683238709682182', 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, '4', '2', '0', '1', NULL, NULL); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.6.0~1.7.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.6.0~1.7.0/blade-workflow.sql new file mode 100644 index 0000000..9bbbae2 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.6.0~1.7.0/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" + ADD ("FORM_KEY" VARCHAR2(255)) +ADD ("FORM_URL" VARCHAR2(255)); + +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_KEY" IS '外置表单key'; + +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_URL" IS '外置表单url' diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.6.0~1.7.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.6.0~1.7.0/blade.sql new file mode 100644 index 0000000..bf2e34a --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.6.0~1.7.0/blade.sql @@ -0,0 +1,2 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682185', '1164733399669963301', 'statistics', '流程统计', 'menu', '/plugin/workflow/statistics', 'iconfont iconicon_airplay', '4', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1513683238709682186', '1513683238709682185', 'wf_statistics', '总览', 'menu', '/plugin/workflow/statistics/index', 'iconfont iconicon_airplay', '4', '1', '0', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.0~1.7.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.0~1.7.1/blade-workflow.sql new file mode 100644 index 0000000..be751cd --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.0~1.7.1/blade-workflow.sql @@ -0,0 +1,9 @@ +ALTER TABLE "BLADE_WF_COPY" + ADD ("DEPLOYMENT_ID" NVARCHAR2(255)); +COMMENT ON COLUMN "BLADEX_BOOT"."BLADE_WF_COPY"."DEPLOYMENT_ID" IS '流程部署id'; + +ALTER TABLE "ACT_DE_MODEL" RENAME COLUMN "XML" TO "MODEL_XML"; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_XML" IS '模型XML'; + +ALTER TABLE "ACT_DE_MODEL_HISTORY" RENAME COLUMN "XML" TO "MODEL_XML"; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_XML" IS '模型XML'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..ea75e77 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,119 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_THEME +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_THEME"; +CREATE TABLE "BLADE_WF_FORM_THEME" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255) NOT NULL, + "THEME_KEY" NVARCHAR2(255) NOT NULL, + "BORDER_WIDTH" NVARCHAR2(255), + "BORDER_COLOR" NVARCHAR2(255), + "LABEL_COLOR" NVARCHAR2(255), + "LABEL_BG" NVARCHAR2(255), + "LABEL_WIDTH" NVARCHAR2(255), + "LABEL_FONT_SIZE" NVARCHAR2(255), + "VALUE_COLOR" NVARCHAR2(255), + "VALUE_BG" NVARCHAR2(255), + "VALUE_FONT_SIZE" NVARCHAR2(255), + "FIELD0" NVARCHAR2(255), + "FIELD1" NVARCHAR2(255), + "FIELD2" NVARCHAR2(255), + "FIELD3" NVARCHAR2(255), + "FIELD4" NVARCHAR2(255), + "FIELD5" NVARCHAR2(255), + "FIELD6" NVARCHAR2(255), + "FIELD7" NVARCHAR2(255), + "FIELD8" NVARCHAR2(255), + "FIELD9" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."THEME_KEY" IS '主题key'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_WIDTH" IS '边框宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_COLOR" IS '边框颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_COLOR" IS 'label字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_BG" IS 'label背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_WIDTH" IS 'label宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_FONT_SIZE" IS 'label字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_COLOR" IS 'value字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_BG" IS 'value背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_FONT_SIZE" IS 'value字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD0" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD1" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD2" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD3" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD4" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD5" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD6" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD7" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD8" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD9" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_THEME" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_THEME +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1', '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', NULL, '14px', NULL, NULL, '14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:36:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('2', '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:16:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-18 11:50:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('3', '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598821738675201', TO_DATE('2023-04-04 16:57:35', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011945" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011942" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011943" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011944" CHECK ("THEME_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" + ON "BLADE_WF_FORM_THEME" ("THEME_KEY" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..56dce00 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.7.1~1.8.0/blade.sql @@ -0,0 +1,5 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113286', '1347061240995815426', 'wf_design_form_theme', '表单主题', 'menu', '/plugin/workflow/design/form-theme', 'iconfont icon-canshu', '7', '1', '0', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113287', '1347095124710113286', 'wf_design_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113288', '1347095124710113286', 'wf_design_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113289', '1347095124710113286', 'wf_design_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1347095124710113290', '1347095124710113286', 'wf_design_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..8cf3105 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,59 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_VARIABLE +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_VARIABLE"; +CREATE TABLE "BLADE_WF_FORM_VARIABLE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "TASK_DEF_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "FORM_OPTION" NCLOB, + "FORM_VARIABLE" NCLOB, + "STATUS" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20,0), + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_DEF_KEY" IS '任务节点key'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_NAME" IS '任务节点名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_OPTION" IS '表单js'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_VARIABLE" IS '表单值'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_VARIABLE" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012109" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012108" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..75abe05 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1/blade-workflow.sql new file mode 100644 index 0000000..b889dc4 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1/blade-workflow.sql @@ -0,0 +1,55 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_LISTENER +-- ---------------------------- +DROP TABLE "BLADE_WF_LISTENER"; +CREATE TABLE "BLADE_WF_LISTENER" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CATEGORY" NVARCHAR2(255), + "EVENT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CATEGORY" IS '分类'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."EVENT" IS '事件'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TYPE" IS '监听类型'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."VAL" IS '值'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_LISTENER" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011312" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011311" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1/blade_menu.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1/blade_menu.sql new file mode 100644 index 0000000..fcece21 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1/blade_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/design/listener', 'iconfont iconicon_details', '7', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..ed1790b --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/oracle/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "BLADE_WF_DRAFT" + ADD ("TASK_ID" NVARCHAR2(255)); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" + ON "BLADE_WF_DRAFT" ("USER_ID", "TASK_ID", "PLATFORM"); + +COMMENT ON COLUMN "BLADE_WF_DRAFT"."TASK_ID" IS '任务id' diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.4~1.2.5/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.4~1.2.5/blade-workflow.sql new file mode 100644 index 0000000..71619b7 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.4~1.2.5/blade-workflow.sql @@ -0,0 +1,86 @@ +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "xml", "model_editor_json", "thumbnail", "model_type", "tenant_id") VALUES ('89d9c299dfed64a7834fdb7caccc913f', '字段联动', 'field-linkage', 'field-linkage', '表单字段联动示例', NULL, '2021-08-23 13:22:16.481', '1123598821738675201', '2021-08-23 13:25:32.18', '1123598821738675201', 1, ' + + + 表单字段联动示例 + + + + + + + + Flow_0ij25wf + + + + + + + + + + + + + + + + + + + Flow_0ij25wf + Flow_0vq4xed + + + + Flow_0vq4xed + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', '{"bounds":{"lowerRight":{"x":1485.0,"y":700.0},"upperLeft":{"x":0.0,"y":0.0}},"resourceId":"canvas","stencil":{"id":"BPMNDiagram"},"stencilset":{"namespace":"http://b3mn.org/stencilset/bpmn2.0#","url":"../editor/stencilsets/bpmn2.0/bpmn2.0.json"},"properties":{"process_id":"field-linkage","name":"字段联动","documentation":"表单字段联动示例","process_namespace":"http://bpmn.io/schema/bpmn","iseagerexecutionfetch":false,"messages":[],"executionlisteners":{"executionListeners":[]},"eventlisteners":{"eventListeners":[]},"signaldefinitions":[],"messagedefinitions":[],"escalationdefinitions":[]},"childShapes":[{"bounds":{"lowerRight":{"x":276.0,"y":236.0},"upperLeft":{"x":240.0,"y":200.0}},"resourceId":"startEvent_1","childShapes":[],"stencil":{"id":"StartNoneEvent"},"properties":{"overrideid":"startEvent_1","name":"开始","interrupting":true,"formproperties":{"formProperties":[{"id":"1629695558953_19833","name":"控制显隐","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1629695859796_23456","name":"值改变","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input2","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0ij25wf"}]},{"bounds":{"lowerRight":{"x":430.0,"y":258.0},"upperLeft":{"x":330.0,"y":178.0}},"resourceId":"Activity_1tlsc5z","childShapes":[],"stencil":{"id":"UserTask"},"properties":{"overrideid":"Activity_1tlsc5z","name":"1","formproperties":{"formProperties":[{"id":"1629695558953_19833","name":"控制显隐","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"1629695859796_23456","name":"值改变","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true},{"id":"input2","name":"单行文本","type":null,"expression":null,"variable":null,"default":null,"required":false,"readable":true,"writable":true}]},"asynchronousdefinition":false,"exclusivedefinition":true,"isforcompensation":false,"tasklisteners":{"taskListeners":[]},"executionlisteners":{"executionListeners":[]}},"outgoing":[{"resourceId":"Flow_0vq4xed"}]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0ij25wf","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":18.0,"y":18.0},{"x":50.0,"y":40.0}],"outgoing":[{"resourceId":"Activity_1tlsc5z"}],"target":{"resourceId":"Activity_1tlsc5z"},"properties":{"overrideid":"Flow_0ij25wf"}},{"bounds":{"lowerRight":{"x":528.0,"y":236.0},"upperLeft":{"x":492.0,"y":200.0}},"resourceId":"Event_1ettf2b","childShapes":[],"stencil":{"id":"EndNoneEvent"},"properties":{"overrideid":"Event_1ettf2b","executionlisteners":{"executionListeners":[]}},"outgoing":[]},{"bounds":{"lowerRight":{"x":172.0,"y":212.0},"upperLeft":{"x":128.0,"y":212.0}},"resourceId":"Flow_0vq4xed","childShapes":[],"stencil":{"id":"SequenceFlow"},"dockers":[{"x":50.0,"y":40.0},{"x":18.0,"y":18.0}],"outgoing":[{"resourceId":"Event_1ettf2b"}],"target":{"resourceId":"Event_1ettf2b"},"properties":{"overrideid":"Flow_0vq4xed"}}]}', NULL, 0, '000000'); + +INSERT INTO "blade_wf_form" ("id", "form_key", "name", "content", "version", "remark", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1429672727182159874, 'field-linkage', '字段联动', '{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input'',change:({value}) => { + +}},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.$set(this.form, ''input2'', text) +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2'',change:({value}) => { + +}}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', 1, '字段联动示例', 1123598821738675201, 1123598813738675201, '2021-08-23 13:11:54', 1123598821738675201, '2021-08-23 13:25:17.205', '1', 0, '000000'); + +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1429675430591442946, '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.5~1.2.6/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.5~1.2.6/blade-workflow.sql new file mode 100644 index 0000000..f5f331a --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.5~1.2.6/blade-workflow.sql @@ -0,0 +1,5 @@ +ALTER TABLE "blade_wf_button" ADD COLUMN "display" int4; + +COMMENT ON COLUMN "blade_wf_button"."display" IS '默认是否显示'; + +UPDATE blade_wf_button SET display = 1; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.6~1.2.7/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.6~1.2.7/blade-workflow.sql new file mode 100644 index 0000000..2adf5a6 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.6~1.2.7/blade-workflow.sql @@ -0,0 +1,9 @@ +ALTER TABLE "blade_wf_form" ADD COLUMN "category_id" int8; +ALTER TABLE "blade_wf_form_history" ADD COLUMN "category_id" int8; +ALTER TABLE "act_de_model" ADD COLUMN "category_id" int8; +ALTER TABLE "act_de_model_history" ADD COLUMN "category_id" int8; + +COMMENT ON COLUMN "blade_wf_form"."category_id" IS '分类id'; +COMMENT ON COLUMN "blade_wf_form_history"."category_id" IS '分类id'; +COMMENT ON COLUMN "act_de_model"."category_id" IS '分类id'; +COMMENT ON COLUMN "act_de_model_history"."category_id" IS '分类id'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.6~1.2.7/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.6~1.2.7/blade.sql new file mode 100644 index 0000000..e522a1b --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.6~1.2.7/blade.sql @@ -0,0 +1,2 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590669, 1347061240995815427, 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826060, 1347083757101826049, 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.8~1.2.9/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.8~1.2.9/blade-workflow.sql new file mode 100644 index 0000000..a218794 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.8~1.2.9/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "blade_wf_deployment_form" + ADD COLUMN "task_key" varchar(255), + ADD COLUMN "task_name" varchar(255); + +COMMENT ON COLUMN "blade_wf_deployment_form"."task_key" IS '节点key'; + +COMMENT ON COLUMN "blade_wf_deployment_form"."task_name" IS '节点名称'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.9~1.3.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.9~1.3.0/blade-workflow.sql new file mode 100644 index 0000000..61f66d3 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.2.9~1.3.0/blade-workflow.sql @@ -0,0 +1,14 @@ +ALTER TABLE "blade_wf_deployment_form" + ADD COLUMN "app_content" text; + +COMMENT ON COLUMN "blade_wf_deployment_form"."app_content" IS 'app表单内容'; + +ALTER TABLE "blade_wf_form" + ADD COLUMN "app_content" text; + +COMMENT ON COLUMN "blade_wf_form"."app_content" IS 'app表单内容'; + +ALTER TABLE "blade_wf_form_history" + ADD COLUMN "app_content" text; + +COMMENT ON COLUMN "blade_wf_form_history"."app_content" IS 'app表单内容'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.0~1.3.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.0~1.3.1/blade.sql new file mode 100644 index 0000000..3dd5aed --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.0~1.3.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114306, 1347095124710114302, 'wf_process_withdraw', '撤销', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.1~1.3.2/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.1~1.3.2/blade.sql new file mode 100644 index 0000000..13d1602 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.1~1.3.2/blade.sql @@ -0,0 +1,5 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114307, 1347095124710114292, 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114308, 1347095124710114296, 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114309, 1347095124710114299, 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114310, 1347095124710114302, 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114311, 1347095124710114288, 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.2~1.3.3/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.2~1.3.3/blade-workflow.sql new file mode 100644 index 0000000..90270cb --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.2~1.3.3/blade-workflow.sql @@ -0,0 +1 @@ +INSERT INTO "act_de_model" VALUES ('617167d80b6051708484bbedfb72a137', '人员/流转调用自定义方法示例', 'demo-custom-method', 'demo-test', '表单字段联动示例', NULL, '2021-11-29 09:42:20.068', '1123598821738675201', '2021-12-01 19:18:18.463', '1123598821738675201', '1', '\n\n \n 人员/流转调用自定义方法示例\n \n \n \n \n Flow_0yhobgw\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0yhobgw\n Flow_1t6zwdf\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1t6zwdf\n Flow_0kxxs74\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kxxs74\n Flow_01h467o\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kdt4xu\n Flow_1x5wxzy\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0jw1ae2\n Flow_00r5t9o\n \n \n Flow_1fun2ye\n \n \n Flow_01h467o\n Flow_0kdt4xu\n Flow_0jw1ae2\n \n \n \n ${wfCustomUserHandler.condition(execution, \''对\'')}\n \n \n ${wfCustomUserHandler.condition(execution, \''错\'')}\n \n \n Flow_1x5wxzy\n Flow_00r5t9o\n Flow_1fun2ye\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'', ''{\"bounds\":{\"lowerRight\":{\"x\":1485.0,\"y\":700.0},\"upperLeft\":{\"x\":0.0,\"y\":0.0}},\"resourceId\":\"canvas\",\"stencil\":{\"id\":\"BPMNDiagram\"},\"stencilset\":{\"namespace\":\"http://b3mn.org/stencilset/bpmn2.0#\",\"url\":\"../editor/stencilsets/bpmn2.0/bpmn2.0.json\"},\"properties\":{\"process_id\":\"demo-custom-method\",\"name\":\"人员/流转调用自定义方法示例\",\"documentation\":\"人员/流转调用自定义方法示例\",\"process_namespace\":\"http://bpmn.io/schema/bpmn\",\"iseagerexecutionfetch\":false,\"messages\":[],\"executionlisteners\":{\"executionListeners\":[]},\"eventlisteners\":{\"eventListeners\":[]},\"signaldefinitions\":[],\"messagedefinitions\":[],\"escalationdefinitions\":[]},\"childShapes\":[{\"bounds\":{\"lowerRight\":{\"x\":276.0,\"y\":236.0},\"upperLeft\":{\"x\":240.0,\"y\":200.0}},\"resourceId\":\"startEvent_1\",\"childShapes\":[],\"stencil\":{\"id\":\"StartNoneEvent\"},\"properties\":{\"overrideid\":\"startEvent_1\",\"name\":\"开始\",\"interrupting\":true,\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0yhobgw\"}]},{\"bounds\":{\"lowerRight\":{\"x\":430.0,\"y\":258.0},\"upperLeft\":{\"x\":330.0,\"y\":178.0}},\"resourceId\":\"Activity_06t0e98\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_06t0e98\",\"name\":\"发起人\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1t6zwdf\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0yhobgw\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":18.0,\"y\":18.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_06t0e98\"}],\"target\":{\"resourceId\":\"Activity_06t0e98\"},\"properties\":{\"overrideid\":\"Flow_0yhobgw\"}},{\"bounds\":{\"lowerRight\":{\"x\":590.0,\"y\":258.0},\"upperLeft\":{\"x\":490.0,\"y\":178.0}},\"resourceId\":\"Activity_07ghy8s\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_07ghy8s\",\"name\":\"方式1\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0kxxs74\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1t6zwdf\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_07ghy8s\"}],\"target\":{\"resourceId\":\"Activity_07ghy8s\"},\"properties\":{\"overrideid\":\"Flow_1t6zwdf\"}},{\"bounds\":{\"lowerRight\":{\"x\":750.0,\"y\":258.0},\"upperLeft\":{\"x\":650.0,\"y\":178.0}},\"resourceId\":\"Activity_10810pv\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_10810pv\",\"name\":\"方式2\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_01h467o\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0kxxs74\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_10810pv\"}],\"target\":{\"resourceId\":\"Activity_10810pv\"},\"properties\":{\"overrideid\":\"Flow_0kxxs74\"}},{\"bounds\":{\"lowerRight\":{\"x\":1010.0,\"y\":130.0},\"upperLeft\":{\"x\":910.0,\"y\":50.0}},\"resourceId\":\"Activity_1i46ta4\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_1i46ta4\",\"name\":\"方式3\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1x5wxzy\"}]},{\"bounds\":{\"lowerRight\":{\"x\":1010.0,\"y\":400.0},\"upperLeft\":{\"x\":910.0,\"y\":320.0}},\"resourceId\":\"Activity_03trwm6\",\"childShapes\":[],\"stencil\":{\"id\":\"UserTask\"},\"properties\":{\"overrideid\":\"Activity_03trwm6\",\"name\":\"方式4\",\"formproperties\":{\"formProperties\":[{\"id\":\"1624624365132_23209\",\"name\":\"单行文本\",\"type\":null,\"expression\":null,\"variable\":null,\"default\":null,\"required\":false,\"readable\":true,\"writable\":true}]},\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"isforcompensation\":false,\"tasklisteners\":{\"taskListeners\":[]},\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_00r5t9o\"}]},{\"bounds\":{\"lowerRight\":{\"x\":1178.0,\"y\":236.0},\"upperLeft\":{\"x\":1142.0,\"y\":200.0}},\"resourceId\":\"Event_0uefnoo\",\"childShapes\":[],\"stencil\":{\"id\":\"EndNoneEvent\"},\"properties\":{\"overrideid\":\"Event_0uefnoo\",\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[]},{\"bounds\":{\"lowerRight\":{\"x\":865.0,\"y\":243.0},\"upperLeft\":{\"x\":815.0,\"y\":193.0}},\"resourceId\":\"Gateway_0mtj57e\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0mtj57e\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_0kdt4xu\"},{\"resourceId\":\"Flow_0jw1ae2\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_01h467o\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0mtj57e\"}],\"target\":{\"resourceId\":\"Gateway_0mtj57e\"},\"properties\":{\"overrideid\":\"Flow_01h467o\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0kdt4xu\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":840.0,\"y\":90.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_1i46ta4\"}],\"target\":{\"resourceId\":\"Activity_1i46ta4\"},\"properties\":{\"overrideid\":\"Flow_0kdt4xu\",\"conditionsequenceflow\":\"${wfCustomUserHandler.condition(execution, \''对\'')}\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_0jw1ae2\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":840.0,\"y\":360.0},{\"x\":50.0,\"y\":40.0}],\"outgoing\":[{\"resourceId\":\"Activity_03trwm6\"}],\"target\":{\"resourceId\":\"Activity_03trwm6\"},\"properties\":{\"overrideid\":\"Flow_0jw1ae2\",\"conditionsequenceflow\":\"${wfCustomUserHandler.condition(execution, \''错\'')}\"}},{\"bounds\":{\"lowerRight\":{\"x\":1105.0,\"y\":243.0},\"upperLeft\":{\"x\":1055.0,\"y\":193.0}},\"resourceId\":\"Gateway_0ha0m7b\",\"childShapes\":[],\"stencil\":{\"id\":\"ExclusiveGateway\"},\"properties\":{\"overrideid\":\"Gateway_0ha0m7b\",\"asynchronousdefinition\":false,\"exclusivedefinition\":true,\"executionlisteners\":{\"executionListeners\":[]}},\"outgoing\":[{\"resourceId\":\"Flow_1fun2ye\"}]},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1x5wxzy\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":1080.0,\"y\":90.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ha0m7b\"}],\"target\":{\"resourceId\":\"Gateway_0ha0m7b\"},\"properties\":{\"overrideid\":\"Flow_1x5wxzy\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_1fun2ye\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":25.0,\"y\":25.0},{\"x\":18.0,\"y\":18.0}],\"outgoing\":[{\"resourceId\":\"Event_0uefnoo\"}],\"target\":{\"resourceId\":\"Event_0uefnoo\"},\"properties\":{\"overrideid\":\"Flow_1fun2ye\"}},{\"bounds\":{\"lowerRight\":{\"x\":172.0,\"y\":212.0},\"upperLeft\":{\"x\":128.0,\"y\":212.0}},\"resourceId\":\"Flow_00r5t9o\",\"childShapes\":[],\"stencil\":{\"id\":\"SequenceFlow\"},\"dockers\":[{\"x\":50.0,\"y\":40.0},{\"x\":1080.0,\"y\":360.0},{\"x\":25.0,\"y\":25.0}],\"outgoing\":[{\"resourceId\":\"Gateway_0ha0m7b\"}],\"target\":{\"resourceId\":\"Gateway_0ha0m7b\"},\"properties\":{\"overrideid\":\"Flow_00r5t9o\"}}]}', NULL, '0', '000000', NULL); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.3~1.3.4/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.3~1.3.4/blade.sql new file mode 100644 index 0000000..2a0a342 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.3.3~1.3.4/blade.sql @@ -0,0 +1 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562801, 1412666776159797249, 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/ops/list', 'iconfont iconicon_safety', 1, 1, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.4.0~1.5.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.4.0~1.5.0/blade-workflow.sql new file mode 100644 index 0000000..3fadf13 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.4.0~1.5.0/blade-workflow.sql @@ -0,0 +1,3 @@ +ALTER TABLE "act_de_model" ADD COLUMN "icon" varchar(255); + +COMMENT ON COLUMN "act_de_model"."icon" IS '图标'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.4.0~1.5.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.4.0~1.5.0/blade.sql new file mode 100644 index 0000000..2edd92a --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.4.0~1.5.0/blade.sql @@ -0,0 +1 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590671, 1347061240995815427, 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.0~1.5.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.0~1.5.1/blade.sql new file mode 100644 index 0000000..0d1b06e --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.0~1.5.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562802, 1412667489128562801, 'wf_ops_delete_process', '删除流程', 'menu', '', '', 1, 2, 0, 1, '', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.1~1.6.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.1~1.6.0/blade-workflow.sql new file mode 100644 index 0000000..67e0aaa --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.1~1.6.0/blade-workflow.sql @@ -0,0 +1,100 @@ + +-- 请先查看升级指南1.6,再确定是否执行这一段注释的SQL +-- UPDATE "blade_wf_form" SET "form_key" = 'leave', "name" = '请假流程表单', "content" = '{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''yyyy-MM-dd HH:mm:ss'',valueFormat:''yyyy-MM-dd HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { +-- if (!value || value.length == 0) { +-- this.$set(this.form, ''days'', undefined) +-- } else { +-- const d1 = Date.parse(value.split('','')[0]) +-- const d2 = Date.parse(value.split('','')[1]) +-- const day = (d2-d1)/(1*24*60*60*1000) +-- this.$set(this.form, ''days'', Number(day.toFixed(2))) +-- } +-- },dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { +-- if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' ) +-- else this.$set(this.form, ''reason'', '''') +-- }},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', "app_content" = '{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"yyyy-MM-dd HH:mm:ss","valueFormat":"yyyy-MM-dd HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, ''days'', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, ''days'', Number(day.toFixed(2)))\r\n }\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' )\n else this.$set(this.form, ''reason'', '''')\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', "version" = 1, "category_id" = -1, "remark" = '', "create_user" = 1123598821738675201, "create_dept" = 1123598813738675201, "create_time" = '2021-06-01 22:06:20', "update_user" = 1123598821738675201, "update_time" = '2022-04-12 10:27:07', "status" = '1', "is_deleted" = 0, "tenant_id" = '000000' WHERE "id" = 1399729025840140290; + +-- ---------------------------- +-- Table structure for blade_wf_process_leave +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_process_leave"; +CREATE TABLE "blade_wf_process_leave" ( + "id" int8 NOT NULL, + "process_ins_id" varchar(64) COLLATE "pg_catalog"."default", + "process_def_id" varchar(64) COLLATE "pg_catalog"."default", + "current_node" varchar(64) COLLATE "pg_catalog"."default", + "datetime" varchar(64) COLLATE "pg_catalog"."default", + "days" int4, + "reason" text COLLATE "pg_catalog"."default", + "attachment" text COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6) NOT NULL, + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0 +) +; +ALTER TABLE "blade_wf_process_leave" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_process_leave"."process_ins_id" IS '流程实例id'; +COMMENT ON COLUMN "blade_wf_process_leave"."process_def_id" IS '流程定义id'; +COMMENT ON COLUMN "blade_wf_process_leave"."current_node" IS '当前节点'; +COMMENT ON COLUMN "blade_wf_process_leave"."datetime" IS '时间范围'; +COMMENT ON COLUMN "blade_wf_process_leave"."days" IS '请假天数'; +COMMENT ON COLUMN "blade_wf_process_leave"."reason" IS '请假理由'; +COMMENT ON COLUMN "blade_wf_process_leave"."attachment" IS '附件'; +COMMENT ON COLUMN "blade_wf_process_leave"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_process_leave"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_process_leave"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_process_leave"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_process_leave"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_process_leave"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_process_leave"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_process_leave" IS '请假流程业务示例'; + +-- ---------------------------- +-- Table structure for blade_wf_proxy +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_proxy"; +CREATE TABLE "blade_wf_proxy" ( + "id" int8 NOT NULL, + "user_id" int8, + "proxy_user_id" int8, + "process_def_key" varchar(750) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "start_time" timestamp(6), + "end_time" timestamp(6), + "status" int4 +) +; +ALTER TABLE "blade_wf_proxy" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_proxy"."user_id" IS '委托人'; +COMMENT ON COLUMN "blade_wf_proxy"."proxy_user_id" IS '代理人'; +COMMENT ON COLUMN "blade_wf_proxy"."process_def_key" IS '流程定义key'; +COMMENT ON COLUMN "blade_wf_proxy"."type" IS '1永久 2定时'; +COMMENT ON COLUMN "blade_wf_proxy"."start_time" IS '开始时间'; +COMMENT ON COLUMN "blade_wf_proxy"."end_time" IS '结束时间'; +COMMENT ON COLUMN "blade_wf_proxy"."status" IS '状态'; +COMMENT ON TABLE "blade_wf_proxy" IS '流程代理'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_process_leave +-- ---------------------------- +ALTER TABLE "blade_wf_process_leave" ADD CONSTRAINT "blade_wf_process_leave_pkey" PRIMARY KEY ("id", "create_time"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_proxy +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_UNI_PROXY" ON "blade_wf_proxy" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST, + "process_def_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); +CREATE INDEX "WF_IDX_USER_ID" ON "blade_wf_proxy" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_proxy +-- ---------------------------- +ALTER TABLE "blade_wf_proxy" ADD CONSTRAINT "blade_wf_proxy_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.1~1.6.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.1~1.6.0/blade.sql new file mode 100644 index 0000000..f88f32d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.5.1~1.6.0/blade.sql @@ -0,0 +1,8 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638534, 1412666776159797249, 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/ops/proxy', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638535, 1513394358223638534, 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638536, 1513394358223638534, 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638537, 1513394358223638534, 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638538, 1513394358223638534, 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682182, 1164733399669963301, 'wf_demo', '业务示例', 'menu', '/plugin/workflow/demo', 'iconfont iconicon_cspace', 4, 1, 0, 1, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682183, 1513683238709682182, 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/demo/leave/index', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682184, 1513683238709682182, 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, 4, 2, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.6.0~1.7.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.6.0~1.7.0/blade-workflow.sql new file mode 100644 index 0000000..1df523f --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.6.0~1.7.0/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "blade_wf_process_leave" + ADD COLUMN "form_key" varchar(255), + ADD COLUMN "form_url" varchar(255); + +COMMENT ON COLUMN "blade_wf_process_leave"."form_key" IS '外置表单key'; + +COMMENT ON COLUMN "blade_wf_process_leave"."form_url" IS '外置表单url'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.6.0~1.7.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.6.0~1.7.0/blade.sql new file mode 100644 index 0000000..2475ecb --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.6.0~1.7.0/blade.sql @@ -0,0 +1,2 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682185, 1164733399669963301, 'statistics', '流程统计', 'menu', '/plugin/workflow/statistics', 'iconfont iconicon_airplay', 4, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682186, 1513683238709682185, 'wf_statistics', '总览', 'menu', '/plugin/workflow/statistics/index', 'iconfont iconicon_subordinate', 4, 1, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.0~1.7.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.0~1.7.1/blade-workflow.sql new file mode 100644 index 0000000..e02d018 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.0~1.7.1/blade-workflow.sql @@ -0,0 +1,9 @@ +ALTER TABLE "blade_wf_copy" + ADD COLUMN "deployment_id" varchar(255); +COMMENT ON COLUMN "blade_wf_copy"."deployment_id" IS '流程部署id'; + +ALTER TABLE "act_de_model" RENAME COLUMN "xml" TO "model_xml"; +COMMENT ON COLUMN "act_de_model"."model_xml" IS '模型XML'; + +ALTER TABLE "act_de_model_history" RENAME COLUMN "xml" TO "model_xml"; +COMMENT ON COLUMN "act_de_model_history"."model_xml" IS '模型XML'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..b2ae3aa --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,89 @@ +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_theme"; +CREATE TABLE "blade_wf_form_theme" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "theme_key" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "border_width" varchar(255) COLLATE "pg_catalog"."default", + "border_color" varchar(255) COLLATE "pg_catalog"."default", + "label_color" varchar(255) COLLATE "pg_catalog"."default", + "label_bg" varchar(255) COLLATE "pg_catalog"."default", + "label_width" varchar(255) COLLATE "pg_catalog"."default", + "label_font_size" varchar(255) COLLATE "pg_catalog"."default", + "value_color" varchar(255) COLLATE "pg_catalog"."default", + "value_bg" varchar(255) COLLATE "pg_catalog"."default", + "value_font_size" varchar(255) COLLATE "pg_catalog"."default", + "field0" varchar(255) COLLATE "pg_catalog"."default", + "field1" varchar(255) COLLATE "pg_catalog"."default", + "field2" varchar(255) COLLATE "pg_catalog"."default", + "field3" varchar(255) COLLATE "pg_catalog"."default", + "field4" varchar(255) COLLATE "pg_catalog"."default", + "field5" varchar(255) COLLATE "pg_catalog"."default", + "field6" varchar(255) COLLATE "pg_catalog"."default", + "field7" varchar(255) COLLATE "pg_catalog"."default", + "field8" varchar(255) COLLATE "pg_catalog"."default", + "field9" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_theme" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_theme"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_form_theme"."theme_key" IS '主题key'; +COMMENT ON COLUMN "blade_wf_form_theme"."border_width" IS '边框宽度'; +COMMENT ON COLUMN "blade_wf_form_theme"."border_color" IS '边框颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_color" IS 'label字体颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_bg" IS 'label背景颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_width" IS 'label宽度'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_font_size" IS 'label字体大小'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_color" IS 'value字体颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_bg" IS 'value背景颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_font_size" IS 'value字体大小'; +COMMENT ON COLUMN "blade_wf_form_theme"."field0" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field1" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field2" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field3" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field4" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field5" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field6" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field7" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field8" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field9" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_theme"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_theme"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_theme"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_theme"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_theme"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_theme" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1, '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', '', '14px', '', '', '14px', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:36:46', 1123598821738675201, '2023-05-04 10:43:18', 1, 0, '000000'); +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (2, '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:16:47', 1123598821738675201, '2023-04-18 11:50:10', 1, 0, '000000'); +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (3, '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598821738675201, '2023-04-04 16:57:35', 1123598821738675201, '2023-05-04 10:43:44', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Indexes structure for table blade_wf_form_theme +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" ON "blade_wf_form_theme" USING btree ( + "theme_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_theme +-- ---------------------------- +ALTER TABLE "blade_wf_form_theme" ADD CONSTRAINT "blade_wf_form_theme_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..7b8b251 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.7.1~1.8.0/blade.sql @@ -0,0 +1,5 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113286, 1347061240995815426, 'wf_design_form_theme', '表单主题', 'menu', '/plugin/workflow/design/form-theme', 'iconfont icon-canshu', 7, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113287, 1347095124710113286, 'wf_design_form_theme_add', '新增', 'add', '', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113288, 1347095124710113286, 'wf_design_form_theme_edit', '修改', 'edit', '', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113289, 1347095124710113286, 'wf_design_form_theme_delete', '删除', 'delete', '', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113290, 1347095124710113286, 'wf_design_form_theme_view', '查看', 'view', '', 'file-text', 4, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..f7369fd --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,45 @@ +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_variable"; +CREATE TABLE "blade_wf_form_variable" ( + "id" int8 NOT NULL, + "process_ins_id" varchar(255) COLLATE "pg_catalog"."default", + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "task_id" varchar(255) COLLATE "pg_catalog"."default", + "task_def_key" varchar(255) COLLATE "pg_catalog"."default", + "task_name" varchar(255) COLLATE "pg_catalog"."default", + "form_option" text COLLATE "pg_catalog"."default", + "form_variable" text COLLATE "pg_catalog"."default", + "status" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_time" timestamp(6), + "create_dept" int8, + "update_user" int8, + "update_time" timestamp(6), + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_variable" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_variable"."process_ins_id" IS '流程实例id'; +COMMENT ON COLUMN "blade_wf_form_variable"."deployment_id" IS '流程部署id'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_id" IS '任务id'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_def_key" IS '任务节点key'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_name" IS '任务节点名称'; +COMMENT ON COLUMN "blade_wf_form_variable"."form_option" IS '表单js'; +COMMENT ON COLUMN "blade_wf_form_variable"."form_variable" IS '表单值'; +COMMENT ON COLUMN "blade_wf_form_variable"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_variable"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_variable"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_variable"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_variable"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_variable" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_variable +-- ---------------------------- +ALTER TABLE "blade_wf_form_variable" ADD CONSTRAINT "blade_wf_form_variable_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..d11489a --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1/blade-workflow.sql new file mode 100644 index 0000000..82a191c --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1/blade-workflow.sql @@ -0,0 +1,40 @@ +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_listener"; +CREATE TABLE "blade_wf_listener" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "category" varchar(255) COLLATE "pg_catalog"."default", + "event" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "val" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +COMMENT ON COLUMN "blade_wf_listener"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_listener"."category" IS '分类'; +COMMENT ON COLUMN "blade_wf_listener"."event" IS '事件'; +COMMENT ON COLUMN "blade_wf_listener"."type" IS '监听类型'; +COMMENT ON COLUMN "blade_wf_listener"."val" IS '值'; +COMMENT ON COLUMN "blade_wf_listener"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_listener"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_listener"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_listener"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_listener"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_listener"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_listener"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_listener"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_listener" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_listener +-- ---------------------------- +ALTER TABLE "blade_wf_listener" ADD CONSTRAINT "blade_wf_listener_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1/blade_menu.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1/blade_menu.sql new file mode 100644 index 0000000..c56e04e --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1/blade_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/design/listener', 'iconfont iconicon_details', 7, 1, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..cac4266 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/postgres/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,11 @@ +ALTER TABLE "blade_wf_draft" +DROP COLUMN "task_id", + ADD COLUMN "task_id" varchar(255); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" ON "blade_wf_draft" USING btree ( + "user_id", + "platform", + "task_id" + ); + +COMMENT ON COLUMN "blade_wf_draft"."task_id" IS '任务id'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.4.0~1.5.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.4.0~1.5.0/blade-workflow.sql new file mode 100644 index 0000000..3d3e574 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.4.0~1.5.0/blade-workflow.sql @@ -0,0 +1,8 @@ +ALTER TABLE [dbo].[ACT_DE_MODEL] ADD [icon] varchar(255) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'图标', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'icon' diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.4.0~1.5.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.4.0~1.5.0/blade.sql new file mode 100644 index 0000000..4aea613 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.4.0~1.5.0/blade.sql @@ -0,0 +1 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590671, 1347061240995815427, N'wf_design_model_icon', N'图标', N'menu', N'', N'iconfont iconicon_roundadd', 1, 2, 0, 1, N'', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.0~1.5.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.0~1.5.1/blade.sql new file mode 100644 index 0000000..3b7ea96 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.0~1.5.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562802, 1412667489128562801, N'wf_ops_delete_process', N'删除流程', N'menu', N'', N'', 1, 2, 0, 1, N'', 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.1~1.6.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.1~1.6.0/blade-workflow.sql new file mode 100644 index 0000000..8bc7924 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.1~1.6.0/blade-workflow.sql @@ -0,0 +1,262 @@ + +-- 请先查看升级指南1.6,再确定是否执行这一段注释的SQL +-- UPDATE [dbo].[blade_wf_form] SET [form_key] = N'leave', [name] = N'请假流程表单', [content] = N'{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''yyyy-MM-dd HH:mm:ss'',valueFormat:''yyyy-MM-dd HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { +-- if (!value || value.length == 0) { +-- this.$set(this.form, ''days'', undefined) +-- } else { +-- const d1 = Date.parse(value.split('','')[0]) +-- const d2 = Date.parse(value.split('','')[1]) +-- const day = (d2-d1)/(1*24*60*60*1000) +-- this.$set(this.form, ''days'', Number(day.toFixed(2))) +-- } +-- },dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { +-- if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' ) +-- else this.$set(this.form, ''reason'', '''') +-- }},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', [app_content] = N'{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"yyyy-MM-dd HH:mm:ss","valueFormat":"yyyy-MM-dd HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, ''days'', undefined)\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, ''days'', Number(day.toFixed(2)))\r\n }\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n if (value) this.$set(this.form, ''reason'',''请假'' + value + ''天'' )\n else this.$set(this.form, ''reason'', '''')\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', [version] = 1, [category_id] = -1, [remark] = N'', [create_user] = 1123598821738675201, [create_dept] = 1123598813738675201, [create_time] = N'2021-06-01 22:06:20.0000000', [update_user] = 1123598821738675201, [update_time] = N'2022-04-12 10:27:07.0000000', [status] = 1, [is_deleted] = 0, [tenant_id] = N'000000' WHERE [id] = 1399729025840140290; + +-- ---------------------------- +-- Table structure for blade_wf_process_leave +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_process_leave]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_process_leave] + GO + +CREATE TABLE [dbo].[blade_wf_process_leave] ( + [id] bigint NOT NULL, + [process_ins_id] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [process_def_id] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [current_node] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [datetime] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [days] int NULL, + [reason] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [attachment] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NOT NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_process_leave] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程实例id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'process_ins_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程定义id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'process_def_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'当前节点', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'current_node' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'时间范围', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'datetime' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'请假天数', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'days' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'请假理由', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'reason' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'附件', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'attachment' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'请假流程业务示例', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave' + GO + + + -- ---------------------------- +-- Table structure for blade_wf_proxy +-- ---------------------------- + IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_proxy]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_proxy] + GO + +CREATE TABLE [dbo].[blade_wf_proxy] ( + [id] bigint NOT NULL, + [user_id] bigint NULL, + [proxy_user_id] bigint NULL, + [process_def_key] nvarchar(750) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [start_time] datetime2(7) NULL, + [end_time] datetime2(7) NULL, + [status] int NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_proxy] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'委托人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'代理人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'proxy_user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程定义key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'process_def_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'1永久 2定时', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'开始时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'start_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'结束时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'end_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程代理', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy' + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_process_leave +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_process_leave] ADD CONSTRAINT [PK__blade_wf__639A04C108BAB258] PRIMARY KEY CLUSTERED ([id], [create_time]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_proxy +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_UNI_PROXY] +ON [dbo].[blade_wf_proxy] ( + [user_id] ASC, + [process_def_key] ASC +) +GO + +CREATE NONCLUSTERED INDEX [WF_IDX_USER_ID] +ON [dbo].[blade_wf_proxy] ( + [user_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_proxy +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_proxy] ADD CONSTRAINT [PK__blade_wf__3213E83F8DB1B00B] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.1~1.6.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.1~1.6.0/blade.sql new file mode 100644 index 0000000..f219d71 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.5.1~1.6.0/blade.sql @@ -0,0 +1,8 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638534, 1412666776159797249, N'wf_ops_proxy', N'流程代理', N'menu', N'/plugin/workflow/ops/proxy', NULL, 1, 1, 0, 1, NULL, NULL); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638535, 1513394358223638534, N'wf_ops_proxy_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638536, 1513394358223638534, N'wf_ops_proxy_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638537, 1513394358223638534, N'wf_ops_proxy_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638538, 1513394358223638534, N'wf_ops_proxy_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682182, 1164733399669963301, N'wf_demo', N'业务示例', N'menu', N'/plugin/workflow/demo', N'iconfont iconicon_cspace', 4, 1, 0, 1, NULL, NULL); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682183, 1513683238709682182, N'wf_demo_leave', N'请假流程业务示例', N'menu', N'/plugin/workflow/demo/leave/index', NULL, 1, 1, 0, 1, NULL, NULL); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682184, 1513683238709682182, N'wf_demo_leave_delete', N'删除', N'delete', NULL, NULL, 4, 2, 0, 1, NULL, NULL); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.6.0~1.7.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.6.0~1.7.0/blade-workflow.sql new file mode 100644 index 0000000..9a38663 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.6.0~1.7.0/blade-workflow.sql @@ -0,0 +1,18 @@ +ALTER TABLE [dbo].[blade_wf_process_leave] ADD [form_key] nvarchar(255) + GO + +ALTER TABLE [dbo].[blade_wf_process_leave] ADD [form_url] nvarchar(255) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单url', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'form_url' diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.6.0~1.7.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.6.0~1.7.0/blade.sql new file mode 100644 index 0000000..e58a997 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.6.0~1.7.0/blade.sql @@ -0,0 +1,2 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682185, 1164733399669963301, N'statistics', N'流程统计', N'menu', N'/plugin/workflow/statistics', N'iconfont iconicon_airplay', 4, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682186, 1513683238709682185, N'wf_statistics', N'总览', N'menu', N'/plugin/workflow/statistics/index', N'iconfont iconicon_subordinate', 4, 1, 0, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.0~1.7.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.0~1.7.1/blade-workflow.sql new file mode 100644 index 0000000..230f9ac --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.0~1.7.1/blade-workflow.sql @@ -0,0 +1,46 @@ +ALTER TABLE [dbo].[blade_wf_copy] ADD [deployment_id] nvarchar(255) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'deployment_id'; + +EXEC sp_rename '[dbo].[ACT_DE_MODEL].[xml]', 'model_xml', 'COLUMN' +GO + +IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL', +'COLUMN', N'model_xml')) > 0) + EXEC sp_updateextendedproperty +'MS_Description', N'模型XML', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL', +'COLUMN', N'model_xml' +ELSE + EXEC sp_addextendedproperty +'MS_Description', N'模型XML', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL', +'COLUMN', N'model_xml'; + +EXEC sp_rename '[dbo].[ACT_DE_MODEL_HISTORY].[xml]', 'model_xml', 'COLUMN' +GO + +IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL_HISTORY', +'COLUMN', N'model_xml')) > 0) + EXEC sp_updateextendedproperty +'MS_Description', N'模型XML', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL_HISTORY', +'COLUMN', N'model_xml' +ELSE + EXEC sp_addextendedproperty +'MS_Description', N'模型XML', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL_HISTORY', +'COLUMN', N'model_xml'; diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..fe02188 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,291 @@ +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_theme]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_theme] + GO + +CREATE TABLE [dbo].[blade_wf_form_theme] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [theme_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [border_width] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [border_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_bg] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_width] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_font_size] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_bg] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_font_size] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field0] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field1] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field2] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field3] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field4] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field5] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field6] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field7] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field8] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field9] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_theme] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'主题key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'theme_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'边框宽度', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'border_width' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'边框颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'border_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label字体颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label背景颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_bg' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label宽度', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_width' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label字体大小', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_font_size' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value字体颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value背景颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_bg' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value字体大小', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_font_size' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field0' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field1' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field2' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field3' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field4' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field5' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field6' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field7' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field8' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field9' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单 - 主题', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme' + GO + + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1', N'蓝色', N'blue', N'1px', N'#cbdcf0', N'#01418a', N'#eef6ff', N'', N'14px', N'', N'', N'14px', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598813738675201', N'2023-04-04 15:36:46.0000000', N'1123598821738675201', N'2023-05-04 10:43:18.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'2', N'默认', N'default', N'1px', N'rgba(235, 238, 245, 1)', N'rgba(144, 147, 153, 1)', N'rgba(250, 250, 250, 1)', NULL, NULL, N'rgba(96, 98, 102, 1)', N'rgba(255, 255, 255, 1)', NULL, N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598813738675201', N'2023-04-04 15:16:47.0000000', N'1123598821738675201', N'2023-04-18 11:50:10.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'3', N'黑色', N'black', N'1px', N'rgba(0, 0, 0, 1)', N'#000', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598821738675201', N'2023-04-04 16:57:35.0000000', N'1123598821738675201', N'2023-05-04 10:43:44.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_form_theme +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_THEME_KEY] +ON [dbo].[blade_wf_form_theme] ( + [theme_key] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_theme +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_theme] ADD CONSTRAINT [PK__blade_wf__3213E83FE1B9E59C] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..8575db3 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.7.1~1.8.0/blade.sql @@ -0,0 +1,5 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113286, 1347061240995815426, N'wf_design_form_theme', N'表单主题', N'menu', N'/plugin/workflow/design/form-theme', N'iconfont icon-canshu', 7, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113287, 1347095124710113286, N'wf_design_form_theme_add', N'新增', N'add', '', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113288, 1347095124710113286, N'wf_design_form_theme_edit', N'修改', N'edit', '', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113289, 1347095124710113286, N'wf_design_form_theme_delete', N'删除', N'delete', '', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113290, 1347095124710113286, N'wf_design_form_theme_view', N'查看', N'view', '', N'file-text', 4, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..4f7c547 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,149 @@ +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_variable]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_variable] + GO + +CREATE TABLE [dbo].[blade_wf_form_variable] ( + [id] bigint NOT NULL, + [process_ins_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_def_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_option] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_variable] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_time] datetime2(7) NULL, + [create_dept] bigint NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_variable] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程实例id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'process_ins_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务节点key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_def_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务节点名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单js', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'form_option' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'form_variable' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单 - 历史变量', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable' + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_variable +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_variable] ADD CONSTRAINT [PK__blade_wf__3213E83F21E7286A] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..05c6b0d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324618926, 1347095124710114284, N'wf_form_variable_view', N'表单历史变量查看', N'view', NULL, N'file-text', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1/blade-workflow.sql new file mode 100644 index 0000000..c3a90c9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1/blade-workflow.sql @@ -0,0 +1,134 @@ +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_listener]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_listener] + GO + +CREATE TABLE [dbo].[blade_wf_listener] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [category] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [event] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [val] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_listener] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'category' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'事件', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'event' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'监听类型', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'val' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务/执行监听器', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener' + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_listener +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_listener] ADD CONSTRAINT [PK__blade_wf__3213E83FF80DDE18] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1/blade_menu.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1/blade_menu.sql new file mode 100644 index 0000000..dc2022e --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1/blade_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180929, 1347061240995815426, N'wf_listener', N'监听器配置', N'menu', N'/plugin/workflow/design/listener', N'iconfont iconicon_details', 7, 1, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180930, 1409170214477180929, N'wf_listener_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180931, 1409170214477180929, N'wf_listener_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180932, 1409170214477180929, N'wf_listener_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180933, 1409170214477180929, N'wf_listener_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..add70e2 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue2/update/sqlserver/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,16 @@ +ALTER TABLE [dbo].[blade_wf_draft] ADD [task_id] nvarchar(255) + GO + +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_DRAFT_UNI2] +ON [dbo].[blade_wf_draft] ( + [user_id], + [task_id], + [platform] +) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'任务id', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_draft', +'COLUMN', N'task_id' diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/dm/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/dm/bladex_workflow.sql new file mode 100644 index 0000000..52db883 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/dm/bladex_workflow.sql @@ -0,0 +1,1000 @@ +CREATE TABLE "ACT_DE_MODEL" ( + "ID" NVARCHAR2(255) NOT NULL, + "NAME" NVARCHAR2(400) NOT NULL, + "MODEL_KEY" NVARCHAR2(400) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "CATEGORY_ID" NUMBER(20,0), + "DESCRIPTION" NCLOB, + "MODEL_COMMENT" NCLOB, + "CREATED" DATE, + "CREATED_BY" NVARCHAR2(255), + "LAST_UPDATED" DATE, + "LAST_UPDATED_BY" NVARCHAR2(255), + "VERSION" NUMBER(11,0), + "MODEL_XML" NCLOB, + "MODEL_EDITOR_JSON" NCLOB, + "THUMBNAIL" BLOB, + "MODEL_TYPE" NUMBER(11,0), + "TENANT_ID" NVARCHAR2(255), + "ICON" NVARCHAR2(255) +) +; +COMMENT ON COLUMN "ACT_DE_MODEL"."NAME" IS '名称'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_KEY" IS '模型标识'; +COMMENT ON COLUMN "ACT_DE_MODEL"."FORM_KEY" IS '表单标识'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "ACT_DE_MODEL"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_COMMENT" IS '评论'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CREATED" IS '创建时间'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CREATED_BY" IS '创建人'; +COMMENT ON COLUMN "ACT_DE_MODEL"."LAST_UPDATED" IS '最后更新时间'; +COMMENT ON COLUMN "ACT_DE_MODEL"."LAST_UPDATED_BY" IS '最后更新人'; +COMMENT ON COLUMN "ACT_DE_MODEL"."VERSION" IS '版本'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_XML" IS '模型XML'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_EDITOR_JSON" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "ACT_DE_MODEL"."THUMBNAIL" IS '缩略图'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_TYPE" IS '类型'; +COMMENT ON COLUMN "ACT_DE_MODEL"."TENANT_ID" IS '租户id'; +COMMENT ON COLUMN "ACT_DE_MODEL"."ICON" IS '图标'; +COMMENT ON TABLE "ACT_DE_MODEL" IS '流程 - 定义 - 模型'; + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL_HISTORY +-- ---------------------------- +CREATE TABLE "ACT_DE_MODEL_HISTORY" ( + "ID" NVARCHAR2(255) NOT NULL, + "NAME" NVARCHAR2(400) NOT NULL, + "MODEL_KEY" NVARCHAR2(400) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "CATEGORY_ID" NUMBER(20,0), + "DESCRIPTION" NCLOB, + "MODEL_COMMENT" NCLOB, + "CREATED" DATE, + "CREATED_BY" NVARCHAR2(255), + "LAST_UPDATED" DATE, + "LAST_UPDATED_BY" NVARCHAR2(255), + "REMOVAL_DATE" DATE, + "VERSION" NUMBER(11,0), + "MODEL_XML" NCLOB, + "MODEL_EDITOR_JSON" NCLOB, + "MODEL_ID" NVARCHAR2(255) NOT NULL, + "MODEL_TYPE" NUMBER(11,0), + "TENANT_ID" NVARCHAR2(255), + "ICON" NVARCHAR2(255) +) +; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."NAME" IS '名称'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_KEY" IS '模型标识'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."FORM_KEY" IS '表单标识'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_COMMENT" IS '注释'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CREATED" IS '创建时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CREATED_BY" IS '创建人'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."LAST_UPDATED" IS '最后更新时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."LAST_UPDATED_BY" IS '最后更新人'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."REMOVAL_DATE" IS '移除时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."VERSION" IS '版本'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_XML" IS '模型XML'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_EDITOR_JSON" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_ID" IS 'modelId'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_TYPE" IS '类型'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."TENANT_ID" IS '租户id'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."ICON" IS '图标'; +COMMENT ON TABLE "ACT_DE_MODEL_HISTORY" IS '流程 - 定义 - 模型历史'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL_HISTORY +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_BUTTON +-- ---------------------------- +CREATE TABLE "BLADE_WF_BUTTON" ( + "ID" NUMBER(20,0) NOT NULL, + "BUTTON_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "DISPLAY" NUMBER(4,0), + "SORT" NUMBER(11,0), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."BUTTON_KEY" IS '按钮key'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."DISPLAY" IS '默认是否显示'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."SORT" IS '排序'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_BUTTON" IS '流程按钮'; + +-- ---------------------------- +-- Records of BLADE_WF_BUTTON +-- ---------------------------- +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394176899911041025', 'wf_pass', '通过', '1', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:24:10', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:24:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394177198465794050', 'wf_reject', '驳回', '1', '2', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:25:21', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:25:21', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394179125421326337', 'wf_print', '打印', '1', '3', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:33:01', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:33:01', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394609969089761281', 'wf_transfer', '转办', '1', '4', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 19:05:02', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 19:05:02', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394610036672581634', 'wf_delegate', '委托', '1', '5', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 19:05:18', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 19:05:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395271519601426433', 'wf_terminate', '终止', '1', '6', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 14:53:48', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 14:53:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274709692579841', 'wf_add_instance', '加签', '1', '7', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:06:28', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:06:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274774674931713', 'wf_del_instance', '减签', '1', '8', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:06:44', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:06:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274955986305025', 'wf_rollback', '指定回退', '1', '9', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:07:27', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:07:27', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_CATEGORY +-- ---------------------------- +CREATE TABLE "BLADE_WF_CATEGORY" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "PID" NUMBER(20,0) DEFAULT 0, + "SORT" NUMBER(11,0), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."NAME" IS '分类名称'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."PID" IS '上级id'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."SORT" IS '排序'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_CATEGORY" IS '流程分类'; + +-- ---------------------------- +-- Records of BLADE_WF_CATEGORY +-- ---------------------------- +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394133715940073474', '请假流程', '0', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 11:32:34', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 20:37:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394158934813609986', '财务流程', '0', '2', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 13:12:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 13:13:07', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394159147934584833', '报销流程', '1394158934813609986', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 13:13:38', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 13:13:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_CONDITION +-- ---------------------------- +CREATE TABLE "BLADE_WF_CONDITION" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "EXPRESSION" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."EXPRESSION" IS '表达式'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."TYPE" IS '类型'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_CONDITION" IS '流程表达式'; + +-- ---------------------------- +-- Records of BLADE_WF_CONDITION +-- ---------------------------- +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408267023015739393', '流程发起人', 'applyUser', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 11:33:17', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 11:33:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408267100878798850', '当前操作人', 'currentUser', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 11:33:36', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 11:33:36', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408305933398896641', '上级部门领导', 'leader', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 14:07:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 14:07:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_COPY +-- ---------------------------- +CREATE TABLE "BLADE_WF_COPY" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "TITLE" NVARCHAR2(255), + "INITIATOR" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "PROCESS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "FORM_KEY" NVARCHAR2(255), + "FORM_URL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) +; +COMMENT ON COLUMN "BLADE_WF_COPY"."USER_ID" IS '用户id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."TITLE" IS '标题'; +COMMENT ON COLUMN "BLADE_WF_COPY"."INITIATOR" IS '发起者'; +COMMENT ON COLUMN "BLADE_WF_COPY"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."PROCESS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."FORM_KEY" IS '外置表单key'; +COMMENT ON COLUMN "BLADE_WF_COPY"."FORM_URL" IS '外置表单url'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_COPY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_COPY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_COPY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_COPY"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_COPY" IS '流程抄送'; + +-- ---------------------------- +-- Records of BLADE_WF_COPY +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +CREATE TABLE "BLADE_WF_DEPLOYMENT_FORM" ( + "ID" NUMBER(20,0) NOT NULL, + "DEPLOYMENT_ID" NVARCHAR2(255), + "FORM_KEY" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "TASK_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "TABLE_NAME" NVARCHAR2(255), + "TABLE_COMMENT" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) +; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_KEY" IS '节点key'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_NAME" IS '节点名称'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TABLE_NAME" IS '表名'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TABLE_COMMENT" IS '表注释'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_DEPLOYMENT_FORM" IS '流程部署 - 表单'; + +-- ---------------------------- +-- Records of BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_DRAFT +-- ---------------------------- +CREATE TABLE "BLADE_WF_DRAFT" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "FORM_KEY" NVARCHAR2(255), + "PROCESS_DEF_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "VARIABLES" NCLOB, + "PLATFORM" NVARCHAR2(255) +) +; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."USER_ID" IS '用户id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."PROCESS_DEF_ID" IS '流程定义id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."VARIABLES" IS '表单变量'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."PLATFORM" IS '平台 pc/app'; +COMMENT ON TABLE "BLADE_WF_DRAFT" IS '流程草稿箱'; + +-- ---------------------------- +-- Records of BLADE_WF_DRAFT +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM" ( + "ID" NUMBER(20,0) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "VERSION" NUMBER(11,0), + "CATEGORY_ID" NUMBER(20,0), + "REMARK" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_FORM"."NAME" IS '表单名称'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM"."VERSION" IS '版本'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "BLADE_WF_FORM"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM" IS '流程表单'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399359377009377281', 'default-value', '测试默认值', '{column:[{type:''input'',label:''人事姓名'',span:24,display:true,prop:''1622472547203_21841'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''人事职位'',span:24,display:true,prop:''1622553629767_65211'',value:''${this.$store.getters.userInfo.post_name}''},{type:''input'',label:''人事部门'',span:24,display:true,prop:''1622472547375_86557'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''当前日期'',span:24,display:true,prop:''1622553629949_3168'',value:''${this.dateFormat(new Date(),\"YYYY-MM-DD\")}''},{type:''input'',label:''当前时间'',span:24,display:true,prop:''1622553631752_15562'',value:''${this.dateFormat(new Date(),\"HH:mm:ss\")}''},{type:''input'',label:''人事姓名和日期'',span:24,display:true,prop:''1622553691156_69886'',value:''${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"YYYY-MM-DD\")}''},{type:''input'',label:''经理姓名'',span:24,display:true,prop:''1622472547780_5707'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''经理部门'',span:24,display:true,prop:''1622472547975_90560'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''老板姓名'',span:24,display:true,prop:''1622472548372_60141'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''老板部门'',span:24,display:true,prop:''1622472548560_32474'',value:''${this.$store.getters.userInfo.dept_name}''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"人事姓名","span":24,"display":true,"prop":"1622472547203_21841","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"人事职位","span":24,"display":true,"prop":"1622553629767_65211","value":"${this.$store.getters.userInfo.post_name}"},{"type":"input","label":"人事部门","span":24,"display":true,"prop":"1622472547375_86557","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"当前日期","span":24,"display":true,"prop":"1622553629949_3168","value":"${this.dateFormat(new Date(),\"YYYY-MM-DD\")}"},{"type":"input","label":"当前时间","span":24,"display":true,"prop":"1622553631752_15562","value":"${this.dateFormat(new Date(),\"HH:mm:ss\")}"},{"type":"input","label":"人事姓名和日期","span":24,"display":true,"prop":"1622553691156_69886","value":"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"YYYY-MM-DD\")}"},{"type":"input","label":"经理姓名","span":24,"display":true,"prop":"1622472547780_5707","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"经理部门","span":24,"display":true,"prop":"1622472547975_90560","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"老板姓名","span":24,"display":true,"prop":"1622472548372_60141","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"老板部门","span":24,"display":true,"prop":"1622472548560_32474","value":"${this.$store.getters.userInfo.dept_name}"}],"labelPosition":"left","labelSuffix":":","labelWidth":140,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '1642162799092207618', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 21:37:29', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:58:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399729025840140290', 'leave', '请假流程表单', '{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''YYYY-MM-DD HH:mm:ss'',valueFormat:''YYYY-MM-DD HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { + let days + if (!value || value.length == 0) { + days = undefined + } else { + const d1 = Date.parse(value.split('','')[0]) + const d2 = Date.parse(value.split('','')[1]) + const day = (d2-d1)/(1*24*60*60*1000) + days = Number(day.toFixed(2)) + } + this.form.days = days +},dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { + let reason + if (value) reason = ''请假'' + value + ''天'' + else reason = '''' + this.form.reason = reason +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"YYYY-MM-DD HH:mm:ss","valueFormat":"YYYY-MM-DD HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n let days\r\n if (!value || value.length == 0) {\r\n days = undefined\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n days = Number(day.toFixed(2))\r\n }\r\n this.form.days = days\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n let reason\n if (value) reason = ''请假'' + value + ''天''\n else reason = ''''\n this.form.reason = reason\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '1642162799092207618', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 22:06:20', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-09 18:03:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408402768310304770', 'demo-test', '测试简单表单', '{column:[{type:''input'',label:''单行文本'',span:24,display:true,prop:''1624624365132_23209''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"单行文本","span":24,"display":true,"prop":"1624624365132_23209"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '1642162799092207618', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 20:32:41', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:58:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1429672727182159874', 'field-linkage', '字段联动', '{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input''},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.form.input2 = text +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"switch","label":"控制显隐","span":24,"display":true,"value":"0","dicData":[{"label":"","value":"0"},{"label":"","value":"1"}],"prop":"1629695558953_19833","change":"({value}) => {\r\n const input = this.findObject(this.option.column, ''input'')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input"},{"type":"select","label":"值改变","dicData":[{"label":"一天","value":"1"},{"label":"两天","value":"2"},{"label":"三天","value":"3"}],"cascaderItem":[],"span":24,"display":true,"props":{"label":"label","value":"value"},"prop":"1629695859796_23456","change":"({value}) => {\r\n let text = value\r\n if(value) {\r\n text = ''请假 '' + value + '' 天''\r\n }\r\n this.form.input2 = text\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input2"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '1642162799092207618', '字段联动示例', '1123598821738675201', '1123598813738675201', TO_DATE('2021-08-23 13:11:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:58:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CONTENT" NVARCHAR2(255), + "FIELD_TYPE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CONTENT" IS '内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."FIELD_TYPE" IS '字段类型'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_DEFAULT_VALUES" IS '流程表单字段默认值'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399346112331087873', '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 20:44:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-31 20:56:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399347906465595393', '当前操作人部门', '${this.$store.getters.userInfo.dept_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 20:51:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-31 20:56:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717069960855553', '当前日期', '${this.dateFormat(new Date(),"YYYY-MM-DD")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:18:50', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:44:30', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717187904684034', '当前操作人职位', '${this.$store.getters.userInfo.post_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:19:18', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:19:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717285564858369', '当前时间', '${this.dateFormat(new Date(),"HH:mm:ss")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:19:41', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 17:27:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399718803940655106', '当前操作人姓名和日期', '${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),"YYYY-MM-DD")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:25:43', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:46:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408401952027443201', '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 20:29:27', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 20:29:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', '1', '000000'); + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_HISTORY +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM_HISTORY" ( + "ID" NUMBER(20,0) NOT NULL, + "FORM_ID" NUMBER(20,0), + "FORM_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "VERSION" NUMBER(11,0), + "CATEGORY_ID" NUMBER(20,0), + "REMARK" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."FORM_ID" IS '表单id'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."NAME" IS '表单名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."VERSION" IS '版本'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_FORM_HISTORY" IS '流程表单'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_HISTORY +-- ---------------------------- + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM_THEME" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255) NOT NULL, + "THEME_KEY" NVARCHAR2(255) NOT NULL, + "BORDER_WIDTH" NVARCHAR2(255), + "BORDER_COLOR" NVARCHAR2(255), + "LABEL_COLOR" NVARCHAR2(255), + "LABEL_BG" NVARCHAR2(255), + "LABEL_WIDTH" NVARCHAR2(255), + "LABEL_FONT_SIZE" NVARCHAR2(255), + "VALUE_COLOR" NVARCHAR2(255), + "VALUE_BG" NVARCHAR2(255), + "VALUE_FONT_SIZE" NVARCHAR2(255), + "FIELD0" NVARCHAR2(255), + "FIELD1" NVARCHAR2(255), + "FIELD2" NVARCHAR2(255), + "FIELD3" NVARCHAR2(255), + "FIELD4" NVARCHAR2(255), + "FIELD5" NVARCHAR2(255), + "FIELD6" NVARCHAR2(255), + "FIELD7" NVARCHAR2(255), + "FIELD8" NVARCHAR2(255), + "FIELD9" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."THEME_KEY" IS '主题key'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_WIDTH" IS '边框宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_COLOR" IS '边框颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_COLOR" IS 'label字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_BG" IS 'label背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_WIDTH" IS 'label宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_FONT_SIZE" IS 'label字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_COLOR" IS 'value字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_BG" IS 'value背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_FONT_SIZE" IS 'value字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD0" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD1" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD2" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD3" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD4" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD5" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD6" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD7" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD8" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD9" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_THEME" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_THEME +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1', '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', NULL, '14px', NULL, NULL, '14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:36:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('2', '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:16:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-18 11:50:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('3', '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598821738675201', TO_DATE('2023-04-04 16:57:35', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011945" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011942" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011943" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011944" CHECK ("THEME_KEY" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" + ON "BLADE_WF_FORM_THEME" ("THEME_KEY" ASC); + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_VARIABLE +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_VARIABLE"; +CREATE TABLE "BLADE_WF_FORM_VARIABLE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "TASK_DEF_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "FORM_OPTION" NCLOB, + "FORM_VARIABLE" NCLOB, + "STATUS" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20,0), + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_DEF_KEY" IS '任务节点key'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_NAME" IS '任务节点名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_OPTION" IS '表单js'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_VARIABLE" IS '表单值'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_VARIABLE" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012109" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012108" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Table structure for BLADE_WF_LISTENER +-- ---------------------------- +DROP TABLE "BLADE_WF_LISTENER"; +CREATE TABLE "BLADE_WF_LISTENER" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CATEGORY" NVARCHAR2(255), + "EVENT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CATEGORY" IS '分类'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."EVENT" IS '事件'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TYPE" IS '监听类型'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."VAL" IS '值'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_LISTENER" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011312" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011311" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Table structure for BLADE_WF_MODEL_SCOPE +-- ---------------------------- +CREATE TABLE "BLADE_WF_MODEL_SCOPE" ( + "ID" NUMBER(20,0) NOT NULL, + "MODEL_ID" NVARCHAR2(255), + "MODEL_KEY" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "TEXT" NVARCHAR2(255) +) +; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."MODEL_ID" IS '模型id'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."MODEL_KEY" IS '模型key'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."TYPE" IS '类型 user用户 role角色 dept部门 post职位'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."VAL" IS '用户/角色/部门/职位 id集合'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."TEXT" IS '用户/角色/部门/职位 name集合'; +COMMENT ON TABLE "BLADE_WF_MODEL_SCOPE" IS '流程模型权限'; + +-- ---------------------------- +-- Records of BLADE_WF_MODEL_SCOPE +-- ---------------------------- +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418455767366799361', '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418457955400978434', '0676f2277420b7dc67f69dd3a0ec1164', 'ex-leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418457988913467393', '5b7a367e1139f1ab5cb1e6210685fa91', 'demo-multi-instance', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418458020752429058', 'fb4c1a6a8c4588779a2519a547966846', 'test-default-values', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1429675430591442946', '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1447556025547763714', 'd71049b6ba4eda39cacf9baf984274ac', 'indep-form', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); + +-- ---------------------------- +-- Table structure for BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +CREATE TABLE "BLADE_WF_PROCESS_LEAVE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(64), + "PROCESS_DEF_ID" NVARCHAR2(64), + "CURRENT_NODE" NVARCHAR2(64), + "DATETIME" NVARCHAR2(64), + "DAYS" NUMBER(11,0), + "REASON" NCLOB, + "ATTACHMENT" NCLOB, + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE NOT NULL, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "FORM_KEY" VARCHAR(255), + "FORM_URL" VARCHAR(255) +) +; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_DEF_ID" IS '流程定义id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CURRENT_NODE" IS '当前节点'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DATETIME" IS '时间范围'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DAYS" IS '请假天数'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."REASON" IS '请假理由'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."ATTACHMENT" IS '附件'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_KEY" IS '外置表单key'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_URL" IS '外置表单url'; +COMMENT ON TABLE "BLADE_WF_PROCESS_LEAVE" IS '请假流程业务示例'; + +-- ---------------------------- +-- Table structure for BLADE_WF_PROXY +-- ---------------------------- +CREATE TABLE "BLADE_WF_PROXY" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "PROXY_USER_ID" NUMBER(20,0), + "PROCESS_DEF_KEY" NVARCHAR2(750), + "TYPE" NVARCHAR2(255), + "START_TIME" DATE, + "END_TIME" DATE, + "STATUS" NUMBER(11,0) +) +; +COMMENT ON COLUMN "BLADE_WF_PROXY"."USER_ID" IS '委托人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROXY_USER_ID" IS '代理人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROCESS_DEF_KEY" IS '流程定义key'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."TYPE" IS '1永久 2定时'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."START_TIME" IS '开始时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."END_TIME" IS '结束时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."STATUS" IS '状态'; +COMMENT ON TABLE "BLADE_WF_PROXY" IS '流程代理'; + +-- ---------------------------- +-- Table structure for BLADE_WF_SERIAL +-- ---------------------------- +CREATE TABLE "BLADE_WF_SERIAL" ( + "ID" NUMBER(20,0) NOT NULL, + "DEPLOYMENT_ID" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "PREFIX" NVARCHAR2(255), + "DATE_FORMAT" NVARCHAR2(255), + "SUFFIX_LENGTH" NUMBER(11,0), + "START_SEQUENCE" NUMBER(11,0), + "CONNECTOR" NVARCHAR2(255), + "CURRENT_SEQUENCE" NUMBER(11,0), + "CYCLE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) +; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."DEPLOYMENT_ID" IS '部署id'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."PREFIX" IS '前缀'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."DATE_FORMAT" IS '日期格式化'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."SUFFIX_LENGTH" IS '后缀位数'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."START_SEQUENCE" IS '初始数值'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CONNECTOR" IS '连接符'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CURRENT_SEQUENCE" IS '当前序列'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CYCLE" IS '重置周期 none不重置 day天 week周 month月 year年'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_SERIAL" IS '流程流水号'; + +-- ---------------------------- +-- Records of BLADE_WF_SERIAL +-- ---------------------------- + +-- ---------------------------- +-- Checks structure for table ACT_DE_MODEL +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012501" CHECK ("ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012502" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012503" CHECK ("MODEL_KEY" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012506" CHECK ("ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012507" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012508" CHECK ("MODEL_KEY" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012382" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012364" CHECK ("ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012365" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012366" CHECK ("MODEL_KEY" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012367" CHECK ("MODEL_ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012509" CHECK ("ID" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012510" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012511" CHECK ("MODEL_KEY" IS NOT NULL); +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012512" CHECK ("MODEL_ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_BUTTON +-- ---------------------------- +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012384" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_BUTTON +-- ---------------------------- +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012363" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012513" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CATEGORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012385" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CATEGORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012371" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012514" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CONDITION +-- ---------------------------- +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012386" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CONDITION +-- ---------------------------- +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012372" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012515" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_COPY +-- ---------------------------- +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012387" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_COPY +-- ---------------------------- +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012373" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012516" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012388" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012374" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012517" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_DRAFT +-- ---------------------------- +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012389" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_DRAFT +-- ---------------------------- +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012375" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012518" CHECK ("ID" IS NOT NULL); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI" + ON "BLADE_WF_DRAFT" ("USER_ID", "PROCESS_DEF_ID", "PLATFORM"); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" + ON "BLADE_WF_DRAFT" ("USER_ID", "TASK_ID", "PLATFORM"); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012390" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012376" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012519" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_FORM_KEY" + ON "BLADE_WF_FORM" ("FORM_KEY" ASC, "TENANT_ID" ASC); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012391" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012377" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012520" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_HISTORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012392" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_HISTORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012378" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012521" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_MODEL_SCOPE +-- ---------------------------- +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012393" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_MODEL_SCOPE +-- ---------------------------- +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012379" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012522" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013052" PRIMARY KEY ("ID", "CREATE_TIME"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013050" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013051" CHECK ("CREATE_TIME" IS NOT NULL); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013053" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013049" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_PROXY +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_UNI_PROXY" + ON "BLADE_WF_PROXY" ("USER_ID" ASC, "PROCESS_DEF_KEY" ASC); +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_SERIAL +-- ---------------------------- +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012394" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_SERIAL +-- ---------------------------- +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012380" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012523" CHECK ("ID" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_SERIAL +-- ---------------------------- +CREATE UNIQUE INDEX "UNI" + ON "BLADE_WF_SERIAL" ("DEPLOYMENT_ID" ASC); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/dm/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/dm/lemon_menu.sql new file mode 100644 index 0000000..c1cf869 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/dm/lemon_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1164733399669963301', '0', 'workflow', '协同办公', 'menu', '/plugin/workflow', 'ant-design:apartment-outlined', '5', '1', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347061240995815426', '1164733399669963301', 'wf_design', '流程设计', 'menu', '/plugin/workflow/pages/design', 'ant-design:appstore-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/design', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347061240995815427', '1347061240995815426', 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/pages/design/model', 'ant-design:bulb-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/design/model', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590658', '1347061240995815427', 'wf_design_model_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590659', '1347061240995815427', 'wf_design_model_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590660', '1347061240995815427', 'wf_design_model_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590661', '1347061240995815427', 'wf_design_model_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590662', '1347061240995815427', 'wf_design_model_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590663', '1347061240995815427', 'wf_design_model_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590664', '1347061240995815427', 'wf_design_model_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590665', '1347061240995815427', 'wf_design_model_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590666', '1347061240995815427', 'wf_design_model_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590667', '1347061240995815427', 'wf_design_model_deploy', '部署', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590668', '1347061240995815427', 'wf_design_model_scope', '权限', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590669', '1347061240995815427', 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590670', '1347061240995815427', 'wf_design_model_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590671', '1347061240995815427', 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826049', '1347061240995815426', 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/pages/design/form', 'ant-design:edit-outlined', '2', '1', '0', '1', '/plugin/workflow/pages/design/form', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826050', '1347083757101826049', 'wf_design_form_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826051', '1347083757101826049', 'wf_design_form_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826052', '1347083757101826049', 'wf_design_form_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826053', '1347083757101826049', 'wf_design_form_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826054', '1347083757101826049', 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826055', '1347083757101826049', 'wf_design_form_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826056', '1347083757101826049', 'wf_design_form_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826057', '1347083757101826049', 'wf_design_form_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826058', '1347083757101826049', 'wf_design_form_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826059', '1347083757101826049', 'wf_design_form_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826060', '1347083757101826049', 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113282', '1347061240995815426', 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/pages/design/deployment', 'ant-design:cloud-server-outlined', '3', '1', '0', '1', '/plugin/workflow/pages/design/deployment', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113283', '1347095124710113282', 'wf_design_deployment_status', '修改状态', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113284', '1347095124710113282', 'wf_design_deployment_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113285', '1347095124710113282', 'wf_design_deployment_delete', '删除部署', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114284', '1164733399669963301', 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'ant-design:bell-outlined', '2', '1', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114285', '1347095124710114284', 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/pages/process/start', 'ant-design:file-exclamation-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/process/start', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114286', '1347095124710114285', 'wf_process_start_flow', '发起', 'flow', '', 'flow', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114287', '1347095124710114285', 'wf_process_start_image', '流程图', 'image', '', 'image', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114288', '1347095124710114284', 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/pages/process/claim', 'ant-design:pushpin-outlined', '5', '1', '0', '1', '/plugin/workflow/pages/process/claim', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114289', '1347095124710114288', 'wf_process_claim_sign', '签收', 'sign', '', 'sign', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114290', '1347095124710114288', 'wf_process_claim_detail', '详情', 'detail', '', 'detail', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114291', '1347095124710114288', 'wf_process_claim_follow', '跟踪', 'follow', '', 'follow', '3', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114292', '1347095124710114284', 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/pages/process/todo', 'ant-design:file-exclamation-outlined', '2', '1', '0', '1', '/plugin/workflow/pages/process/todo', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114293', '1347095124710114292', 'wf_process_todo_handle', '办理', 'handle', '', 'handle', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114294', '1347095124710114292', 'wf_process_todo_detail', '详情', 'detail', '', 'detail', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114295', '1347095124710114292', 'wf_process_todo_follow', '跟踪', 'follow', '', 'follow', '3', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114296', '1347095124710114284', 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/pages/process/send', 'ant-design:file-text-outlined', '3', '1', '0', '1', '/plugin/workflow/pages/process/send', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114297', '1347095124710114296', 'wf_process_send_detail', '详情', 'detail', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114298', '1347095124710114296', 'wf_process_send_follow', '跟踪', 'follow', '', 'follow', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114299', '1347095124710114284', 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/pages/process/done', 'ant-design:file-protect-outlined', '4', '1', '0', '1', '/plugin/workflow/pages/process/done', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114300', '1347095124710114299', 'wf_process_done_detail', '详情', 'detail', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114301', '1347095124710114299', 'wf_process_done_follow', '跟踪', 'follow', '', 'follow', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114302', '1347095124710114284', 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/pages/process/my-done', 'ant-design:file-protect-outlined', '3', '1', '0', '1', '/plugin/workflow/pages/process/my-done', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114303', '1347095124710114302', 'wf_process_my_done_detail', '详情', 'detail', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114304', '1347095124710114302', 'wf_process_my_done_follow', '跟踪', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114305', '1347095124710114284', 'wf_process_draft', '草稿箱', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114306', '1347095124710114284', 'wf_process_withdraw', '撤销', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114307', '1347095124710114292', 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114308', '1347095124710114296', 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114309', '1347095124710114299', 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114310', '1347095124710114302', 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114311', '1347095124710114288', 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434310', '1347061240995815426', 'wf_button', '流程按钮', 'menu', '/plugin/workflow/pages/design/button', 'ant-design:setting-outlined', '4', '1', '0', '1', '/plugin/workflow/pages/design/button', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434311', '1394106647182434310', 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434312', '1394106647182434310', 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434313', '1394106647182434310', 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434314', '1394106647182434310', 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149511', '1347061240995815426', 'wf_category', '流程分类', 'menu', '/plugin/workflow/pages/design/category', 'ant-design:appstore-outlined', '5', '1', '0', '1', '/plugin/workflow/pages/design/category', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149512', '1394106647392149511', 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149513', '1394106647392149511', 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149514', '1394106647392149511', 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149515', '1394106647392149511', 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206087', '1347095124710114284', 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/pages/process/copy', 'ant-design:send-outlined', '5', '1', '0', '1', '/plugin/workflow/pages/process/copy', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206088', '1394657590156206087', 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206089', '1394657590156206087', 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206090', '1394657590156206087', 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206091', '1394657590156206087', 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518919', '1347061240995815426', 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/pages/design/form-default-values', 'ant-design:form-outlined', '5', '1', '0', '1', '/plugin/workflow/pages/design/form-default-values', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518920', '1399260774324518919', 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518921', '1399260774324518919', 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518922', '1399260774324518919', 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518923', '1399260774324518919', 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518924', '1399260774324518919', 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518925', '1347061240995815426', 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'ant-design:dashboard-outlined', '6', '1', '0', '1', '/plugin/workflow/pages/design/form-theme', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518926', '1399260774324518925', 'wf_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518927', '1399260774324518925', 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518928', '1399260774324518925', 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518929', '1399260774324518925', 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984966', '1347061240995815426', 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/pages/design/condition', 'ant-design:function-outlined', '6', '1', '0', '1', '/plugin/workflow/pages/design/condition', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984967', '1408263948050984966', 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984968', '1408263948050984966', 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984969', '1408263948050984966', 'wf_condition_delete', '删除', 'delete', '/plugin/workflow/design/condition/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984970', '1408263948050984966', 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'ant-design:bell-outlined', '7', '1', '0', '1', '/plugin/workflow/pages/design/listener', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412666776159797249', '1164733399669963301', 'wf_ops', '流程运维', 'menu', '/plugin/workflow/pages/ops', 'ant-design:tool-outlined', '3', '1', '0', '1', '/plugin/workflow/pages/ops', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562690', '1412666776159797249', 'wf_ops_index', '运维调度', 'menu', '/plugin/workflow/pages/ops/index', 'ant-design:cloud-sync-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/ops/index', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562691', '1412667489128562690', 'wf_ops_detail', '详情', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562692', '1412667489128562690', 'wf_ops_follow', '流程图', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562693', '1412667489128562690', 'wf_ops_reject', '驳回', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562694', '1412667489128562690', 'wf_ops_pass', '通过', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562695', '1412667489128562690', 'wf_ops_transfer', '转办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562696', '1412667489128562690', 'wf_ops_delegate', '委托', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562697', '1412667489128562690', 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562698', '1412667489128562690', 'wf_ops_terminate', '终止', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562699', '1412667489128562690', 'wf_ops_copy', '抄送', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562700', '1412667489128562690', 'wf_ops_urge', '催办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562701', '1412667489128562690', 'wf_ops_active', '激活', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562702', '1412667489128562690', 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562703', '1412667489128562690', 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562704', '1412667489128562690', 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562705', '1412667489128562690', 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562706', '1412667489128562690', 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562800', '1412666776159797249', 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/pages/ops/done', 'ant-design:safety-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/ops/done', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562801', '1412666776159797249', 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/pages/ops/list', 'ant-design:unordered-list-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/ops/list', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562802', '1412667489128562801', 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638534', '1412666776159797249', 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/pages/ops/proxy', 'ant-design:send-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/ops/proxy', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638535', '1513394358223638534', 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638536', '1513394358223638534', 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638537', '1513394358223638534', 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638538', '1513394358223638534', 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682182', '1164733399669963301', 'wf_demo', '业务示例', 'menu', '/plugin/workflow/pages/demo', 'ant-design:fund-view-outlined', '4', '1', '0', '1', '/plugin/workflow/pages/demo', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682183', '1513683238709682182', 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/pages/demo/leave/index', 'ant-design:pushpin-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/demo/leave/index', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682184', '1513683238709682182', 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, '4', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682185', '1164733399669963301', 'statistics', '流程统计', 'menu', '/plugin/workflow/pages/statistics', 'ant-design:fund-projection-screen-outlined', '4', '1', '0', '1', '/plugin/workflow/pages/statistics', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682186', '1513683238709682185', 'wf_statistics', '总览', 'menu', '/plugin/workflow/pages/statistics/index', 'iconfont iconicon_subordinate', '4', '1', '0', '1', '/plugin/workflow/pages/statistics/index', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/dm/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/dm/saber3_menu.sql new file mode 100644 index 0000000..777712c --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/dm/saber3_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1164733399669963301', '0', 'workflow', '协同办公', 'menu', '/plugin/workflow', 'iconfont iconicon_send', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347061240995815426', '1164733399669963301', 'wf_design', '流程设计', 'menu', '/plugin/workflow/pages/design', 'iconfont iconicon_work', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347061240995815427', '1347061240995815426', 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/pages/design/model', 'iconfont iconicon_discovery', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590658', '1347061240995815427', 'wf_design_model_add', '新增', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590659', '1347061240995815427', 'wf_design_model_edit', '修改', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590660', '1347061240995815427', 'wf_design_model_delete', '删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590661', '1347061240995815427', 'wf_design_model_view', '查看', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590662', '1347061240995815427', 'wf_design_model_history', '历史', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590663', '1347061240995815427', 'wf_design_model_history_view', '历史-预览', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590664', '1347061240995815427', 'wf_design_model_history_delete', '历史-删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590665', '1347061240995815427', 'wf_design_model_history_main', '历史-主版本', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590666', '1347061240995815427', 'wf_design_model_design', '设计', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590667', '1347061240995815427', 'wf_design_model_deploy', '部署', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590668', '1347061240995815427', 'wf_design_model_scope', '权限', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590669', '1347061240995815427', 'wf_design_model_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590670', '1347061240995815427', 'wf_design_model_copy', '拷贝', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590671', '1347061240995815427', 'wf_design_model_icon', '图标', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826049', '1347061240995815426', 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/pages/design/form', 'iconfont icon-biaodan', '2', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826050', '1347083757101826049', 'wf_design_form_add', '新增', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826051', '1347083757101826049', 'wf_design_form_edit', '修改', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826052', '1347083757101826049', 'wf_design_form_delete', '删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826053', '1347083757101826049', 'wf_design_form_view', '查看', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826054', '1347083757101826049', 'wf_design_form_design', '设计', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826055', '1347083757101826049', 'wf_design_form_copy', '拷贝', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826056', '1347083757101826049', 'wf_design_form_history', '历史', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826057', '1347083757101826049', 'wf_design_form_history_view', '历史-预览', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826058', '1347083757101826049', 'wf_design_form_history_delete', '历史-删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826059', '1347083757101826049', 'wf_design_form_history_main', '历史-主版本', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826060', '1347083757101826049', 'wf_design_form_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113282', '1347061240995815426', 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/pages/design/deployment', 'iconfont iconicon_cloud_history', '3', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113283', '1347095124710113282', 'wf_design_deployment_status', '修改状态', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113284', '1347095124710113282', 'wf_design_deployment_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113285', '1347095124710113282', 'wf_design_deployment_delete', '删除部署', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114284', '1164733399669963301', 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'iconfont iconicon_notice', '2', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114285', '1347095124710114284', 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/pages/process/start', 'iconfont iconicon_compile', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114286', '1347095124710114285', 'wf_process_start_flow', '发起', 'flow', NULL, 'flow', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114287', '1347095124710114285', 'wf_process_start_image', '流程图', 'image', NULL, 'image', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114288', '1347095124710114284', 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/pages/process/claim', 'iconfont iconicon_ding', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114289', '1347095124710114288', 'wf_process_claim_sign', '签收', 'sign', NULL, 'sign', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114290', '1347095124710114288', 'wf_process_claim_detail', '详情', 'detail', NULL, 'detail', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114291', '1347095124710114288', 'wf_process_claim_follow', '跟踪', 'follow', NULL, 'follow', '3', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114292', '1347095124710114284', 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/pages/process/todo', 'iconfont iconicon_savememo', '2', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114293', '1347095124710114292', 'wf_process_todo_handle', '办理', 'handle', NULL, 'handle', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114294', '1347095124710114292', 'wf_process_todo_detail', '详情', 'detail', NULL, 'detail', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114295', '1347095124710114292', 'wf_process_todo_follow', '跟踪', 'follow', NULL, 'follow', '3', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114296', '1347095124710114284', 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/pages/process/send', 'iconfont iconicon_doc', '3', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114297', '1347095124710114296', 'wf_process_send_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114298', '1347095124710114296', 'wf_process_send_follow', '跟踪', 'follow', NULL, 'follow', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114299', '1347095124710114284', 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/pages/process/done', 'iconfont iconicon_dispose', '4', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114300', '1347095124710114299', 'wf_process_done_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114301', '1347095124710114299', 'wf_process_done_follow', '跟踪', 'follow', NULL, 'follow', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114302', '1347095124710114284', 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/pages/process/my-done', 'iconfont iconicon_dispose', '3', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114303', '1347095124710114302', 'wf_process_my_done_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114304', '1347095124710114302', 'wf_process_my_done_follow', '跟踪', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114305', '1347095124710114284', 'wf_process_draft', '草稿箱', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114306', '1347095124710114284', 'wf_process_withdraw', '撤销', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114307', '1347095124710114292', 'wf_process_todo_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114308', '1347095124710114296', 'wf_process_send_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114309', '1347095124710114299', 'wf_process_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114310', '1347095124710114302', 'wf_process_my_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114311', '1347095124710114288', 'wf_process_claim_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434310', '1347061240995815426', 'wf_button', '流程按钮', 'menu', '/plugin/workflow/pages/design/button', 'iconfont iconicon_setting', '4', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434311', '1394106647182434310', 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434312', '1394106647182434310', 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434313', '1394106647182434310', 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434314', '1394106647182434310', 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149511', '1347061240995815426', 'wf_category', '流程分类', 'menu', '/plugin/workflow/pages/design/category', 'iconfont iconicon_work', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149512', '1394106647392149511', 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149513', '1394106647392149511', 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149514', '1394106647392149511', 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149515', '1394106647392149511', 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206087', '1347095124710114284', 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/pages/process/copy', 'iconfont iconicon_send', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206088', '1394657590156206087', 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206089', '1394657590156206087', 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206090', '1394657590156206087', 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206091', '1394657590156206087', 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518919', '1347061240995815426', 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/pages/design/form-default-values', 'iconfont iconicon_compile', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518920', '1399260774324518919', 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518921', '1399260774324518919', 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518922', '1399260774324518919', 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518923', '1399260774324518919', 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518924', '1399260774324518919', 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518925', '1347061240995815426', 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'iconfont icon-wxbgongju', '6', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518926', '1399260774324518925', 'wf_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518927', '1399260774324518925', 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518928', '1399260774324518925', 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518929', '1399260774324518925', 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984966', '1347061240995815426', 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/pages/design/condition', 'iconfont iconicon_task', '6', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984967', '1408263948050984966', 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984968', '1408263948050984966', 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984969', '1408263948050984966', 'wf_condition_delete', '删除', 'delete', '/plugin/workflow/design/condition/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984970', '1408263948050984966', 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'iconfont iconicon_details', '7', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412666776159797249', '1164733399669963301', 'wf_ops', '流程运维', 'menu', '/plugin/workflow/pages/ops', 'iconfont iconicon_cspace', '3', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562690', '1412666776159797249', 'wf_ops_index', '运维调度', 'menu', '/plugin/workflow/pages/ops/index', 'iconfont iconicon_exchange', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562691', '1412667489128562690', 'wf_ops_detail', '详情', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562692', '1412667489128562690', 'wf_ops_follow', '流程图', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562693', '1412667489128562690', 'wf_ops_reject', '驳回', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562694', '1412667489128562690', 'wf_ops_pass', '通过', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562695', '1412667489128562690', 'wf_ops_transfer', '转办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562696', '1412667489128562690', 'wf_ops_delegate', '委托', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562697', '1412667489128562690', 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562698', '1412667489128562690', 'wf_ops_terminate', '终止', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562699', '1412667489128562690', 'wf_ops_copy', '抄送', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562700', '1412667489128562690', 'wf_ops_urge', '催办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562701', '1412667489128562690', 'wf_ops_active', '激活', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562702', '1412667489128562690', 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562703', '1412667489128562690', 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562704', '1412667489128562690', 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562705', '1412667489128562690', 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562706', '1412667489128562690', 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562800', '1412666776159797249', 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/pages/ops/done', 'iconfont iconicon_safety', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562801', '1412666776159797249', 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/pages/ops/list', 'iconfont iconicon_safety', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562802', '1412667489128562801', 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638534', '1412666776159797249', 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/pages/ops/proxy', 'iconfont iconicon_send', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638535', '1513394358223638534', 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638536', '1513394358223638534', 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638537', '1513394358223638534', 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638538', '1513394358223638534', 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682182', '1164733399669963301', 'wf_demo', '业务示例', 'menu', '/plugin/workflow/pages/demo', 'iconfont iconicon_cspace', '4', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682183', '1513683238709682182', 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/pages/demo/leave/index', 'iconfont iconicon_task', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682184', '1513683238709682182', 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, '4', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682185', '1164733399669963301', 'statistics', '流程统计', 'menu', '/plugin/workflow/pages/statistics', 'iconfont iconicon_airplay', '4', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682186', '1513683238709682185', 'wf_statistics', '总览', 'menu', '/plugin/workflow/pages/statistics/index', 'iconfont iconicon_subordinate', '4', '1', '0', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/mysql/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/mysql/bladex_workflow.sql new file mode 100644 index 0000000..4e2d7df --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/mysql/bladex_workflow.sql @@ -0,0 +1,610 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_DE_MODEL`; +CREATE TABLE `ACT_DE_MODEL` ( + `id` varchar(255) NOT NULL, + `name` varchar(400) NOT NULL COMMENT '名称', + `model_key` varchar(400) NOT NULL COMMENT '模型标识', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单标识', + `category_id` bigint(64) DEFAULT NULL COMMENT '分类id', + `description` varchar(4000) DEFAULT NULL COMMENT '描述', + `model_comment` varchar(4000) DEFAULT NULL COMMENT '评论', + `created` datetime(6) DEFAULT NULL COMMENT '创建时间', + `created_by` varchar(255) DEFAULT NULL COMMENT '创建人', + `last_updated` datetime(6) DEFAULT NULL COMMENT '最后更新时间', + `last_updated_by` varchar(255) DEFAULT NULL COMMENT '最后更新人', + `version` int(11) DEFAULT NULL COMMENT '版本', + `model_xml` longtext COMMENT '模型XML', + `model_editor_json` longtext COMMENT 'flowable-ui编辑器json', + `thumbnail` longblob COMMENT '缩略图', + `model_type` int(11) DEFAULT NULL COMMENT '类型', + `tenant_id` varchar(255) DEFAULT NULL COMMENT '租户id', + `icon` varchar(255) DEFAULT NULL COMMENT '图标', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `WF_IDX_MODEL_KEY` (`model_key`,`tenant_id`), + KEY `idx_proc_mod_created` (`created_by`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程 - 定义 - 模型'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL +-- ---------------------------- +BEGIN; +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`, `icon`) VALUES ('0676f2277420b7dc67f69dd3a0ec1164', '请假流程 - 外置表单', 'ex-leave', 'wf_ex_Leave', 1642162799092207618, NULL, NULL, '2021-06-08 08:40:51.901000', '1123598821738675201', '2023-07-18 15:15:32.539000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1itpbiu\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1itpbiu\n Flow_0eeuztq\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0eeuztq\n Flow_1vu0qon\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1vu0qon\n Flow_1d63z9m\n \n \n \n Flow_1d63z9m\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', NULL, NULL, 0, '000000', NULL); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`, `icon`) VALUES ('2f6b3b6de24354bb5df5aad3a87789af', '请假流程', 'leave', 'leave', 1642162799092207618, NULL, NULL, '2021-06-01 22:14:07.363000', '1123598821738675201', '2025-01-15 15:02:36.380000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0myeljb\n Flow_0bz2pj7\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0bz2pj7\n Flow_1pf3fia\n \n \n \n Flow_1pf3fia\n Flow_0of3zct\n Flow_139q6po\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0of3zct\n Flow_1dmv86y\n \n \n ${days<5}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_139q6po\n Flow_1bugorc\n \n \n ${days>=5}\n \n \n Flow_1dmv86y\n Flow_1bugorc\n Flow_0vtl8w4\n \n \n \n \n Flow_0vtl8w4\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n', NULL, NULL, 0, '000000', NULL); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`, `icon`) VALUES ('5b7a367e1139f1ab5cb1e6210685fa91', '多实例示例', 'demo-multi-instance', 'demo-test', 1642162799092207618, NULL, NULL, '2021-06-25 20:35:27.522000', '1123598821738675201', '2021-06-25 21:12:43.852000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n Flow_1i5g9nh\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1i5g9nh\n Flow_15l5hak\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_15l5hak\n Flow_0afq5tt\n \n ${nrOfCompletedInstances/nrOfInstances >= 0.5}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0afq5tt\n Flow_0dera7k\n \n ${nrOfCompletedInstances/nrOfInstances >= 1}\n \n \n \n \n Flow_0dera7k\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', NULL, NULL, 0, '000000', NULL); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`, `icon`) VALUES ('617167d80b6051708484bbedfb72a137', '人员/流转调用自定义方法示例', 'demo-custom-method', 'demo-test', 1642162799092207618, NULL, NULL, '2021-11-29 09:42:20.068000', '1123598821738675201', '2021-12-01 19:18:18.463000', '1123598821738675201', 1, '\n\n \n 人员/流转调用自定义方法示例\n \n \n \n \n Flow_0yhobgw\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0yhobgw\n Flow_1t6zwdf\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1t6zwdf\n Flow_0kxxs74\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kxxs74\n Flow_01h467o\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0kdt4xu\n Flow_1x5wxzy\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0jw1ae2\n Flow_00r5t9o\n \n \n Flow_1fun2ye\n \n \n Flow_01h467o\n Flow_0kdt4xu\n Flow_0jw1ae2\n \n \n \n ${wfCustomUserHandler.condition(execution, \'对\')}\n \n \n ${wfCustomUserHandler.condition(execution, \'错\')}\n \n \n Flow_1x5wxzy\n Flow_00r5t9o\n Flow_1fun2ye\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', NULL, NULL, 0, '000000', NULL); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`, `icon`) VALUES ('d71049b6ba4eda39cacf9baf984274ac', '节点独立表单示例', 'demo-indep-form', 'wf_indep_default-value', 1642162799092207618, NULL, NULL, '2021-10-11 21:32:41.567000', '1123598821738675201', '2023-04-01 21:53:04.657000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0u2w7hr\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0u2w7hr\n Flow_1gfy6oq\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_1gfy6oq\n Flow_016wlba\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_016wlba\n Flow_1omx17n\n \n \n \n Flow_1omx17n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', NULL, NULL, 0, '000000', NULL); +INSERT INTO `ACT_DE_MODEL` (`id`, `name`, `model_key`, `form_key`, `category_id`, `description`, `model_comment`, `created`, `created_by`, `last_updated`, `last_updated_by`, `version`, `model_xml`, `model_editor_json`, `thumbnail`, `model_type`, `tenant_id`, `icon`) VALUES ('fb4c1a6a8c4588779a2519a547966846', '表单默认值示例', 'demo-default-values', 'default-value', 1642162799092207618, NULL, NULL, '2021-05-31 21:39:46.545000', '1123598821738675201', '2023-04-01 21:53:15.684000', '1123598821738675201', 1, '\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0c932wc\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0c932wc\n Flow_042y9oy\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_042y9oy\n Flow_0c47aum\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Flow_0c47aum\n Flow_1ehhsly\n \n \n \n Flow_1ehhsly\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n', NULL, NULL, 0, '000000', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL_HISTORY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_DE_MODEL_HISTORY`; +CREATE TABLE `ACT_DE_MODEL_HISTORY` ( + `id` varchar(255) NOT NULL, + `name` varchar(400) NOT NULL COMMENT '名称', + `model_key` varchar(400) NOT NULL COMMENT '模型标识', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单标识', + `category_id` bigint(64) DEFAULT NULL COMMENT '分类id', + `description` varchar(4000) DEFAULT NULL COMMENT '描述', + `model_comment` varchar(4000) DEFAULT NULL COMMENT '注释', + `created` datetime(6) DEFAULT NULL COMMENT '创建时间', + `created_by` varchar(255) DEFAULT NULL COMMENT '创建人', + `last_updated` datetime(6) DEFAULT NULL COMMENT '最后更新时间', + `last_updated_by` varchar(255) DEFAULT NULL COMMENT '最后更新人', + `removal_date` datetime(6) DEFAULT NULL COMMENT '移除时间', + `version` int(11) DEFAULT NULL COMMENT '版本', + `model_xml` longtext COMMENT '模型XML', + `model_editor_json` longtext COMMENT 'flowable-ui编辑器json', + `model_id` varchar(255) NOT NULL COMMENT 'modelId', + `model_type` int(11) DEFAULT NULL COMMENT '类型', + `tenant_id` varchar(255) DEFAULT NULL COMMENT '租户id', + `icon` varchar(255) DEFAULT NULL COMMENT '图标', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_proc_mod_history_proc` (`model_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程 - 定义 - 模型历史'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL_HISTORY +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_chat_app +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_chat_app`; +CREATE TABLE `blade_wf_chat_app` ( + `id` bigint NOT NULL COMMENT 'ID', + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `img_url` varchar(255) DEFAULT NULL COMMENT '图片', + `api_url` varchar(255) DEFAULT NULL COMMENT '应用请求地址', + `api_key` varchar(255) DEFAULT NULL COMMENT '应用请求密钥', + `api_url_prod` varchar(255) DEFAULT NULL COMMENT 'prod应用请求地址', + `api_key_prod` varchar(255) DEFAULT NULL COMMENT 'prod应用请求密钥', + `type` varchar(255) DEFAULT NULL COMMENT '类型 workflow工作流 chatflow对话工作流 chat对话 agent智能体 completion文本生成应用', + `iframe_url` varchar(255) DEFAULT NULL COMMENT 'iframe地址', + `iframe_url_prod` varchar(255) DEFAULT NULL COMMENT 'prod iframe地址', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + `create_user` bigint DEFAULT NULL COMMENT '创建人', + `create_dept` bigint DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int DEFAULT '1' COMMENT '状态', + `is_deleted` int DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='dify - 应用'; + +-- ---------------------------- +-- Table structure for blade_wf_chat_assistant +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_chat_assistant`; +CREATE TABLE `blade_wf_chat_assistant` ( + `id` bigint NOT NULL COMMENT 'ID', + `app_id` bigint DEFAULT NULL COMMENT '应用id', + `app_type` varchar(255) DEFAULT NULL COMMENT '应用类型', + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `img_url` varchar(255) DEFAULT NULL COMMENT '图片', + `description` varchar(255) DEFAULT NULL COMMENT '描述', + `system_prompt` varchar(255) DEFAULT NULL COMMENT '系统提示词', + `type` varchar(255) DEFAULT NULL COMMENT '类型', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + `create_user` bigint DEFAULT NULL COMMENT '创建人', + `create_dept` bigint DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int DEFAULT '1' COMMENT '状态', + `is_deleted` int DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`), + KEY `WF_IDX_APP_ID` (`app_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='dify - 应用助手'; + +-- ---------------------------- +-- Table structure for blade_wf_button +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_button`; +CREATE TABLE `blade_wf_button` ( + `id` bigint(64) NOT NULL, + `button_key` varchar(255) DEFAULT NULL COMMENT '按钮key', + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `display` tinyint(1) DEFAULT NULL COMMENT '默认是否显示', + `sort` int(11) DEFAULT NULL COMMENT '排序', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程按钮'; + +-- ---------------------------- +-- Records of blade_wf_button +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394176899911041025, 'wf_pass', '通过', 1, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 14:24:10', 1123598821738675201, '2021-05-16 14:24:10', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394177198465794050, 'wf_reject', '驳回', 1, 2, 1123598821738675201, 1123598813738675201, '2021-05-16 14:25:21', 1123598821738675201, '2021-05-16 14:25:21', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394179125421326337, 'wf_print', '打印', 1, 3, 1123598821738675201, 1123598813738675201, '2021-05-16 14:33:01', 1123598821738675201, '2021-05-16 14:33:01', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394609969089761281, 'wf_transfer', '转办', 1, 4, 1123598821738675201, 1123598813738675201, '2021-05-16 19:05:02', 1123598821738675201, '2021-05-16 19:05:02', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394610036672581634, 'wf_delegate', '委托', 1, 5, 1123598821738675201, 1123598813738675201, '2021-05-16 19:05:18', 1123598821738675201, '2021-05-16 19:05:18', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1395271519601426433, 'wf_terminate', '终止', 1, 6, 1123598821738675201, 1123598813738675201, '2021-05-20 14:53:48', 1123598821738675201, '2021-05-20 14:53:48', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1395274709692579841, 'wf_add_instance', '加签', 1, 7, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:28', 1123598821738675201, '2021-05-20 15:06:28', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1395274774674931713, 'wf_del_instance', '减签', 1, 8, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:44', 1123598821738675201, '2021-05-20 15:06:44', '1', 0, '000000'); +INSERT INTO `blade_wf_button` (`id`, `button_key`, `name`, `display`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1395274955986305025, 'wf_rollback', '指定回退', 1, 9, 1123598821738675201, 1123598813738675201, '2021-05-20 15:07:27', 1123598821738675201, '2021-05-20 15:07:27', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_category +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_category`; +CREATE TABLE `blade_wf_category` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '分类名称', + `pid` bigint(64) DEFAULT '0' COMMENT '上级id', + `sort` int(11) DEFAULT NULL COMMENT '排序', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程分类'; + +-- ---------------------------- +-- Records of blade_wf_category +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_category` (`id`, `name`, `pid`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394133715940073474, '请假流程', 0, 2, 1123598821738675201, 1123598813738675201, '2021-05-16 11:32:34', 1123598821738675201, '2023-04-01 21:51:42', '1', 0, '000000'); +INSERT INTO `blade_wf_category` (`id`, `name`, `pid`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394158934813609986, '财务流程', 0, 3, 1123598821738675201, 1123598813738675201, '2021-05-16 13:12:47', 1123598821738675201, '2023-04-01 21:51:49', '1', 0, '000000'); +INSERT INTO `blade_wf_category` (`id`, `name`, `pid`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1394159147934584833, '报销流程', 1394158934813609986, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 13:13:38', 1123598821738675201, '2021-05-16 13:13:38', '1', 0, '000000'); +INSERT INTO `blade_wf_category` (`id`, `name`, `pid`, `sort`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1642162799092207618, '示例流程', 0, 1, 1123598821738675201, 1123598813738675201, '2023-04-01 21:51:36', 1123598821738675201, '2023-04-01 21:51:36', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_condition +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_condition`; +CREATE TABLE `blade_wf_condition` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `expression` varchar(255) DEFAULT NULL COMMENT '表达式', + `type` varchar(255) DEFAULT NULL COMMENT '类型', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_EXPRESSION` (`expression`,`type`,`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表达式'; + +-- ---------------------------- +-- Records of blade_wf_condition +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_condition` (`id`, `name`, `expression`, `type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408267023015739393, '流程发起人', 'applyUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:17', 1123598821738675201, '2021-06-25 11:33:17', '1', 0, '000000'); +INSERT INTO `blade_wf_condition` (`id`, `name`, `expression`, `type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408267100878798850, '当前操作人', 'currentUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:36', 1123598821738675201, '2021-06-25 11:33:36', '1', 0, '000000'); +INSERT INTO `blade_wf_condition` (`id`, `name`, `expression`, `type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408305933398896641, '上级部门领导', 'leader', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 14:07:54', 1123598821738675201, '2021-06-25 14:07:54', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_copy +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_copy`; +CREATE TABLE `blade_wf_copy` ( + `id` bigint(64) NOT NULL, + `user_id` bigint(64) DEFAULT NULL COMMENT '用户id', + `title` varchar(255) DEFAULT NULL COMMENT '标题', + `initiator` varchar(255) DEFAULT NULL COMMENT '发起者', + `task_id` varchar(255) DEFAULT NULL COMMENT '任务id', + `process_id` varchar(255) DEFAULT NULL COMMENT '流程实例id', + `deployment_id` varchar(255) DEFAULT NULL COMMENT '流程部署id', + `form_key` varchar(255) DEFAULT NULL COMMENT '外置表单key', + `form_url` varchar(255) DEFAULT NULL COMMENT '外置表单url', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程抄送'; + +-- ---------------------------- +-- Records of blade_wf_copy +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_deployment_form +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_deployment_form`; +CREATE TABLE `blade_wf_deployment_form` ( + `id` bigint(64) NOT NULL, + `deployment_id` varchar(255) DEFAULT NULL COMMENT '流程部署id', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单key', + `content` longtext COMMENT '表单内容', + `app_content` longtext COMMENT 'app表单内容', + `task_key` varchar(255) DEFAULT NULL COMMENT '节点key', + `task_name` varchar(255) DEFAULT NULL COMMENT '节点名称', + `table_name` varchar(255) DEFAULT NULL COMMENT '表名', + `table_comment` varchar(255) DEFAULT NULL COMMENT '表注释', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程部署 - 表单'; + +-- ---------------------------- +-- Records of blade_wf_deployment_form +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_draft +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_draft`; +CREATE TABLE `blade_wf_draft` ( + `id` bigint(64) NOT NULL, + `user_id` bigint(64) DEFAULT NULL COMMENT '用户id', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单key', + `process_def_id` varchar(255) DEFAULT NULL COMMENT '流程定义id', + `task_id` varchar(255) DEFAULT NULL COMMENT '任务id', + `variables` text COMMENT '表单变量', + `platform` varchar(255) DEFAULT NULL COMMENT '平台 pc/app', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_DRAFT_UNI` (`user_id`,`process_def_id`,`platform`) USING BTREE, + UNIQUE KEY `WF_IDX_DRAFT_UNI2` (`user_id`,`task_id`,`platform`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程草稿箱'; + +-- ---------------------------- +-- Records of blade_wf_draft +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form`; +CREATE TABLE `blade_wf_form` ( + `id` bigint(64) NOT NULL, + `form_key` varchar(255) DEFAULT NULL COMMENT '表单key', + `name` varchar(255) DEFAULT NULL COMMENT '表单名称', + `content` longtext COMMENT '表单内容', + `app_content` longtext COMMENT 'app表单内容', + `version` int(11) DEFAULT NULL COMMENT '版本', + `category_id` bigint(64) DEFAULT NULL COMMENT '分类id', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_FORM_KEY` (`form_key`,`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单'; + +-- ---------------------------- +-- Records of blade_wf_form +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399359377009377281, 'default-value', '测试默认值', '{column:[{type:\'input\',label:\'人事姓名\',span:24,display:true,prop:\'1622472547203_21841\',value:\'${this.$store.getters.userInfo.nick_name}\'},{type:\'input\',label:\'人事职位\',span:24,display:true,prop:\'1622553629767_65211\',value:\'${this.$store.getters.userInfo.post_name}\'},{type:\'input\',label:\'人事部门\',span:24,display:true,prop:\'1622472547375_86557\',value:\'${this.$store.getters.userInfo.dept_name}\'},{type:\'input\',label:\'当前日期\',span:24,display:true,prop:\'1622553629949_3168\',value:\'${this.dateFormat(new Date(),\\\"YYYY-MM-DD\\\")}\'},{type:\'input\',label:\'当前时间\',span:24,display:true,prop:\'1622553631752_15562\',value:\'${this.dateFormat(new Date(),\\\"HH:mm:ss\\\")}\'},{type:\'input\',label:\'人事姓名和日期\',span:24,display:true,prop:\'1622553691156_69886\',value:\'${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\\\"YYYY-MM-DD\\\")}\'},{type:\'input\',label:\'经理姓名\',span:24,display:true,prop:\'1622472547780_5707\',value:\'${this.$store.getters.userInfo.nick_name}\'},{type:\'input\',label:\'经理部门\',span:24,display:true,prop:\'1622472547975_90560\',value:\'${this.$store.getters.userInfo.dept_name}\'},{type:\'input\',label:\'老板姓名\',span:24,display:true,prop:\'1622472548372_60141\',value:\'${this.$store.getters.userInfo.nick_name}\'},{type:\'input\',label:\'老板部门\',span:24,display:true,prop:\'1622472548560_32474\',value:\'${this.$store.getters.userInfo.dept_name}\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"input\",\"label\":\"人事姓名\",\"span\":24,\"display\":true,\"prop\":\"1622472547203_21841\",\"value\":\"${this.$store.getters.userInfo.nick_name}\"},{\"type\":\"input\",\"label\":\"人事职位\",\"span\":24,\"display\":true,\"prop\":\"1622553629767_65211\",\"value\":\"${this.$store.getters.userInfo.post_name}\"},{\"type\":\"input\",\"label\":\"人事部门\",\"span\":24,\"display\":true,\"prop\":\"1622472547375_86557\",\"value\":\"${this.$store.getters.userInfo.dept_name}\"},{\"type\":\"input\",\"label\":\"当前日期\",\"span\":24,\"display\":true,\"prop\":\"1622553629949_3168\",\"value\":\"${this.dateFormat(new Date(),\\\"YYYY-MM-DD\\\")}\"},{\"type\":\"input\",\"label\":\"当前时间\",\"span\":24,\"display\":true,\"prop\":\"1622553631752_15562\",\"value\":\"${this.dateFormat(new Date(),\\\"HH:mm:ss\\\")}\"},{\"type\":\"input\",\"label\":\"人事姓名和日期\",\"span\":24,\"display\":true,\"prop\":\"1622553691156_69886\",\"value\":\"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\\\"YYYY-MM-DD\\\")}\"},{\"type\":\"input\",\"label\":\"经理姓名\",\"span\":24,\"display\":true,\"prop\":\"1622472547780_5707\",\"value\":\"${this.$store.getters.userInfo.nick_name}\"},{\"type\":\"input\",\"label\":\"经理部门\",\"span\":24,\"display\":true,\"prop\":\"1622472547975_90560\",\"value\":\"${this.$store.getters.userInfo.dept_name}\"},{\"type\":\"input\",\"label\":\"老板姓名\",\"span\":24,\"display\":true,\"prop\":\"1622472548372_60141\",\"value\":\"${this.$store.getters.userInfo.nick_name}\"},{\"type\":\"input\",\"label\":\"老板部门\",\"span\":24,\"display\":true,\"prop\":\"1622472548560_32474\",\"value\":\"${this.$store.getters.userInfo.dept_name}\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":140,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, 1642162799092207618, '', 1123598821738675201, 1123598813738675201, '2021-05-31 21:37:29', 1123598821738675201, '2023-04-01 21:58:47', 1, 0, '000000'); +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399729025840140290, 'leave', '请假流程表单', '{column:[{type:\'input\',label:\'创建人\',span:12,display:true,prop:\'creator\',value:\'${this.$store.getters.userInfo.nick_name}\',readonly:true},{type:\'input\',label:\'创建部门\',span:12,display:true,prop:\'creatorDept\',value:\'${this.$store.getters.userInfo.dept_name}\',readonly:true},{type:\'datetimerange\',label:\'请假时间\',span:12,display:true,format:\'YYYY-MM-DD HH:mm:ss\',valueFormat:\'YYYY-MM-DD HH:mm:ss\',prop:\'datetime\',required:true,rules:[{required:true,message:\'请假时间必须填写\'}],change:({value}) => {\r\n let days\r\n if (!value || value.length == 0) {\r\n days = undefined\r\n } else {\r\n const d1 = Date.parse(value.split(\',\')[0])\r\n const d2 = Date.parse(value.split(\',\')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n days = Number(day.toFixed(2))\r\n }\r\n this.form.days = days\r\n},dataType:\'string\'},{type:\'number\',label:\'请假天数\',span:12,display:true,prop:\'days\',required:true,rules:[{required:true,message:\'请假天数必须填写\'}],controls:true,controlsPosition:\'right\',change:({value}) => {\n let reason\n if (value) reason = \'请假\' + value + \'天\'\n else reason = \'\'\n this.form.reason = reason\n}},{type:\'textarea\',label:\'请假理由\',span:24,display:true,prop:\'reason\',required:true,rules:[{required:true,message:\'请假理由必须填写\'}]},{label:\'附件\',type:\'upload\',propsHttp:{res:\'data\',url:\'link\',name:\'originalName\'},action:\'/api/blade-resource/oss/endpoint/put-file\',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:\'attachment\',dataType:\'string\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"input\",\"label\":\"创建人\",\"span\":12,\"display\":true,\"prop\":\"creator\",\"value\":\"${this.$store.getters.userInfo.nick_name}\",\"readonly\":true},{\"type\":\"input\",\"label\":\"创建部门\",\"span\":12,\"display\":true,\"prop\":\"creatorDept\",\"value\":\"${this.$store.getters.userInfo.dept_name}\",\"readonly\":true},{\"type\":\"datetimerange\",\"label\":\"请假时间\",\"span\":12,\"display\":true,\"format\":\"YYYY-MM-DD HH:mm:ss\",\"valueFormat\":\"YYYY-MM-DD HH:mm:ss\",\"prop\":\"datetime\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假时间必须填写\"}],\"change\":\"({value}) => {\\r\\n let days\\r\\n if (!value || value.length == 0) {\\r\\n days = undefined\\r\\n } else {\\r\\n const d1 = Date.parse(value.split(\',\')[0])\\r\\n const d2 = Date.parse(value.split(\',\')[1])\\r\\n const day = (d2-d1)/(1*24*60*60*1000)\\r\\n days = Number(day.toFixed(2))\\r\\n }\\r\\n this.form.days = days\\r\\n}\",\"dataType\":\"string\"},{\"type\":\"number\",\"label\":\"请假天数\",\"span\":12,\"display\":true,\"prop\":\"days\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假天数必须填写\"}],\"controls\":true,\"controlsPosition\":\"right\",\"change\":\"({value}) => {\\n let reason\\n if (value) reason = \'请假\' + value + \'天\'\\n else reason = \'\'\\n this.form.reason = reason\\n}\"},{\"type\":\"textarea\",\"label\":\"请假理由\",\"span\":24,\"display\":true,\"prop\":\"reason\",\"required\":true,\"rules\":[{\"required\":true,\"message\":\"请假理由必须填写\"}]},{\"label\":\"附件\",\"type\":\"upload\",\"propsHttp\":{\"res\":\"data\",\"url\":\"link\",\"name\":\"originalName\"},\"action\":\"/api/blade-resource/oss/endpoint/put-file\",\"display\":true,\"span\":24,\"showFileList\":true,\"multiple\":true,\"limit\":10,\"prop\":\"attachment\",\"dataType\":\"string\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, 1642162799092207618, '', 1123598821738675201, 1123598813738675201, '2021-06-01 22:06:20', 1123598821738675201, '2023-04-09 18:03:17', 1, 0, '000000'); +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408402768310304770, 'demo-test', '测试简单表单', '{column:[{type:\'input\',label:\'单行文本\',span:24,display:true,prop:\'1624624365132_23209\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"input\",\"label\":\"单行文本\",\"span\":24,\"display\":true,\"prop\":\"1624624365132_23209\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, 1642162799092207618, '', 1123598821738675201, 1123598813738675201, '2021-06-25 20:32:41', 1123598821738675201, '2023-04-01 21:58:47', 1, 0, '000000'); +INSERT INTO `blade_wf_form` (`id`, `form_key`, `name`, `content`, `app_content`, `version`, `category_id`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1429672727182159874, 'field-linkage', '字段联动', '{column:[{type:\'switch\',label:\'控制显隐\',span:24,display:true,value:\'0\',dicData:[{label:\'\',value:\'0\'},{label:\'\',value:\'1\'}],prop:\'1629695558953_19833\',change:({value}) => {\r\n const input = this.findObject(this.option.column, \'input\')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}},{type:\'input\',label:\'单行文本\',span:24,display:true,prop:\'input\'},{type:\'select\',label:\'值改变\',dicData:[{label:\'一天\',value:\'1\'},{label:\'两天\',value:\'2\'},{label:\'三天\',value:\'3\'}],cascaderItem:[],span:24,display:true,props:{label:\'label\',value:\'value\'},prop:\'1629695859796_23456\',change:({value}) => {\r\n let text = value\r\n if(value) {\r\n text = \'请假 \' + value + \' 天\'\r\n }\r\n this.form.input2 = text\r\n}},{type:\'input\',label:\'单行文本\',span:24,display:true,prop:\'input2\'}],labelPosition:\'left\',labelSuffix:\':\',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:\'提交\',emptyBtn:true,emptyText:\'清空\',menuPosition:\'center\'}', '{\"column\":[{\"type\":\"switch\",\"label\":\"控制显隐\",\"span\":24,\"display\":true,\"value\":\"0\",\"dicData\":[{\"label\":\"\",\"value\":\"0\"},{\"label\":\"\",\"value\":\"1\"}],\"prop\":\"1629695558953_19833\",\"change\":\"({value}) => {\\r\\n const input = this.findObject(this.option.column, \'input\')\\r\\n if(value == 0) {\\r\\n input.display = false\\r\\n } else {\\r\\n input.display = true\\r\\n }\\r\\n}\"},{\"type\":\"input\",\"label\":\"单行文本\",\"span\":24,\"display\":true,\"prop\":\"input\"},{\"type\":\"select\",\"label\":\"值改变\",\"dicData\":[{\"label\":\"一天\",\"value\":\"1\"},{\"label\":\"两天\",\"value\":\"2\"},{\"label\":\"三天\",\"value\":\"3\"}],\"cascaderItem\":[],\"span\":24,\"display\":true,\"props\":{\"label\":\"label\",\"value\":\"value\"},\"prop\":\"1629695859796_23456\",\"change\":\"({value}) => {\\r\\n let text = value\\r\\n if(value) {\\r\\n text = \'请假 \' + value + \' 天\'\\r\\n }\\r\\n this.form.input2 = text\\r\\n}\"},{\"type\":\"input\",\"label\":\"单行文本\",\"span\":24,\"display\":true,\"prop\":\"input2\"}],\"labelPosition\":\"left\",\"labelSuffix\":\":\",\"labelWidth\":120,\"gutter\":0,\"menuBtn\":true,\"submitBtn\":true,\"submitText\":\"提交\",\"emptyBtn\":true,\"emptyText\":\"清空\",\"menuPosition\":\"center\"}', 1, 1642162799092207618, '字段联动示例', 1123598821738675201, 1123598813738675201, '2021-08-23 13:11:54', 1123598821738675201, '2023-04-01 21:58:47', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_default_values +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_default_values`; +CREATE TABLE `blade_wf_form_default_values` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `content` varchar(255) DEFAULT NULL COMMENT '内容', + `field_type` varchar(255) DEFAULT NULL COMMENT '字段类型', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单字段默认值'; + +-- ---------------------------- +-- Records of blade_wf_form_default_values +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399346112331087873, '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:44:46', 1123598821738675201, '2021-05-31 20:56:32', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399347906465595393, '当前操作人部门', '${this.$store.getters.userInfo.dept_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:51:54', 1123598821738675201, '2021-05-31 20:56:41', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399717069960855553, '当前日期', '${this.dateFormat(new Date(),\"YYYY-MM-DD\")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:18:50', 1123598821738675201, '2023-04-01 21:44:30', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399717187904684034, '当前操作人职位', '${this.$store.getters.userInfo.post_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:18', 1123598821738675201, '2021-06-01 21:19:18', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399717285564858369, '当前时间', '${this.dateFormat(new Date(),\"HH:mm:ss\")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:41', 1123598821738675201, '2023-04-01 17:27:03', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1399718803940655106, '当前操作人姓名和日期', '${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"YYYY-MM-DD\")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:25:43', 1123598821738675201, '2023-04-01 21:46:20', '1', 0, '000000'); +INSERT INTO `blade_wf_form_default_values` (`id`, `name`, `content`, `field_type`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1408401952027443201, '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-25 20:29:27', 1123598821738675201, '2021-06-25 20:29:32', '1', 1, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_history +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_history`; +CREATE TABLE `blade_wf_form_history` ( + `id` bigint(64) NOT NULL, + `form_id` bigint(64) DEFAULT NULL COMMENT '表单id', + `form_key` varchar(255) DEFAULT NULL COMMENT '表单key', + `name` varchar(255) DEFAULT NULL COMMENT '表单名称', + `content` longtext COMMENT '表单内容', + `app_content` longtext COMMENT 'app表单内容', + `version` int(11) DEFAULT NULL COMMENT '版本', + `category_id` bigint(64) DEFAULT NULL COMMENT '分类id', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单'; + +-- ---------------------------- +-- Records of blade_wf_form_history +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_theme`; +CREATE TABLE `blade_wf_form_theme` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) NOT NULL COMMENT '名称', + `theme_key` varchar(255) NOT NULL COMMENT '主题key', + `border_width` varchar(255) DEFAULT NULL COMMENT '边框宽度', + `border_color` varchar(255) DEFAULT NULL COMMENT '边框颜色', + `label_color` varchar(255) DEFAULT NULL COMMENT 'label字体颜色', + `label_bg` varchar(255) DEFAULT NULL COMMENT 'label背景颜色', + `label_width` varchar(255) DEFAULT NULL COMMENT 'label宽度', + `label_font_size` varchar(255) DEFAULT NULL COMMENT 'label字体大小', + `value_color` varchar(255) DEFAULT NULL COMMENT 'value字体颜色', + `value_bg` varchar(255) DEFAULT NULL COMMENT 'value背景颜色', + `value_font_size` varchar(255) DEFAULT NULL COMMENT 'value字体大小', + `field0` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field1` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field2` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field3` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field4` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field5` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field6` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field7` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field8` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field9` varchar(255) DEFAULT NULL COMMENT '预留字段', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `WF_IDX_THEME_KEY` (`theme_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单 - 主题'; + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1, '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', '', '14px', '', '', '14px', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:36:46', 1123598821738675201, '2023-05-04 10:43:18', 1, 0, '000000'); +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2, '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:16:47', 1123598821738675201, '2023-04-18 11:50:10', 1, 0, '000000'); +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (3, '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598821738675201, '2023-04-04 16:57:35', 1123598821738675201, '2023-05-04 10:43:44', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_variable`; +CREATE TABLE `blade_wf_form_variable` ( + `id` bigint(64) NOT NULL, + `process_ins_id` varchar(255) DEFAULT NULL COMMENT '流程实例id', + `deployment_id` varchar(255) DEFAULT NULL COMMENT '流程部署id', + `task_id` varchar(255) DEFAULT NULL COMMENT '任务id', + `task_def_key` varchar(255) DEFAULT NULL COMMENT '任务节点key', + `task_name` varchar(255) DEFAULT NULL COMMENT '任务节点名称', + `form_option` longtext COMMENT '表单js', + `form_variable` longtext COMMENT '表单值', + `status` varchar(255) DEFAULT NULL COMMENT '状态', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单 - 历史变量'; + +-- ---------------------------- +-- Records of blade_wf_form_variable +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_listener`; +CREATE TABLE `blade_wf_listener` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `category` varchar(255) DEFAULT NULL COMMENT '分类', + `event` varchar(255) DEFAULT NULL COMMENT '事件', + `type` varchar(255) DEFAULT NULL COMMENT '监听类型', + `val` varchar(255) DEFAULT NULL COMMENT '值', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务/执行监听器'; + +-- ---------------------------- +-- Table structure for blade_wf_model_scope +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_model_scope`; +CREATE TABLE `blade_wf_model_scope` ( + `id` bigint(64) NOT NULL, + `model_id` varchar(255) DEFAULT NULL COMMENT '模型id', + `model_key` varchar(255) DEFAULT NULL COMMENT '模型key', + `type` varchar(255) DEFAULT NULL COMMENT '类型 user用户 role角色 dept部门 post职位', + `val` varchar(255) DEFAULT NULL COMMENT '用户/角色/部门/职位 id集合', + `text` varchar(255) DEFAULT NULL COMMENT '用户/角色/部门/职位 name集合', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程模型权限'; + +-- ---------------------------- +-- Records of blade_wf_model_scope +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1418457955400978434, '0676f2277420b7dc67f69dd3a0ec1164', 'ex-leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1418457988913467393, '5b7a367e1139f1ab5cb1e6210685fa91', 'demo-multi-instance', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1418458020752429058, 'fb4c1a6a8c4588779a2519a547966846', 'test-default-values', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1429675430591442946, '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1447556025547763714, 'd71049b6ba4eda39cacf9baf984274ac', 'indep-form', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1497075507278168066, '617167d80b6051708484bbedfb72a137', 'demo-custom-method', 'user', '1123598821738675201', '管理员'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1497075622621528065, '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO `blade_wf_model_scope` (`id`, `model_id`, `model_key`, `type`, `val`, `text`) VALUES (1497075622625722369, '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'platform', 'h5,mp-wx,ios,android', '移动端H5,微信小程序,IOS,安卓'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_process_leave +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_process_leave`; +CREATE TABLE `blade_wf_process_leave` ( + `id` bigint(64) NOT NULL, + `process_ins_id` varchar(64) DEFAULT NULL COMMENT '流程实例id', + `process_def_id` varchar(64) DEFAULT NULL COMMENT '流程定义id', + `current_node` varchar(64) DEFAULT NULL COMMENT '当前节点', + `datetime` varchar(64) DEFAULT NULL COMMENT '时间范围', + `days` int(11) DEFAULT NULL COMMENT '请假天数', + `reason` text COMMENT '请假理由', + `attachment` text COMMENT '附件', + `create_user` bigint(20) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(2) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT NULL COMMENT '是否已删除', + `form_key` varchar(255) DEFAULT NULL COMMENT '外置表单key', + `form_url` varchar(255) DEFAULT NULL COMMENT '外置表单url', + PRIMARY KEY (`id`,`create_time`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='请假流程业务示例'; + +-- ---------------------------- +-- Table structure for blade_wf_proxy +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_proxy`; +CREATE TABLE `blade_wf_proxy` ( + `id` bigint(64) NOT NULL, + `user_id` bigint(64) DEFAULT NULL COMMENT '委托人', + `proxy_user_id` bigint(64) DEFAULT NULL COMMENT '代理人', + `process_def_key` varchar(750) DEFAULT NULL COMMENT '流程定义key', + `type` varchar(255) DEFAULT NULL COMMENT '1永久 2定时', + `start_time` datetime DEFAULT NULL COMMENT '开始时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `status` int(2) DEFAULT NULL COMMENT '状态', + PRIMARY KEY (`id`), + UNIQUE KEY `WF_IDX_UNI_PROXY` (`user_id`,`process_def_key`) USING BTREE, + KEY `WF_IDX_USER_ID` (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程代理'; + +-- ---------------------------- +-- Table structure for blade_wf_serial +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_serial`; +CREATE TABLE `blade_wf_serial` ( + `id` bigint(64) NOT NULL, + `deployment_id` varchar(255) DEFAULT NULL COMMENT '部署id', + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `prefix` varchar(255) DEFAULT NULL COMMENT '前缀', + `date_format` varchar(255) DEFAULT NULL COMMENT '日期格式化', + `suffix_length` int(11) DEFAULT NULL COMMENT '后缀位数', + `start_sequence` int(11) DEFAULT NULL COMMENT '初始数值', + `connector` varchar(255) DEFAULT NULL COMMENT '连接符', + `current_sequence` int(11) DEFAULT NULL COMMENT '当前序列', + `cycle` varchar(255) DEFAULT NULL COMMENT '重置周期 none不重置 day天 week周 month月 year年', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` varchar(255) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uni` (`deployment_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程流水号'; + +-- ---------------------------- +-- Records of blade_wf_serial +-- ---------------------------- +BEGIN; +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/mysql/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/mysql/lemon_menu.sql new file mode 100644 index 0000000..b15642a --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/mysql/lemon_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1164733399669963301, 0, 'workflow', '协同办公', 'menu', '/plugin/workflow', 'ant-design:apartment-outlined', 5, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347061240995815426, 1164733399669963301, 'wf_design', '流程设计', 'menu', '/plugin/workflow/pages/design', 'ant-design:appstore-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/design', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347061240995815427, 1347061240995815426, 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/pages/design/model', 'ant-design:bulb-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/design/model', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590658, 1347061240995815427, 'wf_design_model_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590659, 1347061240995815427, 'wf_design_model_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590660, 1347061240995815427, 'wf_design_model_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590661, 1347061240995815427, 'wf_design_model_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590662, 1347061240995815427, 'wf_design_model_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590663, 1347061240995815427, 'wf_design_model_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590664, 1347061240995815427, 'wf_design_model_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590665, 1347061240995815427, 'wf_design_model_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590666, 1347061240995815427, 'wf_design_model_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590667, 1347061240995815427, 'wf_design_model_deploy', '部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590668, 1347061240995815427, 'wf_design_model_scope', '权限', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590669, 1347061240995815427, 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590670, 1347061240995815427, 'wf_design_model_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590671, 1347061240995815427, 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826049, 1347061240995815426, 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/pages/design/form', 'ant-design:edit-outlined', 2, 1, 0, 1, '/plugin/workflow/pages/design/form', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826050, 1347083757101826049, 'wf_design_form_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826051, 1347083757101826049, 'wf_design_form_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826052, 1347083757101826049, 'wf_design_form_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826053, 1347083757101826049, 'wf_design_form_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826054, 1347083757101826049, 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826055, 1347083757101826049, 'wf_design_form_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826056, 1347083757101826049, 'wf_design_form_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826057, 1347083757101826049, 'wf_design_form_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826058, 1347083757101826049, 'wf_design_form_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826059, 1347083757101826049, 'wf_design_form_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826060, 1347083757101826049, 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710113282, 1347061240995815426, 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/pages/design/deployment', 'ant-design:cloud-server-outlined', 3, 1, 0, 1, '/plugin/workflow/pages/design/deployment', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710113283, 1347095124710113282, 'wf_design_deployment_status', '修改状态', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710113284, 1347095124710113282, 'wf_design_deployment_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710113285, 1347095124710113282, 'wf_design_deployment_delete', '删除部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114284, 1164733399669963301, 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'ant-design:bell-outlined', 2, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114285, 1347095124710114284, 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/pages/process/start', 'ant-design:file-exclamation-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/process/start', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114286, 1347095124710114285, 'wf_process_start_flow', '发起', 'flow', '', 'flow', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114287, 1347095124710114285, 'wf_process_start_image', '流程图', 'image', '', 'image', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114288, 1347095124710114284, 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/pages/process/claim', 'ant-design:pushpin-outlined', 5, 1, 0, 1, '/plugin/workflow/pages/process/claim', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114289, 1347095124710114288, 'wf_process_claim_sign', '签收', 'sign', '', 'sign', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114290, 1347095124710114288, 'wf_process_claim_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114291, 1347095124710114288, 'wf_process_claim_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114292, 1347095124710114284, 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/pages/process/todo', 'ant-design:file-exclamation-outlined', 2, 1, 0, 1, '/plugin/workflow/pages/process/todo', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114293, 1347095124710114292, 'wf_process_todo_handle', '办理', 'handle', '', 'handle', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114294, 1347095124710114292, 'wf_process_todo_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114295, 1347095124710114292, 'wf_process_todo_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114296, 1347095124710114284, 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/pages/process/send', 'ant-design:file-text-outlined', 3, 1, 0, 1, '/plugin/workflow/pages/process/send', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114297, 1347095124710114296, 'wf_process_send_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114298, 1347095124710114296, 'wf_process_send_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114299, 1347095124710114284, 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/pages/process/done', 'ant-design:file-protect-outlined', 4, 1, 0, 1, '/plugin/workflow/pages/process/done', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114300, 1347095124710114299, 'wf_process_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114301, 1347095124710114299, 'wf_process_done_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114302, 1347095124710114284, 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/pages/process/my-done', 'ant-design:file-protect-outlined', 3, 1, 0, 1, '/plugin/workflow/pages/process/my-done', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114303, 1347095124710114302, 'wf_process_my_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114304, 1347095124710114302, 'wf_process_my_done_follow', '跟踪', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114305, 1347095124710114284, 'wf_process_draft', '草稿箱', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114306, 1347095124710114284, 'wf_process_withdraw', '撤销', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114307, 1347095124710114292, 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114308, 1347095124710114296, 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114309, 1347095124710114299, 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114310, 1347095124710114302, 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114311, 1347095124710114288, 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434310, 1347061240995815426, 'wf_button', '流程按钮', 'menu', '/plugin/workflow/pages/design/button', 'ant-design:setting-outlined', 4, 1, 0, 1, '/plugin/workflow/pages/design/button', NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434311, 1394106647182434310, 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434312, 1394106647182434310, 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434313, 1394106647182434310, 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434314, 1394106647182434310, 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149511, 1347061240995815426, 'wf_category', '流程分类', 'menu', '/plugin/workflow/pages/design/category', 'ant-design:appstore-outlined', 5, 1, 0, 1, '/plugin/workflow/pages/design/category', NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149512, 1394106647392149511, 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149513, 1394106647392149511, 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149514, 1394106647392149511, 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149515, 1394106647392149511, 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206087, 1347095124710114284, 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/pages/process/copy', 'ant-design:send-outlined', 5, 1, 0, 1, '/plugin/workflow/pages/process/copy', NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206088, 1394657590156206087, 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206089, 1394657590156206087, 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206090, 1394657590156206087, 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206091, 1394657590156206087, 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518919, 1347061240995815426, 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/pages/design/form-default-values', 'ant-design:form-outlined', 5, 1, 0, 1, '/plugin/workflow/pages/design/form-default-values', NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518920, 1399260774324518919, 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518921, 1399260774324518919, 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518922, 1399260774324518919, 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518923, 1399260774324518919, 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518924, 1399260774324518919, 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518925, 1347061240995815426, 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'ant-design:dashboard-outlined', 6, 1, 0, 1, '/plugin/workflow/pages/design/form-theme', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518926, 1399260774324518925, 'wf_form_theme_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518927, 1399260774324518925, 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518928, 1399260774324518925, 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518929, 1399260774324518925, 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984966, 1347061240995815426, 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/pages/design/condition', 'ant-design:function-outlined', 6, 1, 0, 1, '/plugin/workflow/pages/design/condition', NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984967, 1408263948050984966, 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984968, 1408263948050984966, 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984969, 1408263948050984966, 'wf_condition_delete', '删除', 'delete', '/plugin/workflow/design/condition/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984970, 1408263948050984966, 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'ant-design:bell-outlined', 7, 1, 0, 1, '/plugin/workflow/pages/design/listener', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412666776159797249, 1164733399669963301, 'wf_ops', '流程运维', 'menu', '/plugin/workflow/pages/ops', 'ant-design:tool-outlined', 3, 1, 0, 1, '/plugin/workflow/pages/ops', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562690, 1412666776159797249, 'wf_ops_index', '运维调度', 'menu', '/plugin/workflow/pages/ops/index', 'ant-design:cloud-sync-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/ops/index', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562691, 1412667489128562690, 'wf_ops_detail', '详情', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562692, 1412667489128562690, 'wf_ops_follow', '流程图', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562693, 1412667489128562690, 'wf_ops_reject', '驳回', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562694, 1412667489128562690, 'wf_ops_pass', '通过', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562695, 1412667489128562690, 'wf_ops_transfer', '转办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562696, 1412667489128562690, 'wf_ops_delegate', '委托', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562697, 1412667489128562690, 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562698, 1412667489128562690, 'wf_ops_terminate', '终止', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562699, 1412667489128562690, 'wf_ops_copy', '抄送', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562700, 1412667489128562690, 'wf_ops_urge', '催办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562701, 1412667489128562690, 'wf_ops_active', '激活', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562702, 1412667489128562690, 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562703, 1412667489128562690, 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562704, 1412667489128562690, 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562705, 1412667489128562690, 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562706, 1412667489128562690, 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562800, 1412666776159797249, 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/pages/ops/done', 'ant-design:safety-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/ops/done', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562801, 1412666776159797249, 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/pages/ops/list', 'ant-design:unordered-list-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/ops/list', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562802, 1412667489128562801, 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638534, 1412666776159797249, 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/pages/ops/proxy', 'ant-design:send-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/ops/proxy', NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638535, 1513394358223638534, 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638536, 1513394358223638534, 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638537, 1513394358223638534, 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638538, 1513394358223638534, 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682182, 1164733399669963301, 'wf_demo', '业务示例', 'menu', '/plugin/workflow/pages/demo', 'ant-design:fund-view-outlined', 4, 1, 0, 1, '/plugin/workflow/pages/demo', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682183, 1513683238709682182, 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/pages/demo/leave/index', 'ant-design:pushpin-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/demo/leave/index', NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682184, 1513683238709682182, 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, 4, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682185, 1164733399669963301, 'statistics', '流程统计', 'menu', '/plugin/workflow/pages/statistics', 'ant-design:fund-projection-screen-outlined', 4, 1, 0, 1, '/plugin/workflow/pages/statistics', NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682186, 1513683238709682185, 'wf_statistics', '总览', 'menu', '/plugin/workflow/pages/statistics/index', 'iconfont iconicon_subordinate', 4, 1, 0, 1, '/plugin/workflow/pages/statistics/index', NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/mysql/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/mysql/saber3_menu.sql new file mode 100644 index 0000000..69973dc --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/mysql/saber3_menu.sql @@ -0,0 +1,143 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1164733399669963301, 0, 'workflow', '协同办公', 'menu', '/plugin/workflow', 'iconfont iconicon_send', 5, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347061240995815426, 1164733399669963301, 'wf_design', '流程设计', 'menu', '/plugin/workflow/pages/design', 'iconfont iconicon_work', 1, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347061240995815427, 1347061240995815426, 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/pages/design/model', 'iconfont iconicon_discovery', 1, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590658, 1347061240995815427, 'wf_design_model_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590659, 1347061240995815427, 'wf_design_model_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590660, 1347061240995815427, 'wf_design_model_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590661, 1347061240995815427, 'wf_design_model_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590662, 1347061240995815427, 'wf_design_model_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590663, 1347061240995815427, 'wf_design_model_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590664, 1347061240995815427, 'wf_design_model_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590665, 1347061240995815427, 'wf_design_model_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590666, 1347061240995815427, 'wf_design_model_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590667, 1347061240995815427, 'wf_design_model_deploy', '部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590668, 1347061240995815427, 'wf_design_model_scope', '权限', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590669, 1347061240995815427, 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590670, 1347061240995815427, 'wf_design_model_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347066574619590671, 1347061240995815427, 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826049, 1347061240995815426, 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/pages/design/form', 'iconfont icon-biaodan', 2, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826050, 1347083757101826049, 'wf_design_form_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826051, 1347083757101826049, 'wf_design_form_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826052, 1347083757101826049, 'wf_design_form_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826053, 1347083757101826049, 'wf_design_form_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826054, 1347083757101826049, 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826055, 1347083757101826049, 'wf_design_form_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826056, 1347083757101826049, 'wf_design_form_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826057, 1347083757101826049, 'wf_design_form_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826058, 1347083757101826049, 'wf_design_form_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826059, 1347083757101826049, 'wf_design_form_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347083757101826060, 1347083757101826049, 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710113282, 1347061240995815426, 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/pages/design/deployment', 'iconfont iconicon_cloud_history', 3, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710113283, 1347095124710113282, 'wf_design_deployment_status', '修改状态', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710113284, 1347095124710113282, 'wf_design_deployment_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710113285, 1347095124710113282, 'wf_design_deployment_delete', '删除部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114284, 1164733399669963301, 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'iconfont iconicon_notice', 2, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114285, 1347095124710114284, 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/pages/process/start', 'iconfont iconicon_compile', 1, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114286, 1347095124710114285, 'wf_process_start_flow', '发起', 'flow', '', 'flow', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114287, 1347095124710114285, 'wf_process_start_image', '流程图', 'image', '', 'image', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114288, 1347095124710114284, 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/pages/process/claim', 'iconfont iconicon_ding', 5, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114289, 1347095124710114288, 'wf_process_claim_sign', '签收', 'sign', '', 'sign', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114290, 1347095124710114288, 'wf_process_claim_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114291, 1347095124710114288, 'wf_process_claim_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114292, 1347095124710114284, 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/pages/process/todo', 'iconfont iconicon_savememo', 2, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114293, 1347095124710114292, 'wf_process_todo_handle', '办理', 'handle', '', 'handle', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114294, 1347095124710114292, 'wf_process_todo_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114295, 1347095124710114292, 'wf_process_todo_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114296, 1347095124710114284, 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/pages/process/send', 'iconfont iconicon_doc', 3, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114297, 1347095124710114296, 'wf_process_send_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114298, 1347095124710114296, 'wf_process_send_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114299, 1347095124710114284, 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/pages/process/done', 'iconfont iconicon_dispose', 4, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114300, 1347095124710114299, 'wf_process_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114301, 1347095124710114299, 'wf_process_done_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114302, 1347095124710114284, 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/pages/process/my-done', 'iconfont iconicon_dispose', 3, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114303, 1347095124710114302, 'wf_process_my_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114304, 1347095124710114302, 'wf_process_my_done_follow', '跟踪', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114305, 1347095124710114284, 'wf_process_draft', '草稿箱', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114306, 1347095124710114284, 'wf_process_withdraw', '撤销', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114307, 1347095124710114292, 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114308, 1347095124710114296, 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114309, 1347095124710114299, 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114310, 1347095124710114302, 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1347095124710114311, 1347095124710114288, 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434310, 1347061240995815426, 'wf_button', '流程按钮', 'menu', '/plugin/workflow/pages/design/button', 'iconfont iconicon_setting', 4, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434311, 1394106647182434310, 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434312, 1394106647182434310, 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434313, 1394106647182434310, 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647182434314, 1394106647182434310, 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149511, 1347061240995815426, 'wf_category', '流程分类', 'menu', '/plugin/workflow/pages/design/category', 'iconfont iconicon_work', 5, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149512, 1394106647392149511, 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149513, 1394106647392149511, 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149514, 1394106647392149511, 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394106647392149515, 1394106647392149511, 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206087, 1347095124710114284, 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/pages/process/copy', 'iconfont iconicon_send', 5, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206088, 1394657590156206087, 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206089, 1394657590156206087, 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206090, 1394657590156206087, 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1394657590156206091, 1394657590156206087, 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518919, 1347061240995815426, 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/pages/design/form-default-values', 'iconfont iconicon_compile', 5, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518920, 1399260774324518919, 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518921, 1399260774324518919, 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518922, 1399260774324518919, 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518923, 1399260774324518919, 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518924, 1399260774324518919, 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518925, 1347061240995815426, 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'iconfont icon-wxbgongju', 6, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518926, 1399260774324518925, 'wf_form_theme_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518927, 1399260774324518925, 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518928, 1399260774324518925, 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518929, 1399260774324518925, 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984966, 1347061240995815426, 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/pages/design/condition', 'iconfont iconicon_task', 6, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984967, 1408263948050984966, 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984968, 1408263948050984966, 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984969, 1408263948050984966, 'wf_condition_delete', '删除', 'delete', '/plugin/workflow/design/condition/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1408263948050984970, 1408263948050984966, 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'iconfont iconicon_details', 7, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412666776159797249, 1164733399669963301, 'wf_ops', '流程运维', 'menu', '/plugin/workflow/pages/ops', 'iconfont iconicon_cspace', 3, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562690, 1412666776159797249, 'wf_ops_index', '运维调度', 'menu', '/plugin/workflow/pages/ops/index', 'iconfont iconicon_exchange', 1, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562691, 1412667489128562690, 'wf_ops_detail', '详情', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562692, 1412667489128562690, 'wf_ops_follow', '流程图', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562693, 1412667489128562690, 'wf_ops_reject', '驳回', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562694, 1412667489128562690, 'wf_ops_pass', '通过', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562695, 1412667489128562690, 'wf_ops_transfer', '转办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562696, 1412667489128562690, 'wf_ops_delegate', '委托', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562697, 1412667489128562690, 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562698, 1412667489128562690, 'wf_ops_terminate', '终止', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562699, 1412667489128562690, 'wf_ops_copy', '抄送', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562700, 1412667489128562690, 'wf_ops_urge', '催办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562701, 1412667489128562690, 'wf_ops_active', '激活', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562702, 1412667489128562690, 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562703, 1412667489128562690, 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562704, 1412667489128562690, 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562705, 1412667489128562690, 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562706, 1412667489128562690, 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562800, 1412666776159797249, 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/pages/ops/done', 'iconfont iconicon_safety', 1, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562801, 1412666776159797249, 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/pages/ops/list', 'iconfont iconicon_safety', 1, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1412667489128562802, 1412667489128562801, 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638534, 1412666776159797249, 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/pages/ops/proxy', 'iconfont iconicon_send', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638535, 1513394358223638534, 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638536, 1513394358223638534, 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638537, 1513394358223638534, 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513394358223638538, 1513394358223638534, 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682182, 1164733399669963301, 'wf_demo', '业务示例', 'menu', '/plugin/workflow/pages/demo', 'iconfont iconicon_cspace', 4, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682183, 1513683238709682182, 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/pages/demo/leave/index', 'iconfont iconicon_task', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682184, 1513683238709682182, 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, 4, 2, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682185, 1164733399669963301, 'statistics', '流程统计', 'menu', '/plugin/workflow/pages/statistics', 'iconfont iconicon_airplay', 4, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682186, 1513683238709682185, 'wf_statistics', '总览', 'menu', '/plugin/workflow/pages/statistics/index', 'iconfont iconicon_subordinate', 4, 1, 0, 1, NULL, NULL, 0); + +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682187, 1164733399669963301, 'wf_chat', '聊一聊', 'menu', '/plugin/workflow/chat', 'iconfont iconicon_sms', 0, 1, 0, 1, '', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682188, 1513683238709682187, 'wf_chat_app', '应用管理', 'menu', '/plugin/workflow/pages/chat/app', 'iconfont icon-yingyongguanli', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682189, 1513683238709682188, 'wf_chat_app_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682190, 1513683238709682188, 'wf_chat_app_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682191, 1513683238709682188, 'wf_chat_app_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682192, 1513683238709682188, 'wf_chat_app_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682193, 1513683238709682187, 'wf_chat_assistant', '助手管理', 'menu', '/plugin/workflow/pages/chat/assistant', 'iconfont icon-gongnengdingyi', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682194, 1513683238709682193, 'wf_chat_assistant_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682195, 1513683238709682193, 'wf_chat_assistant_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682196, 1513683238709682193, 'wf_chat_assistant_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682197, 1513683238709682193, 'wf_chat_assistant_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682198, 1513683238709682187, 'wf_chat_workbench', '工作台', 'menu', '/plugin/workflow/pages/chat/workbench', 'iconfont icon-wuguan', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682199, 1513683238709682187, 'wf_chat_index', '聊一聊', 'menu', '/plugin/workflow/pages/chat/index', 'iconfont icon-shebeizhuangtai', 0, 1, 0, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/oracle/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/oracle/bladex_workflow.sql new file mode 100644 index 0000000..7d3a6d6 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/oracle/bladex_workflow.sql @@ -0,0 +1,1452 @@ +-- ---------------------------- +-- Table structure for ACT_DE_MODEL +-- ---------------------------- +DROP TABLE "ACT_DE_MODEL"; +CREATE TABLE "ACT_DE_MODEL" ( + "ID" NVARCHAR2(255) NOT NULL, + "NAME" NVARCHAR2(400) NOT NULL, + "MODEL_KEY" NVARCHAR2(400) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "CATEGORY_ID" NUMBER(20,0), + "DESCRIPTION" NCLOB, + "MODEL_COMMENT" NCLOB, + "CREATED" DATE, + "CREATED_BY" NVARCHAR2(255), + "LAST_UPDATED" DATE, + "LAST_UPDATED_BY" NVARCHAR2(255), + "VERSION" NUMBER(11,0), + "MODEL_XML" NCLOB, + "MODEL_EDITOR_JSON" NCLOB, + "THUMBNAIL" BLOB, + "MODEL_TYPE" NUMBER(11,0), + "TENANT_ID" NVARCHAR2(255), + "ICON" NVARCHAR2(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "ACT_DE_MODEL"."NAME" IS '名称'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_KEY" IS '模型标识'; +COMMENT ON COLUMN "ACT_DE_MODEL"."FORM_KEY" IS '表单标识'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "ACT_DE_MODEL"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_COMMENT" IS '评论'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CREATED" IS '创建时间'; +COMMENT ON COLUMN "ACT_DE_MODEL"."CREATED_BY" IS '创建人'; +COMMENT ON COLUMN "ACT_DE_MODEL"."LAST_UPDATED" IS '最后更新时间'; +COMMENT ON COLUMN "ACT_DE_MODEL"."LAST_UPDATED_BY" IS '最后更新人'; +COMMENT ON COLUMN "ACT_DE_MODEL"."VERSION" IS '版本'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_XML" IS '模型XML'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_EDITOR_JSON" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "ACT_DE_MODEL"."THUMBNAIL" IS '缩略图'; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_TYPE" IS '类型'; +COMMENT ON COLUMN "ACT_DE_MODEL"."TENANT_ID" IS '租户id'; +COMMENT ON COLUMN "ACT_DE_MODEL"."ICON" IS '图标'; +COMMENT ON TABLE "ACT_DE_MODEL" IS '流程 - 定义 - 模型'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL_HISTORY +-- ---------------------------- +DROP TABLE "ACT_DE_MODEL_HISTORY"; +CREATE TABLE "ACT_DE_MODEL_HISTORY" ( + "ID" NVARCHAR2(255) NOT NULL, + "NAME" NVARCHAR2(400) NOT NULL, + "MODEL_KEY" NVARCHAR2(400) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "CATEGORY_ID" NUMBER(20,0), + "DESCRIPTION" NCLOB, + "MODEL_COMMENT" NCLOB, + "CREATED" DATE, + "CREATED_BY" NVARCHAR2(255), + "LAST_UPDATED" DATE, + "LAST_UPDATED_BY" NVARCHAR2(255), + "REMOVAL_DATE" DATE, + "VERSION" NUMBER(11,0), + "MODEL_XML" NCLOB, + "MODEL_EDITOR_JSON" NCLOB, + "MODEL_ID" NVARCHAR2(255) NOT NULL, + "MODEL_TYPE" NUMBER(11,0), + "TENANT_ID" NVARCHAR2(255), + "ICON" NVARCHAR2(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."NAME" IS '名称'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_KEY" IS '模型标识'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."FORM_KEY" IS '表单标识'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_COMMENT" IS '注释'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CREATED" IS '创建时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."CREATED_BY" IS '创建人'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."LAST_UPDATED" IS '最后更新时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."LAST_UPDATED_BY" IS '最后更新人'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."REMOVAL_DATE" IS '移除时间'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."VERSION" IS '版本'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_XML" IS '模型XML'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_EDITOR_JSON" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_ID" IS 'modelId'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_TYPE" IS '类型'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."TENANT_ID" IS '租户id'; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."ICON" IS '图标'; +COMMENT ON TABLE "ACT_DE_MODEL_HISTORY" IS '流程 - 定义 - 模型历史'; + +-- ---------------------------- +-- Records of ACT_DE_MODEL_HISTORY +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_CHAT_APP +-- ---------------------------- +DROP TABLE "BLADE_WF_CHAT_APP"; +CREATE TABLE "BLADE_WF_CHAT_APP" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "IMG_URL" NVARCHAR2(255), + "API_URL" NVARCHAR2(255), + "API_KEY" NVARCHAR2(255), + "API_URL_PROD" NVARCHAR2(255), + "API_KEY_PROD" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "IFRAME_URL" NVARCHAR2(255), + "IFRAME_URL_PROD" NVARCHAR2(255), + "REMARK" NVARCHAR2(255), + "TENANT_ID" NVARCHAR2(12), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) +) +LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."ID" IS 'ID'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."IMG_URL" IS '图片'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."API_URL" IS '应用请求地址'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."API_KEY" IS '应用请求密钥'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."API_URL_PROD" IS 'prod应用请求地址'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."API_KEY_PROD" IS 'prod应用请求密钥'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."TYPE" IS '类型 workflow工作流 chatflow对话工作流 chat对话 agent智能体 completion文本生成应用'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."IFRAME_URL" IS 'iframe地址'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."IFRAME_URL_PROD" IS 'prod iframe地址'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."TENANT_ID" IS '租户ID'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_CHAT_APP" IS 'dify - 应用'; + +-- ---------------------------- +-- Table structure for BLADE_WF_CHAT_ASSISTANT +-- ---------------------------- +DROP TABLE "BLADE_WF_CHAT_ASSISTANT"; +CREATE TABLE "BLADE_WF_CHAT_ASSISTANT" ( + "ID" NUMBER(20,0) NOT NULL, + "APP_ID" NUMBER(20,0), + "APP_TYPE" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "IMG_URL" NVARCHAR2(255), + "DESCRIPTION" NVARCHAR2(255), + "SYSTEM_PROMPT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "TENANT_ID" NVARCHAR2(12), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) +) +LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."ID" IS 'ID'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."APP_ID" IS '应用id'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."APP_TYPE" IS '应用类型'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."IMG_URL" IS '图片'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."SYSTEM_PROMPT" IS '系统提示词'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."TYPE" IS '类型'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."TENANT_ID" IS '租户ID'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_CHAT_ASSISTANT" IS 'dify - 应用助手'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CHAT_APP +-- ---------------------------- +ALTER TABLE "BLADE_WF_CHAT_APP" ADD CONSTRAINT "SYS_C0012121" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CHAT_APP +-- ---------------------------- +ALTER TABLE "BLADE_WF_CHAT_APP" ADD CONSTRAINT "SYS_C0012119" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CHAT_ASSISTANT +-- ---------------------------- +ALTER TABLE "BLADE_WF_CHAT_ASSISTANT" ADD CONSTRAINT "SYS_C0012120" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CHAT_ASSISTANT +-- ---------------------------- +ALTER TABLE "BLADE_WF_CHAT_ASSISTANT" ADD CONSTRAINT "SYS_C0012118" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_CHAT_ASSISTANT +-- ---------------------------- +CREATE INDEX "WF_IDX_APP_ID" + ON "BLADE_WF_CHAT_ASSISTANT" ("APP_ID" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); + + +-- ---------------------------- +-- Table structure for BLADE_WF_BUTTON +-- ---------------------------- +DROP TABLE "BLADE_WF_BUTTON"; +CREATE TABLE "BLADE_WF_BUTTON" ( + "ID" NUMBER(20,0) NOT NULL, + "BUTTON_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "DISPLAY" NUMBER(4,0), + "SORT" NUMBER(11,0), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."BUTTON_KEY" IS '按钮key'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."DISPLAY" IS '默认是否显示'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."SORT" IS '排序'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_BUTTON"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_BUTTON" IS '流程按钮'; + +-- ---------------------------- +-- Records of BLADE_WF_BUTTON +-- ---------------------------- +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394176899911041025', 'wf_pass', '通过', '1', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:24:10', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:24:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394177198465794050', 'wf_reject', '驳回', '1', '2', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:25:21', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:25:21', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394179125421326337', 'wf_print', '打印', '1', '3', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 14:33:01', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 14:33:01', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394609969089761281', 'wf_transfer', '转办', '1', '4', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 19:05:02', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 19:05:02', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394610036672581634', 'wf_delegate', '委托', '1', '5', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 19:05:18', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 19:05:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395271519601426433', 'wf_terminate', '终止', '1', '6', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 14:53:48', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 14:53:48', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274709692579841', 'wf_add_instance', '加签', '1', '7', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:06:28', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:06:28', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274774674931713', 'wf_del_instance', '减签', '1', '8', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:06:44', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:06:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_BUTTON" ("ID", "BUTTON_KEY", "NAME", "DISPLAY", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1395274955986305025', 'wf_rollback', '指定回退', '1', '9', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-20 15:07:27', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-20 15:07:27', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_CATEGORY +-- ---------------------------- +DROP TABLE "BLADE_WF_CATEGORY"; +CREATE TABLE "BLADE_WF_CATEGORY" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "PID" NUMBER(20,0) DEFAULT 0, + "SORT" NUMBER(11,0), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."NAME" IS '分类名称'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."PID" IS '上级id'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."SORT" IS '排序'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_CATEGORY"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_CATEGORY" IS '流程分类'; + +-- ---------------------------- +-- Records of BLADE_WF_CATEGORY +-- ---------------------------- +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394133715940073474', '请假流程', '0', '2', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 11:32:34', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:51:42', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394158934813609986', '财务流程', '0', '3', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 13:12:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:51:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1394159147934584833', '报销流程', '1394158934813609986', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-16 13:13:38', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-16 13:13:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CATEGORY" ("ID", "NAME", "PID", "SORT", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1642162799092207618', '示例流程', '0', '1', '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-01 21:51:36', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:51:36', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_CONDITION +-- ---------------------------- +DROP TABLE "BLADE_WF_CONDITION"; +CREATE TABLE "BLADE_WF_CONDITION" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "EXPRESSION" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."EXPRESSION" IS '表达式'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."TYPE" IS '类型'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_CONDITION"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_CONDITION" IS '流程表达式'; + +-- ---------------------------- +-- Records of BLADE_WF_CONDITION +-- ---------------------------- +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408267023015739393', '流程发起人', 'applyUser', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 11:33:17', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 11:33:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408267100878798850', '当前操作人', 'currentUser', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 11:33:36', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 11:33:36', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_CONDITION" ("ID", "NAME", "EXPRESSION", "TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408305933398896641', '上级部门领导', 'leader', 'user', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 14:07:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 14:07:54', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_COPY +-- ---------------------------- +DROP TABLE "BLADE_WF_COPY"; +CREATE TABLE "BLADE_WF_COPY" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "TITLE" NVARCHAR2(255), + "INITIATOR" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "PROCESS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "FORM_KEY" NVARCHAR2(255), + "FORM_URL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_COPY"."USER_ID" IS '用户id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."TITLE" IS '标题'; +COMMENT ON COLUMN "BLADE_WF_COPY"."INITIATOR" IS '发起者'; +COMMENT ON COLUMN "BLADE_WF_COPY"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."PROCESS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_COPY"."FORM_KEY" IS '外置表单key'; +COMMENT ON COLUMN "BLADE_WF_COPY"."FORM_URL" IS '外置表单url'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_COPY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_COPY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_COPY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_COPY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_COPY"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_COPY" IS '流程抄送'; + +-- ---------------------------- +-- Records of BLADE_WF_COPY +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +DROP TABLE "BLADE_WF_DEPLOYMENT_FORM"; +CREATE TABLE "BLADE_WF_DEPLOYMENT_FORM" ( + "ID" NUMBER(20,0) NOT NULL, + "DEPLOYMENT_ID" NVARCHAR2(255), + "FORM_KEY" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "TASK_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "TABLE_NAME" NVARCHAR2(255), + "TABLE_COMMENT" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_KEY" IS '节点key'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TASK_NAME" IS '节点名称'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TABLE_NAME" IS '表名'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TABLE_COMMENT" IS '表注释'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_DEPLOYMENT_FORM" IS '流程部署 - 表单'; + +-- ---------------------------- +-- Records of BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_DRAFT +-- ---------------------------- +DROP TABLE "BLADE_WF_DRAFT"; +CREATE TABLE "BLADE_WF_DRAFT" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "FORM_KEY" NVARCHAR2(255), + "PROCESS_DEF_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "VARIABLES" NCLOB, + "PLATFORM" NVARCHAR2(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."USER_ID" IS '用户id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."PROCESS_DEF_ID" IS '流程定义id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."VARIABLES" IS '表单变量'; +COMMENT ON COLUMN "BLADE_WF_DRAFT"."PLATFORM" IS '平台 pc/app'; +COMMENT ON TABLE "BLADE_WF_DRAFT" IS '流程草稿箱'; + +-- ---------------------------- +-- Records of BLADE_WF_DRAFT +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM"; +CREATE TABLE "BLADE_WF_FORM" ( + "ID" NUMBER(20,0) NOT NULL, + "FORM_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "VERSION" NUMBER(11,0), + "CATEGORY_ID" NUMBER(20,0), + "REMARK" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_FORM"."NAME" IS '表单名称'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM"."VERSION" IS '版本'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "BLADE_WF_FORM"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM" IS '流程表单'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399359377009377281', 'default-value', '测试默认值', '{column:[{type:''input'',label:''人事姓名'',span:24,display:true,prop:''1622472547203_21841'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''人事职位'',span:24,display:true,prop:''1622553629767_65211'',value:''${this.$store.getters.userInfo.post_name}''},{type:''input'',label:''人事部门'',span:24,display:true,prop:''1622472547375_86557'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''当前日期'',span:24,display:true,prop:''1622553629949_3168'',value:''${this.dateFormat(new Date(),\"YYYY-MM-DD\")}''},{type:''input'',label:''当前时间'',span:24,display:true,prop:''1622553631752_15562'',value:''${this.dateFormat(new Date(),\"HH:mm:ss\")}''},{type:''input'',label:''人事姓名和日期'',span:24,display:true,prop:''1622553691156_69886'',value:''${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"YYYY-MM-DD\")}''},{type:''input'',label:''经理姓名'',span:24,display:true,prop:''1622472547780_5707'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''经理部门'',span:24,display:true,prop:''1622472547975_90560'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''老板姓名'',span:24,display:true,prop:''1622472548372_60141'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''老板部门'',span:24,display:true,prop:''1622472548560_32474'',value:''${this.$store.getters.userInfo.dept_name}''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"人事姓名","span":24,"display":true,"prop":"1622472547203_21841","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"人事职位","span":24,"display":true,"prop":"1622553629767_65211","value":"${this.$store.getters.userInfo.post_name}"},{"type":"input","label":"人事部门","span":24,"display":true,"prop":"1622472547375_86557","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"当前日期","span":24,"display":true,"prop":"1622553629949_3168","value":"${this.dateFormat(new Date(),\"YYYY-MM-DD\")}"},{"type":"input","label":"当前时间","span":24,"display":true,"prop":"1622553631752_15562","value":"${this.dateFormat(new Date(),\"HH:mm:ss\")}"},{"type":"input","label":"人事姓名和日期","span":24,"display":true,"prop":"1622553691156_69886","value":"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"YYYY-MM-DD\")}"},{"type":"input","label":"经理姓名","span":24,"display":true,"prop":"1622472547780_5707","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"经理部门","span":24,"display":true,"prop":"1622472547975_90560","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"老板姓名","span":24,"display":true,"prop":"1622472548372_60141","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"老板部门","span":24,"display":true,"prop":"1622472548560_32474","value":"${this.$store.getters.userInfo.dept_name}"}],"labelPosition":"left","labelSuffix":":","labelWidth":140,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '1642162799092207618', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 21:37:29', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:58:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399729025840140290', 'leave', '请假流程表单', '{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''YYYY-MM-DD HH:mm:ss'',valueFormat:''YYYY-MM-DD HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { + let days + if (!value || value.length == 0) { + days = undefined + } else { + const d1 = Date.parse(value.split('','')[0]) + const d2 = Date.parse(value.split('','')[1]) + const day = (d2-d1)/(1*24*60*60*1000) + days = Number(day.toFixed(2)) + } + this.form.days = days +},dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { + let reason + if (value) reason = ''请假'' + value + ''天'' + else reason = '''' + this.form.reason = reason +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"YYYY-MM-DD HH:mm:ss","valueFormat":"YYYY-MM-DD HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n let days\r\n if (!value || value.length == 0) {\r\n days = undefined\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n days = Number(day.toFixed(2))\r\n }\r\n this.form.days = days\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n let reason\n if (value) reason = ''请假'' + value + ''天''\n else reason = ''''\n this.form.reason = reason\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '1642162799092207618', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 22:06:20', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-09 18:03:17', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408402768310304770', 'demo-test', '测试简单表单', '{column:[{type:''input'',label:''单行文本'',span:24,display:true,prop:''1624624365132_23209''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"单行文本","span":24,"display":true,"prop":"1624624365132_23209"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '1642162799092207618', NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 20:32:41', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:58:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM" ("ID", "FORM_KEY", "NAME", "CONTENT", "APP_CONTENT", "VERSION", "CATEGORY_ID", "REMARK", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1429672727182159874', 'field-linkage', '字段联动', '{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input''},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.form.input2 = text +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"switch","label":"控制显隐","span":24,"display":true,"value":"0","dicData":[{"label":"","value":"0"},{"label":"","value":"1"}],"prop":"1629695558953_19833","change":"({value}) => {\r\n const input = this.findObject(this.option.column, ''input'')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input"},{"type":"select","label":"值改变","dicData":[{"label":"一天","value":"1"},{"label":"两天","value":"2"},{"label":"三天","value":"3"}],"cascaderItem":[],"span":24,"display":true,"props":{"label":"label","value":"value"},"prop":"1629695859796_23456","change":"({value}) => {\r\n let text = value\r\n if(value) {\r\n text = ''请假 '' + value + '' 天''\r\n }\r\n this.form.input2 = text\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input2"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', '1', '1642162799092207618', '字段联动示例', '1123598821738675201', '1123598813738675201', TO_DATE('2021-08-23 13:11:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:58:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_DEFAULT_VALUES"; +CREATE TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CONTENT" NVARCHAR2(255), + "FIELD_TYPE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CONTENT" IS '内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."FIELD_TYPE" IS '字段类型'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_DEFAULT_VALUES"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_DEFAULT_VALUES" IS '流程表单字段默认值'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399346112331087873', '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 20:44:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-31 20:56:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399347906465595393', '当前操作人部门', '${this.$store.getters.userInfo.dept_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-05-31 20:51:54', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-05-31 20:56:41', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717069960855553', '当前日期', '${this.dateFormat(new Date(),"YYYY-MM-DD")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:18:50', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:44:30', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717187904684034', '当前操作人职位', '${this.$store.getters.userInfo.post_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:19:18', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-01 21:19:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399717285564858369', '当前时间', '${this.dateFormat(new Date(),"HH:mm:ss")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:19:41', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 17:27:03', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1399718803940655106', '当前操作人姓名和日期', '${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),"YYYY-MM-DD")}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-01 21:25:43', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-01 21:46:20', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_DEFAULT_VALUES" ("ID", "NAME", "CONTENT", "FIELD_TYPE", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1408401952027443201', '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', '1123598821738675201', '1123598813738675201', TO_DATE('2021-06-25 20:29:27', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2021-06-25 20:29:32', 'SYYYY-MM-DD HH24:MI:SS'), '1', '1', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_HISTORY +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_HISTORY"; +CREATE TABLE "BLADE_WF_FORM_HISTORY" ( + "ID" NUMBER(20,0) NOT NULL, + "FORM_ID" NUMBER(20,0), + "FORM_KEY" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "CONTENT" NCLOB, + "APP_CONTENT" NCLOB, + "VERSION" NUMBER(11,0), + "CATEGORY_ID" NUMBER(20,0), + "REMARK" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."FORM_ID" IS '表单id'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."FORM_KEY" IS '表单key'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."NAME" IS '表单名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CONTENT" IS '表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."APP_CONTENT" IS 'app表单内容'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."VERSION" IS '版本'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CATEGORY_ID" IS '分类id'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_HISTORY"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_FORM_HISTORY" IS '流程表单'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_HISTORY +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_THEME +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_THEME"; +CREATE TABLE "BLADE_WF_FORM_THEME" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255) NOT NULL, + "THEME_KEY" NVARCHAR2(255) NOT NULL, + "BORDER_WIDTH" NVARCHAR2(255), + "BORDER_COLOR" NVARCHAR2(255), + "LABEL_COLOR" NVARCHAR2(255), + "LABEL_BG" NVARCHAR2(255), + "LABEL_WIDTH" NVARCHAR2(255), + "LABEL_FONT_SIZE" NVARCHAR2(255), + "VALUE_COLOR" NVARCHAR2(255), + "VALUE_BG" NVARCHAR2(255), + "VALUE_FONT_SIZE" NVARCHAR2(255), + "FIELD0" NVARCHAR2(255), + "FIELD1" NVARCHAR2(255), + "FIELD2" NVARCHAR2(255), + "FIELD3" NVARCHAR2(255), + "FIELD4" NVARCHAR2(255), + "FIELD5" NVARCHAR2(255), + "FIELD6" NVARCHAR2(255), + "FIELD7" NVARCHAR2(255), + "FIELD8" NVARCHAR2(255), + "FIELD9" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."THEME_KEY" IS '主题key'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_WIDTH" IS '边框宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_COLOR" IS '边框颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_COLOR" IS 'label字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_BG" IS 'label背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_WIDTH" IS 'label宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_FONT_SIZE" IS 'label字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_COLOR" IS 'value字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_BG" IS 'value背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_FONT_SIZE" IS 'value字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD0" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD1" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD2" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD3" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD4" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD5" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD6" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD7" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD8" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD9" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_THEME" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_THEME +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1', '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', NULL, '14px', NULL, NULL, '14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:36:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('2', '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:16:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-18 11:50:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('3', '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598821738675201', TO_DATE('2023-04-04 16:57:35', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011945" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011942" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011943" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011944" CHECK ("THEME_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" + ON "BLADE_WF_FORM_THEME" ("THEME_KEY" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +); + +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_VARIABLE +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_VARIABLE"; +CREATE TABLE "BLADE_WF_FORM_VARIABLE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "TASK_DEF_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "FORM_OPTION" NCLOB, + "FORM_VARIABLE" NCLOB, + "STATUS" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20,0), + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_DEF_KEY" IS '任务节点key'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_NAME" IS '任务节点名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_OPTION" IS '表单js'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_VARIABLE" IS '表单值'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_VARIABLE" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012109" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012108" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Table structure for BLADE_WF_LISTENER +-- ---------------------------- +DROP TABLE "BLADE_WF_LISTENER"; +CREATE TABLE "BLADE_WF_LISTENER" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CATEGORY" NVARCHAR2(255), + "EVENT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CATEGORY" IS '分类'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."EVENT" IS '事件'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TYPE" IS '监听类型'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."VAL" IS '值'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_LISTENER" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011312" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011311" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Table structure for BLADE_WF_MODEL_SCOPE +-- ---------------------------- +DROP TABLE "BLADE_WF_MODEL_SCOPE"; +CREATE TABLE "BLADE_WF_MODEL_SCOPE" ( + "ID" NUMBER(20,0) NOT NULL, + "MODEL_ID" NVARCHAR2(255), + "MODEL_KEY" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "TEXT" NVARCHAR2(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."MODEL_ID" IS '模型id'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."MODEL_KEY" IS '模型key'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."TYPE" IS '类型 user用户 role角色 dept部门 post职位'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."VAL" IS '用户/角色/部门/职位 id集合'; +COMMENT ON COLUMN "BLADE_WF_MODEL_SCOPE"."TEXT" IS '用户/角色/部门/职位 name集合'; +COMMENT ON TABLE "BLADE_WF_MODEL_SCOPE" IS '流程模型权限'; + +-- ---------------------------- +-- Records of BLADE_WF_MODEL_SCOPE +-- ---------------------------- +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418455767366799361', '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418457955400978434', '0676f2277420b7dc67f69dd3a0ec1164', 'ex-leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418457988913467393', '5b7a367e1139f1ab5cb1e6210685fa91', 'demo-multi-instance', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1418458020752429058', 'fb4c1a6a8c4588779a2519a547966846', 'test-default-values', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1429675430591442946', '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "BLADE_WF_MODEL_SCOPE" ("ID", "MODEL_ID", "MODEL_KEY", "TYPE", "VAL", "TEXT") VALUES ('1447556025547763714', 'd71049b6ba4eda39cacf9baf984274ac', 'indep-form', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Table structure for BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +DROP TABLE "BLADE_WF_PROCESS_LEAVE"; +CREATE TABLE "BLADE_WF_PROCESS_LEAVE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(64), + "PROCESS_DEF_ID" NVARCHAR2(64), + "CURRENT_NODE" NVARCHAR2(64), + "DATETIME" NVARCHAR2(64), + "DAYS" NUMBER(11,0), + "REASON" NCLOB, + "ATTACHMENT" NCLOB, + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE NOT NULL, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "FORM_KEY" VARCHAR(255), + "FORM_URL" VARCHAR(255) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."PROCESS_DEF_ID" IS '流程定义id'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CURRENT_NODE" IS '当前节点'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DATETIME" IS '时间范围'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."DAYS" IS '请假天数'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."REASON" IS '请假理由'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."ATTACHMENT" IS '附件'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_KEY" IS '外置表单key'; +COMMENT ON COLUMN "BLADE_WF_PROCESS_LEAVE"."FORM_URL" IS '外置表单url'; +COMMENT ON TABLE "BLADE_WF_PROCESS_LEAVE" IS '请假流程业务示例'; + +-- ---------------------------- +-- Table structure for BLADE_WF_PROXY +-- ---------------------------- +DROP TABLE "BLADE_WF_PROXY"; +CREATE TABLE "BLADE_WF_PROXY" ( + "ID" NUMBER(20,0) NOT NULL, + "USER_ID" NUMBER(20,0), + "PROXY_USER_ID" NUMBER(20,0), + "PROCESS_DEF_KEY" NVARCHAR2(750), + "TYPE" NVARCHAR2(255), + "START_TIME" DATE, + "END_TIME" DATE, + "STATUS" NUMBER(11,0) +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_PROXY"."USER_ID" IS '委托人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROXY_USER_ID" IS '代理人'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."PROCESS_DEF_KEY" IS '流程定义key'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."TYPE" IS '1永久 2定时'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."START_TIME" IS '开始时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."END_TIME" IS '结束时间'; +COMMENT ON COLUMN "BLADE_WF_PROXY"."STATUS" IS '状态'; +COMMENT ON TABLE "BLADE_WF_PROXY" IS '流程代理'; + +-- ---------------------------- +-- Table structure for BLADE_WF_SERIAL +-- ---------------------------- +DROP TABLE "BLADE_WF_SERIAL"; +CREATE TABLE "BLADE_WF_SERIAL" ( + "ID" NUMBER(20,0) NOT NULL, + "DEPLOYMENT_ID" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "PREFIX" NVARCHAR2(255), + "DATE_FORMAT" NVARCHAR2(255), + "SUFFIX_LENGTH" NUMBER(11,0), + "START_SEQUENCE" NUMBER(11,0), + "CONNECTOR" NVARCHAR2(255), + "CURRENT_SEQUENCE" NUMBER(11,0), + "CYCLE" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NVARCHAR2(255), + "IS_DELETED" NUMBER(11,0) DEFAULT 0 +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."DEPLOYMENT_ID" IS '部署id'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."PREFIX" IS '前缀'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."DATE_FORMAT" IS '日期格式化'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."SUFFIX_LENGTH" IS '后缀位数'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."START_SEQUENCE" IS '初始数值'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CONNECTOR" IS '连接符'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CURRENT_SEQUENCE" IS '当前序列'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CYCLE" IS '重置周期 none不重置 day天 week周 month月 year年'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_SERIAL"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_SERIAL" IS '流程流水号'; + +-- ---------------------------- +-- Records of BLADE_WF_SERIAL +-- ---------------------------- +COMMIT; +COMMIT; + +-- ---------------------------- +-- Checks structure for table ACT_DE_MODEL +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012501" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012502" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012503" CHECK ("MODEL_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012506" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012507" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL" ADD CONSTRAINT "SYS_C0012508" CHECK ("MODEL_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012382" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012364" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012365" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012366" CHECK ("MODEL_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012367" CHECK ("MODEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012509" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012510" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012511" CHECK ("MODEL_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "ACT_DE_MODEL_HISTORY" ADD CONSTRAINT "SYS_C0012512" CHECK ("MODEL_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_BUTTON +-- ---------------------------- +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012384" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_BUTTON +-- ---------------------------- +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012363" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_BUTTON" ADD CONSTRAINT "SYS_C0012513" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CATEGORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012385" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CATEGORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012371" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_CATEGORY" ADD CONSTRAINT "SYS_C0012514" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CONDITION +-- ---------------------------- +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012386" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CONDITION +-- ---------------------------- +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012372" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_CONDITION" ADD CONSTRAINT "SYS_C0012515" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_COPY +-- ---------------------------- +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012387" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_COPY +-- ---------------------------- +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012373" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_COPY" ADD CONSTRAINT "SYS_C0012516" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012388" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_DEPLOYMENT_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012374" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" ADD CONSTRAINT "SYS_C0012517" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_DRAFT +-- ---------------------------- +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012389" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_DRAFT +-- ---------------------------- +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012375" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_DRAFT" ADD CONSTRAINT "SYS_C0012518" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI" + ON "BLADE_WF_DRAFT" ("USER_ID", "PROCESS_DEF_ID", "PLATFORM"); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" + ON "BLADE_WF_DRAFT" ("USER_ID", "TASK_ID", "PLATFORM"); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012390" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012376" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM" ADD CONSTRAINT "SYS_C0012519" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_FORM_KEY" + ON "BLADE_WF_FORM" ("FORM_KEY" ASC, "TENANT_ID" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012391" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_DEFAULT_VALUES +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012377" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_DEFAULT_VALUES" ADD CONSTRAINT "SYS_C0012520" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_HISTORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012392" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_HISTORY +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012378" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_HISTORY" ADD CONSTRAINT "SYS_C0012521" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_MODEL_SCOPE +-- ---------------------------- +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012393" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_MODEL_SCOPE +-- ---------------------------- +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012379" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_MODEL_SCOPE" ADD CONSTRAINT "SYS_C0012522" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013052" PRIMARY KEY ("ID", "CREATE_TIME"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROCESS_LEAVE +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013050" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_PROCESS_LEAVE" ADD CONSTRAINT "SYS_C0013051" CHECK ("CREATE_TIME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013053" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_PROXY +-- ---------------------------- +ALTER TABLE "BLADE_WF_PROXY" ADD CONSTRAINT "SYS_C0013049" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_PROXY +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_UNI_PROXY" + ON "BLADE_WF_PROXY" ("USER_ID" ASC, "PROCESS_DEF_KEY" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); +CREATE INDEX "WF_IDX_USER_ID" + ON "BLADE_WF_PROXY" ("USER_ID" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_SERIAL +-- ---------------------------- +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012394" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_SERIAL +-- ---------------------------- +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012380" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_SERIAL" ADD CONSTRAINT "SYS_C0012523" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_SERIAL +-- ---------------------------- +CREATE UNIQUE INDEX "UNI" + ON "BLADE_WF_SERIAL" ("DEPLOYMENT_ID" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/oracle/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/oracle/lemon_menu.sql new file mode 100644 index 0000000..c1cf869 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/oracle/lemon_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1164733399669963301', '0', 'workflow', '协同办公', 'menu', '/plugin/workflow', 'ant-design:apartment-outlined', '5', '1', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347061240995815426', '1164733399669963301', 'wf_design', '流程设计', 'menu', '/plugin/workflow/pages/design', 'ant-design:appstore-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/design', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347061240995815427', '1347061240995815426', 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/pages/design/model', 'ant-design:bulb-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/design/model', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590658', '1347061240995815427', 'wf_design_model_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590659', '1347061240995815427', 'wf_design_model_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590660', '1347061240995815427', 'wf_design_model_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590661', '1347061240995815427', 'wf_design_model_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590662', '1347061240995815427', 'wf_design_model_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590663', '1347061240995815427', 'wf_design_model_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590664', '1347061240995815427', 'wf_design_model_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590665', '1347061240995815427', 'wf_design_model_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590666', '1347061240995815427', 'wf_design_model_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590667', '1347061240995815427', 'wf_design_model_deploy', '部署', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590668', '1347061240995815427', 'wf_design_model_scope', '权限', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590669', '1347061240995815427', 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590670', '1347061240995815427', 'wf_design_model_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590671', '1347061240995815427', 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826049', '1347061240995815426', 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/pages/design/form', 'ant-design:edit-outlined', '2', '1', '0', '1', '/plugin/workflow/pages/design/form', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826050', '1347083757101826049', 'wf_design_form_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826051', '1347083757101826049', 'wf_design_form_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826052', '1347083757101826049', 'wf_design_form_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826053', '1347083757101826049', 'wf_design_form_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826054', '1347083757101826049', 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826055', '1347083757101826049', 'wf_design_form_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826056', '1347083757101826049', 'wf_design_form_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826057', '1347083757101826049', 'wf_design_form_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826058', '1347083757101826049', 'wf_design_form_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826059', '1347083757101826049', 'wf_design_form_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826060', '1347083757101826049', 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113282', '1347061240995815426', 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/pages/design/deployment', 'ant-design:cloud-server-outlined', '3', '1', '0', '1', '/plugin/workflow/pages/design/deployment', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113283', '1347095124710113282', 'wf_design_deployment_status', '修改状态', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113284', '1347095124710113282', 'wf_design_deployment_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113285', '1347095124710113282', 'wf_design_deployment_delete', '删除部署', 'menu', '', 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114284', '1164733399669963301', 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'ant-design:bell-outlined', '2', '1', '0', '1', NULL, '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114285', '1347095124710114284', 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/pages/process/start', 'ant-design:file-exclamation-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/process/start', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114286', '1347095124710114285', 'wf_process_start_flow', '发起', 'flow', '', 'flow', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114287', '1347095124710114285', 'wf_process_start_image', '流程图', 'image', '', 'image', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114288', '1347095124710114284', 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/pages/process/claim', 'ant-design:pushpin-outlined', '5', '1', '0', '1', '/plugin/workflow/pages/process/claim', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114289', '1347095124710114288', 'wf_process_claim_sign', '签收', 'sign', '', 'sign', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114290', '1347095124710114288', 'wf_process_claim_detail', '详情', 'detail', '', 'detail', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114291', '1347095124710114288', 'wf_process_claim_follow', '跟踪', 'follow', '', 'follow', '3', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114292', '1347095124710114284', 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/pages/process/todo', 'ant-design:file-exclamation-outlined', '2', '1', '0', '1', '/plugin/workflow/pages/process/todo', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114293', '1347095124710114292', 'wf_process_todo_handle', '办理', 'handle', '', 'handle', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114294', '1347095124710114292', 'wf_process_todo_detail', '详情', 'detail', '', 'detail', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114295', '1347095124710114292', 'wf_process_todo_follow', '跟踪', 'follow', '', 'follow', '3', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114296', '1347095124710114284', 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/pages/process/send', 'ant-design:file-text-outlined', '3', '1', '0', '1', '/plugin/workflow/pages/process/send', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114297', '1347095124710114296', 'wf_process_send_detail', '详情', 'detail', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114298', '1347095124710114296', 'wf_process_send_follow', '跟踪', 'follow', '', 'follow', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114299', '1347095124710114284', 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/pages/process/done', 'ant-design:file-protect-outlined', '4', '1', '0', '1', '/plugin/workflow/pages/process/done', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114300', '1347095124710114299', 'wf_process_done_detail', '详情', 'detail', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114301', '1347095124710114299', 'wf_process_done_follow', '跟踪', 'follow', '', 'follow', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114302', '1347095124710114284', 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/pages/process/my-done', 'ant-design:file-protect-outlined', '3', '1', '0', '1', '/plugin/workflow/pages/process/my-done', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114303', '1347095124710114302', 'wf_process_my_done_detail', '详情', 'detail', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114304', '1347095124710114302', 'wf_process_my_done_follow', '跟踪', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114305', '1347095124710114284', 'wf_process_draft', '草稿箱', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114306', '1347095124710114284', 'wf_process_withdraw', '撤销', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114307', '1347095124710114292', 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114308', '1347095124710114296', 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114309', '1347095124710114299', 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114310', '1347095124710114302', 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114311', '1347095124710114288', 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434310', '1347061240995815426', 'wf_button', '流程按钮', 'menu', '/plugin/workflow/pages/design/button', 'ant-design:setting-outlined', '4', '1', '0', '1', '/plugin/workflow/pages/design/button', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434311', '1394106647182434310', 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434312', '1394106647182434310', 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434313', '1394106647182434310', 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434314', '1394106647182434310', 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149511', '1347061240995815426', 'wf_category', '流程分类', 'menu', '/plugin/workflow/pages/design/category', 'ant-design:appstore-outlined', '5', '1', '0', '1', '/plugin/workflow/pages/design/category', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149512', '1394106647392149511', 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149513', '1394106647392149511', 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149514', '1394106647392149511', 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149515', '1394106647392149511', 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206087', '1347095124710114284', 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/pages/process/copy', 'ant-design:send-outlined', '5', '1', '0', '1', '/plugin/workflow/pages/process/copy', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206088', '1394657590156206087', 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206089', '1394657590156206087', 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206090', '1394657590156206087', 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206091', '1394657590156206087', 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518919', '1347061240995815426', 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/pages/design/form-default-values', 'ant-design:form-outlined', '5', '1', '0', '1', '/plugin/workflow/pages/design/form-default-values', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518920', '1399260774324518919', 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518921', '1399260774324518919', 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518922', '1399260774324518919', 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518923', '1399260774324518919', 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518924', '1399260774324518919', 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518925', '1347061240995815426', 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'ant-design:dashboard-outlined', '6', '1', '0', '1', '/plugin/workflow/pages/design/form-theme', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518926', '1399260774324518925', 'wf_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518927', '1399260774324518925', 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518928', '1399260774324518925', 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518929', '1399260774324518925', 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984966', '1347061240995815426', 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/pages/design/condition', 'ant-design:function-outlined', '6', '1', '0', '1', '/plugin/workflow/pages/design/condition', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984967', '1408263948050984966', 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984968', '1408263948050984966', 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984969', '1408263948050984966', 'wf_condition_delete', '删除', 'delete', '/plugin/workflow/design/condition/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984970', '1408263948050984966', 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'ant-design:bell-outlined', '7', '1', '0', '1', '/plugin/workflow/pages/design/listener', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412666776159797249', '1164733399669963301', 'wf_ops', '流程运维', 'menu', '/plugin/workflow/pages/ops', 'ant-design:tool-outlined', '3', '1', '0', '1', '/plugin/workflow/pages/ops', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562690', '1412666776159797249', 'wf_ops_index', '运维调度', 'menu', '/plugin/workflow/pages/ops/index', 'ant-design:cloud-sync-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/ops/index', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562691', '1412667489128562690', 'wf_ops_detail', '详情', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562692', '1412667489128562690', 'wf_ops_follow', '流程图', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562693', '1412667489128562690', 'wf_ops_reject', '驳回', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562694', '1412667489128562690', 'wf_ops_pass', '通过', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562695', '1412667489128562690', 'wf_ops_transfer', '转办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562696', '1412667489128562690', 'wf_ops_delegate', '委托', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562697', '1412667489128562690', 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562698', '1412667489128562690', 'wf_ops_terminate', '终止', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562699', '1412667489128562690', 'wf_ops_copy', '抄送', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562700', '1412667489128562690', 'wf_ops_urge', '催办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562701', '1412667489128562690', 'wf_ops_active', '激活', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562702', '1412667489128562690', 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562703', '1412667489128562690', 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562704', '1412667489128562690', 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562705', '1412667489128562690', 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562706', '1412667489128562690', 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562800', '1412666776159797249', 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/pages/ops/done', 'ant-design:safety-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/ops/done', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562801', '1412666776159797249', 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/pages/ops/list', 'ant-design:unordered-list-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/ops/list', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562802', '1412667489128562801', 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638534', '1412666776159797249', 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/pages/ops/proxy', 'ant-design:send-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/ops/proxy', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638535', '1513394358223638534', 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638536', '1513394358223638534', 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638537', '1513394358223638534', 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638538', '1513394358223638534', 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682182', '1164733399669963301', 'wf_demo', '业务示例', 'menu', '/plugin/workflow/pages/demo', 'ant-design:fund-view-outlined', '4', '1', '0', '1', '/plugin/workflow/pages/demo', '', '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682183', '1513683238709682182', 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/pages/demo/leave/index', 'ant-design:pushpin-outlined', '1', '1', '0', '1', '/plugin/workflow/pages/demo/leave/index', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682184', '1513683238709682182', 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, '4', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682185', '1164733399669963301', 'statistics', '流程统计', 'menu', '/plugin/workflow/pages/statistics', 'ant-design:fund-projection-screen-outlined', '4', '1', '0', '1', '/plugin/workflow/pages/statistics', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682186', '1513683238709682185', 'wf_statistics', '总览', 'menu', '/plugin/workflow/pages/statistics/index', 'iconfont iconicon_subordinate', '4', '1', '0', '1', '/plugin/workflow/pages/statistics/index', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/oracle/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/oracle/saber3_menu.sql new file mode 100644 index 0000000..b9f49e9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/oracle/saber3_menu.sql @@ -0,0 +1,143 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1164733399669963301', '0', 'workflow', '协同办公', 'menu', '/plugin/workflow', 'iconfont iconicon_send', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347061240995815426', '1164733399669963301', 'wf_design', '流程设计', 'menu', '/plugin/workflow/pages/design', 'iconfont iconicon_work', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347061240995815427', '1347061240995815426', 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/pages/design/model', 'iconfont iconicon_discovery', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590658', '1347061240995815427', 'wf_design_model_add', '新增', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590659', '1347061240995815427', 'wf_design_model_edit', '修改', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590660', '1347061240995815427', 'wf_design_model_delete', '删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590661', '1347061240995815427', 'wf_design_model_view', '查看', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590662', '1347061240995815427', 'wf_design_model_history', '历史', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590663', '1347061240995815427', 'wf_design_model_history_view', '历史-预览', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590664', '1347061240995815427', 'wf_design_model_history_delete', '历史-删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590665', '1347061240995815427', 'wf_design_model_history_main', '历史-主版本', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590666', '1347061240995815427', 'wf_design_model_design', '设计', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590667', '1347061240995815427', 'wf_design_model_deploy', '部署', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590668', '1347061240995815427', 'wf_design_model_scope', '权限', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590669', '1347061240995815427', 'wf_design_model_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590670', '1347061240995815427', 'wf_design_model_copy', '拷贝', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347066574619590671', '1347061240995815427', 'wf_design_model_icon', '图标', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826049', '1347061240995815426', 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/pages/design/form', 'iconfont icon-biaodan', '2', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826050', '1347083757101826049', 'wf_design_form_add', '新增', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826051', '1347083757101826049', 'wf_design_form_edit', '修改', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826052', '1347083757101826049', 'wf_design_form_delete', '删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826053', '1347083757101826049', 'wf_design_form_view', '查看', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826054', '1347083757101826049', 'wf_design_form_design', '设计', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826055', '1347083757101826049', 'wf_design_form_copy', '拷贝', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826056', '1347083757101826049', 'wf_design_form_history', '历史', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826057', '1347083757101826049', 'wf_design_form_history_view', '历史-预览', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826058', '1347083757101826049', 'wf_design_form_history_delete', '历史-删除', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826059', '1347083757101826049', 'wf_design_form_history_main', '历史-主版本', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347083757101826060', '1347083757101826049', 'wf_design_form_change_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113282', '1347061240995815426', 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/pages/design/deployment', 'iconfont iconicon_cloud_history', '3', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113283', '1347095124710113282', 'wf_design_deployment_status', '修改状态', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113284', '1347095124710113282', 'wf_design_deployment_category', '修改分类', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710113285', '1347095124710113282', 'wf_design_deployment_delete', '删除部署', 'menu', NULL, 'iconfont iconicon_roundadd', '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114284', '1164733399669963301', 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'iconfont iconicon_notice', '2', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114285', '1347095124710114284', 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/pages/process/start', 'iconfont iconicon_compile', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114286', '1347095124710114285', 'wf_process_start_flow', '发起', 'flow', NULL, 'flow', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114287', '1347095124710114285', 'wf_process_start_image', '流程图', 'image', NULL, 'image', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114288', '1347095124710114284', 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/pages/process/claim', 'iconfont iconicon_ding', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114289', '1347095124710114288', 'wf_process_claim_sign', '签收', 'sign', NULL, 'sign', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114290', '1347095124710114288', 'wf_process_claim_detail', '详情', 'detail', NULL, 'detail', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114291', '1347095124710114288', 'wf_process_claim_follow', '跟踪', 'follow', NULL, 'follow', '3', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114292', '1347095124710114284', 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/pages/process/todo', 'iconfont iconicon_savememo', '2', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114293', '1347095124710114292', 'wf_process_todo_handle', '办理', 'handle', NULL, 'handle', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114294', '1347095124710114292', 'wf_process_todo_detail', '详情', 'detail', NULL, 'detail', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114295', '1347095124710114292', 'wf_process_todo_follow', '跟踪', 'follow', NULL, 'follow', '3', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114296', '1347095124710114284', 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/pages/process/send', 'iconfont iconicon_doc', '3', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114297', '1347095124710114296', 'wf_process_send_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114298', '1347095124710114296', 'wf_process_send_follow', '跟踪', 'follow', NULL, 'follow', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114299', '1347095124710114284', 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/pages/process/done', 'iconfont iconicon_dispose', '4', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114300', '1347095124710114299', 'wf_process_done_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114301', '1347095124710114299', 'wf_process_done_follow', '跟踪', 'follow', NULL, 'follow', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114302', '1347095124710114284', 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/pages/process/my-done', 'iconfont iconicon_dispose', '3', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114303', '1347095124710114302', 'wf_process_my_done_detail', '详情', 'detail', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114304', '1347095124710114302', 'wf_process_my_done_follow', '跟踪', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114305', '1347095124710114284', 'wf_process_draft', '草稿箱', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114306', '1347095124710114284', 'wf_process_withdraw', '撤销', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114307', '1347095124710114292', 'wf_process_todo_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114308', '1347095124710114296', 'wf_process_send_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114309', '1347095124710114299', 'wf_process_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114310', '1347095124710114302', 'wf_process_my_done_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1347095124710114311', '1347095124710114288', 'wf_process_claim_search', '表单搜索条件', 'follow', NULL, 'detail', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434310', '1347061240995815426', 'wf_button', '流程按钮', 'menu', '/plugin/workflow/pages/design/button', 'iconfont iconicon_setting', '4', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434311', '1394106647182434310', 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434312', '1394106647182434310', 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434313', '1394106647182434310', 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647182434314', '1394106647182434310', 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149511', '1347061240995815426', 'wf_category', '流程分类', 'menu', '/plugin/workflow/pages/design/category', 'iconfont iconicon_work', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149512', '1394106647392149511', 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149513', '1394106647392149511', 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149514', '1394106647392149511', 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394106647392149515', '1394106647392149511', 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206087', '1347095124710114284', 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/pages/process/copy', 'iconfont iconicon_send', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206088', '1394657590156206087', 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206089', '1394657590156206087', 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206090', '1394657590156206087', 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1394657590156206091', '1394657590156206087', 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518919', '1347061240995815426', 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/pages/design/form-default-values', 'iconfont iconicon_compile', '5', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518920', '1399260774324518919', 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518921', '1399260774324518919', 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518922', '1399260774324518919', 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518923', '1399260774324518919', 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518924', '1399260774324518919', 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518925', '1347061240995815426', 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'iconfont icon-wxbgongju', '6', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518926', '1399260774324518925', 'wf_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518927', '1399260774324518925', 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518928', '1399260774324518925', 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518929', '1399260774324518925', 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984966', '1347061240995815426', 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/pages/design/condition', 'iconfont iconicon_task', '6', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984967', '1408263948050984966', 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984968', '1408263948050984966', 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984969', '1408263948050984966', 'wf_condition_delete', '删除', 'delete', '/plugin/workflow/design/condition/remove', 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1408263948050984970', '1408263948050984966', 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'iconfont iconicon_details', '7', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412666776159797249', '1164733399669963301', 'wf_ops', '流程运维', 'menu', '/plugin/workflow/pages/ops', 'iconfont iconicon_cspace', '3', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562690', '1412666776159797249', 'wf_ops_index', '运维调度', 'menu', '/plugin/workflow/pages/ops/index', 'iconfont iconicon_exchange', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562691', '1412667489128562690', 'wf_ops_detail', '详情', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562692', '1412667489128562690', 'wf_ops_follow', '流程图', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562693', '1412667489128562690', 'wf_ops_reject', '驳回', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562694', '1412667489128562690', 'wf_ops_pass', '通过', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562695', '1412667489128562690', 'wf_ops_transfer', '转办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562696', '1412667489128562690', 'wf_ops_delegate', '委托', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562697', '1412667489128562690', 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562698', '1412667489128562690', 'wf_ops_terminate', '终止', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562699', '1412667489128562690', 'wf_ops_copy', '抄送', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562700', '1412667489128562690', 'wf_ops_urge', '催办', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562701', '1412667489128562690', 'wf_ops_active', '激活', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562702', '1412667489128562690', 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562703', '1412667489128562690', 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562704', '1412667489128562690', 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562705', '1412667489128562690', 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562706', '1412667489128562690', 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562800', '1412666776159797249', 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/pages/ops/done', 'iconfont iconicon_safety', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562801', '1412666776159797249', 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/pages/ops/list', 'iconfont iconicon_safety', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1412667489128562802', '1412667489128562801', 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, '1', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638534', '1412666776159797249', 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/pages/ops/proxy', 'iconfont iconicon_send', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638535', '1513394358223638534', 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638536', '1513394358223638534', 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638537', '1513394358223638534', 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513394358223638538', '1513394358223638534', 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682182', '1164733399669963301', 'wf_demo', '业务示例', 'menu', '/plugin/workflow/pages/demo', 'iconfont iconicon_cspace', '4', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682183', '1513683238709682182', 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/pages/demo/leave/index', 'iconfont iconicon_task', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682184', '1513683238709682182', 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, '4', '2', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682185', '1164733399669963301', 'statistics', '流程统计', 'menu', '/plugin/workflow/pages/statistics', 'iconfont iconicon_airplay', '4', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682186', '1513683238709682185', 'wf_statistics', '总览', 'menu', '/plugin/workflow/pages/statistics/index', 'iconfont iconicon_subordinate', '4', '1', '0', '1', NULL, NULL, '0'); + +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682187', '1164733399669963301', 'wf_chat', '聊一聊', 'menu', '/plugin/workflow/chat', 'iconfont iconicon_sms', '0', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682188', '1513683238709682187', 'wf_chat_app', '应用管理', 'menu', '/plugin/workflow/pages/chat/app', 'iconfont icon-yingyongguanli', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682189', '1513683238709682188', 'wf_chat_app_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682190', '1513683238709682188', 'wf_chat_app_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682191', '1513683238709682188', 'wf_chat_app_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682192', '1513683238709682188', 'wf_chat_app_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682193', '1513683238709682187', 'wf_chat_assistant', '助手管理', 'menu', '/plugin/workflow/pages/chat/assistant', 'iconfont icon-gongnengdingyi', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682194', '1513683238709682193', 'wf_chat_assistant_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682195', '1513683238709682193', 'wf_chat_assistant_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682196', '1513683238709682193', 'wf_chat_assistant_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682197', '1513683238709682193', 'wf_chat_assistant_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682198', '1513683238709682187', 'wf_chat_workbench', '工作台', 'menu', '/plugin/workflow/pages/chat/workbench', 'iconfont icon-wuguan', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682199', '1513683238709682187', 'wf_chat_index', '聊一聊', 'menu', '/plugin/workflow/pages/chat/index', 'iconfont icon-shebeizhuangtai', '0', '1', '0', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/postgres/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/postgres/bladex_workflow.sql new file mode 100644 index 0000000..2a9f513 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/postgres/bladex_workflow.sql @@ -0,0 +1,2044 @@ +-- ---------------------------- +-- Table structure for act_de_model +-- ---------------------------- +DROP TABLE IF EXISTS "act_de_model"; +CREATE TABLE "act_de_model" ( + "id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(400) COLLATE "pg_catalog"."default" NOT NULL, + "model_key" varchar(400) COLLATE "pg_catalog"."default" NOT NULL, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "category_id" int8, + "description" varchar(4000) COLLATE "pg_catalog"."default", + "model_comment" varchar(4000) COLLATE "pg_catalog"."default", + "created" timestamp(6), + "created_by" varchar(255) COLLATE "pg_catalog"."default", + "last_updated" timestamp(6), + "last_updated_by" varchar(255) COLLATE "pg_catalog"."default", + "version" int4, + "model_xml" text COLLATE "pg_catalog"."default", + "model_editor_json" text COLLATE "pg_catalog"."default", + "thumbnail" bytea, + "model_type" int4, + "tenant_id" varchar(255) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying, + "icon" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "act_de_model" OWNER TO "postgres"; +COMMENT ON COLUMN "act_de_model"."name" IS '名称'; +COMMENT ON COLUMN "act_de_model"."model_key" IS '模型标识'; +COMMENT ON COLUMN "act_de_model"."form_key" IS '表单标识'; +COMMENT ON COLUMN "act_de_model"."category_id" IS '分类id'; +COMMENT ON COLUMN "act_de_model"."description" IS '描述'; +COMMENT ON COLUMN "act_de_model"."model_comment" IS '评论'; +COMMENT ON COLUMN "act_de_model"."created" IS '创建时间'; +COMMENT ON COLUMN "act_de_model"."created_by" IS '创建人'; +COMMENT ON COLUMN "act_de_model"."last_updated" IS '最后更新时间'; +COMMENT ON COLUMN "act_de_model"."last_updated_by" IS '最后更新人'; +COMMENT ON COLUMN "act_de_model"."version" IS '版本'; +COMMENT ON COLUMN "act_de_model"."model_xml" IS '模型XML'; +COMMENT ON COLUMN "act_de_model"."model_editor_json" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "act_de_model"."thumbnail" IS '缩略图'; +COMMENT ON COLUMN "act_de_model"."model_type" IS '类型'; +COMMENT ON COLUMN "act_de_model"."tenant_id" IS '租户id'; +COMMENT ON COLUMN "act_de_model"."icon" IS '图标'; +COMMENT ON TABLE "act_de_model" IS '流程 - 定义 - 模型'; + +-- ---------------------------- +-- Records of act_de_model +-- ---------------------------- +BEGIN; +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id", "icon") VALUES ('0676f2277420b7dc67f69dd3a0ec1164', '请假流程 - 外置表单', 'ex-leave', 'wf_ex_Leave', 1642162799092207618, NULL, NULL, '2021-06-08 08:40:51.901', '1123598821738675201', '2023-04-09 18:28:29.244', '1123598821738675201', 1, ' + + + + + + + + + + + + + + + + Flow_1itpbiu + + + + + + + + + + + + + + + + + + + + Flow_1itpbiu + Flow_0eeuztq + + + + + + + + + + + + + + + + + + + + + Flow_0eeuztq + Flow_1vu0qon + + + + + + + + + + + + + + + + + + + + + Flow_1vu0qon + Flow_1d63z9m + + + + Flow_1d63z9m + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, '000000', NULL); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id", "icon") VALUES ('2f6b3b6de24354bb5df5aad3a87789af', '请假流程', 'leave', 'leave', 1642162799092207618, NULL, NULL, '2021-06-01 22:14:07.363', '1123598821738675201', '2023-04-09 18:03:28.913', '1123598821738675201', 1, ' + + + + + + + + + + + + + + + Flow_0myeljb + + + + + + + + + + + + + + + + + + + + + Flow_0myeljb + Flow_0bz2pj7 + + + + + + + + + + + + + + + + + + + + + + Flow_0bz2pj7 + Flow_1pf3fia + + + + Flow_1pf3fia + Flow_0of3zct + Flow_139q6po + + + + + + + + + + + + + + + + + + + + + + Flow_0of3zct + Flow_1dmv86y + + + ${days<5} + + + + + + + + + + + + + + + + + + + + + Flow_139q6po + Flow_1bugorc + + + ${days>=5} + + + Flow_1dmv86y + Flow_1bugorc + Flow_0vtl8w4 + + + + + Flow_0vtl8w4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, '000000', NULL); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id", "icon") VALUES ('5b7a367e1139f1ab5cb1e6210685fa91', '多实例示例', 'demo-multi-instance', 'demo-test', 1642162799092207618, NULL, NULL, '2021-06-25 20:35:27.522', '1123598821738675201', '2021-06-25 21:12:43.852', '1123598821738675201', 1, ' + + + + + + + + + + Flow_1i5g9nh + + + + + + + + + + + + + + + + Flow_1i5g9nh + Flow_15l5hak + + + + + + + + + + + + + + + + + Flow_15l5hak + Flow_0afq5tt + + ${nrOfCompletedInstances/nrOfInstances >= 0.5} + + + + + + + + + + + + + + + + + + Flow_0afq5tt + Flow_0dera7k + + ${nrOfCompletedInstances/nrOfInstances >= 1} + + + + + Flow_0dera7k + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, '000000', NULL); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id", "icon") VALUES ('617167d80b6051708484bbedfb72a137', '人员/流转调用自定义方法示例', 'demo-custom-method', 'demo-test', 1642162799092207618, NULL, NULL, '2021-11-29 09:42:20.068', '1123598821738675201', '2021-12-01 19:18:18.463', '1123598821738675201', 1, ' + + + 人员/流转调用自定义方法示例 + + + + + Flow_0yhobgw + + + + + + + + + + + + + + + + Flow_0yhobgw + Flow_1t6zwdf + + + + + + + + + + + + + + + + + Flow_1t6zwdf + Flow_0kxxs74 + + + + + + + + + + + + + + + + + Flow_0kxxs74 + Flow_01h467o + + + + + + + + + + + + + + + + + Flow_0kdt4xu + Flow_1x5wxzy + + + + + + + + + + + + + + + + Flow_0jw1ae2 + Flow_00r5t9o + + + Flow_1fun2ye + + + Flow_01h467o + Flow_0kdt4xu + Flow_0jw1ae2 + + + + ${wfCustomUserHandler.condition(execution, ''对'')} + + + ${wfCustomUserHandler.condition(execution, ''错'')} + + + Flow_1x5wxzy + Flow_00r5t9o + Flow_1fun2ye + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, '000000', NULL); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id", "icon") VALUES ('d71049b6ba4eda39cacf9baf984274ac', '节点独立表单示例', 'demo-indep-form', 'wf_indep_default-value', 1642162799092207618, NULL, NULL, '2021-10-11 21:32:41.567', '1123598821738675201', '2023-04-01 21:53:04.657', '1123598821738675201', 1, ' + + + + + + + + + + + + + + + + + Flow_0u2w7hr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flow_0u2w7hr + Flow_1gfy6oq + + + + + + + + + + + + + + + + + Flow_1gfy6oq + Flow_016wlba + + + + + + + + + + + + + + + + Flow_016wlba + Flow_1omx17n + + + + Flow_1omx17n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, '000000', NULL); +INSERT INTO "act_de_model" ("id", "name", "model_key", "form_key", "category_id", "description", "model_comment", "created", "created_by", "last_updated", "last_updated_by", "version", "model_xml", "model_editor_json", "thumbnail", "model_type", "tenant_id", "icon") VALUES ('fb4c1a6a8c4588779a2519a547966846', '表单默认值示例', 'demo-default-values', 'default-value', 1642162799092207618, NULL, NULL, '2021-05-31 21:39:46.545', '1123598821738675201', '2023-04-01 21:53:15.684', '1123598821738675201', 1, ' + + + + + + + + + + + + + + + + Flow_0c932wc + + + + + + + + + + + + + + + + + + + + + + + + Flow_0c932wc + Flow_042y9oy + + + + + + + + + + + + + + + + + + + + + + + + + Flow_042y9oy + Flow_0c47aum + + + + + + + + + + + + + + + + + + + + + + + + + Flow_0c47aum + Flow_1ehhsly + + + + Flow_1ehhsly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, '000000', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for act_de_model_history +-- ---------------------------- +DROP TABLE IF EXISTS "act_de_model_history"; +CREATE TABLE "act_de_model_history" ( + "id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "name" varchar(400) COLLATE "pg_catalog"."default" NOT NULL, + "model_key" varchar(400) COLLATE "pg_catalog"."default" NOT NULL, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "category_id" int8, + "description" varchar(4000) COLLATE "pg_catalog"."default", + "model_comment" varchar(4000) COLLATE "pg_catalog"."default", + "created" timestamp(6), + "created_by" varchar(255) COLLATE "pg_catalog"."default", + "last_updated" timestamp(6), + "last_updated_by" varchar(255) COLLATE "pg_catalog"."default", + "removal_date" timestamp(6), + "version" int4, + "model_xml" text COLLATE "pg_catalog"."default", + "model_editor_json" text COLLATE "pg_catalog"."default", + "model_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "model_type" int4, + "tenant_id" varchar(255) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying, + "icon" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "act_de_model_history" OWNER TO "postgres"; +COMMENT ON COLUMN "act_de_model_history"."name" IS '名称'; +COMMENT ON COLUMN "act_de_model_history"."model_key" IS '模型标识'; +COMMENT ON COLUMN "act_de_model_history"."form_key" IS '表单标识'; +COMMENT ON COLUMN "act_de_model_history"."category_id" IS '分类id'; +COMMENT ON COLUMN "act_de_model_history"."description" IS '描述'; +COMMENT ON COLUMN "act_de_model_history"."model_comment" IS '注释'; +COMMENT ON COLUMN "act_de_model_history"."created" IS '创建时间'; +COMMENT ON COLUMN "act_de_model_history"."created_by" IS '创建人'; +COMMENT ON COLUMN "act_de_model_history"."last_updated" IS '最后更新时间'; +COMMENT ON COLUMN "act_de_model_history"."last_updated_by" IS '最后更新人'; +COMMENT ON COLUMN "act_de_model_history"."removal_date" IS '移除时间'; +COMMENT ON COLUMN "act_de_model_history"."version" IS '版本'; +COMMENT ON COLUMN "act_de_model_history"."model_xml" IS '模型XML'; +COMMENT ON COLUMN "act_de_model_history"."model_editor_json" IS 'flowable-ui编辑器json'; +COMMENT ON COLUMN "act_de_model_history"."model_id" IS 'modelId'; +COMMENT ON COLUMN "act_de_model_history"."model_type" IS '类型'; +COMMENT ON COLUMN "act_de_model_history"."tenant_id" IS '租户id'; +COMMENT ON COLUMN "act_de_model_history"."icon" IS '图标'; +COMMENT ON TABLE "act_de_model_history" IS '流程 - 定义 - 模型历史'; + +-- ---------------------------- +-- Records of act_de_model_history +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_chat_app +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_chat_app"; +CREATE TABLE "blade_wf_chat_app" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "img_url" varchar(255) COLLATE "pg_catalog"."default", + "api_url" varchar(255) COLLATE "pg_catalog"."default", + "api_key" varchar(255) COLLATE "pg_catalog"."default", + "api_url_prod" varchar(255) COLLATE "pg_catalog"."default", + "api_key_prod" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "iframe_url" varchar(255) COLLATE "pg_catalog"."default", + "iframe_url_prod" varchar(255) COLLATE "pg_catalog"."default", + "remark" varchar(255) COLLATE "pg_catalog"."default", + "tenant_id" varchar(12) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 +) +; +ALTER TABLE "blade_wf_chat_app" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_chat_app"."id" IS 'ID'; +COMMENT ON COLUMN "blade_wf_chat_app"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_chat_app"."img_url" IS '图片'; +COMMENT ON COLUMN "blade_wf_chat_app"."api_url" IS '应用请求地址'; +COMMENT ON COLUMN "blade_wf_chat_app"."api_key" IS '应用请求密钥'; +COMMENT ON COLUMN "blade_wf_chat_app"."api_url_prod" IS 'prod应用请求地址'; +COMMENT ON COLUMN "blade_wf_chat_app"."api_key_prod" IS 'prod应用请求密钥'; +COMMENT ON COLUMN "blade_wf_chat_app"."type" IS '类型 workflow工作流 chatflow对话工作流 chat对话 agent智能体 completion文本生成应用'; +COMMENT ON COLUMN "blade_wf_chat_app"."iframe_url" IS 'iframe地址'; +COMMENT ON COLUMN "blade_wf_chat_app"."iframe_url_prod" IS 'prod iframe地址'; +COMMENT ON COLUMN "blade_wf_chat_app"."remark" IS '备注'; +COMMENT ON COLUMN "blade_wf_chat_app"."tenant_id" IS '租户ID'; +COMMENT ON COLUMN "blade_wf_chat_app"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_chat_app"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_chat_app"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_chat_app"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_chat_app"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_chat_app"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_chat_app"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_chat_app" IS 'dify - 应用'; + +-- ---------------------------- +-- Table structure for blade_wf_chat_assistant +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_chat_assistant"; +CREATE TABLE "blade_wf_chat_assistant" ( + "id" int8 NOT NULL, + "app_id" int8, + "app_type" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "img_url" varchar(255) COLLATE "pg_catalog"."default", + "description" varchar(255) COLLATE "pg_catalog"."default", + "system_prompt" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "tenant_id" varchar(12) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 +) +; +ALTER TABLE "blade_wf_chat_assistant" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_chat_assistant"."id" IS 'ID'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."app_id" IS '应用id'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."app_type" IS '应用类型'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."img_url" IS '图片'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."description" IS '描述'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."system_prompt" IS '系统提示词'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."type" IS '类型'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."tenant_id" IS '租户ID'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_chat_assistant" IS 'dify - 应用助手'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_chat_app +-- ---------------------------- +ALTER TABLE "blade_wf_chat_app" ADD CONSTRAINT "blade_wf_chat_app_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_chat_assistant +-- ---------------------------- +CREATE INDEX "WF_IDX_APP_ID" ON "blade_wf_chat_assistant" USING btree ( + "app_id" "pg_catalog"."int8_ops" ASC NULLS LAST +); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_chat_assistant +-- ---------------------------- +ALTER TABLE "blade_wf_chat_assistant" ADD CONSTRAINT "blade_wf_chat_assistant_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Table structure for blade_wf_button +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_button"; +CREATE TABLE "blade_wf_button" ( + "id" int8 NOT NULL, + "button_key" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "display" bool, + "sort" int4, + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_button" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_button"."button_key" IS '按钮key'; +COMMENT ON COLUMN "blade_wf_button"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_button"."display" IS '默认是否显示'; +COMMENT ON COLUMN "blade_wf_button"."sort" IS '排序'; +COMMENT ON COLUMN "blade_wf_button"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_button"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_button"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_button"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_button"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_button"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_button"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_button"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_button" IS '流程按钮'; + +-- ---------------------------- +-- Records of blade_wf_button +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394176899911041025, 'wf_pass', '通过', true, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 14:24:10', 1123598821738675201, '2021-05-16 14:24:10', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394177198465794050, 'wf_reject', '驳回', true, 2, 1123598821738675201, 1123598813738675201, '2021-05-16 14:25:21', 1123598821738675201, '2021-05-16 14:25:21', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394179125421326337, 'wf_print', '打印', true, 3, 1123598821738675201, 1123598813738675201, '2021-05-16 14:33:01', 1123598821738675201, '2021-05-16 14:33:01', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394609969089761281, 'wf_transfer', '转办', true, 4, 1123598821738675201, 1123598813738675201, '2021-05-16 19:05:02', 1123598821738675201, '2021-05-16 19:05:02', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394610036672581634, 'wf_delegate', '委托', true, 5, 1123598821738675201, 1123598813738675201, '2021-05-16 19:05:18', 1123598821738675201, '2021-05-16 19:05:18', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1395271519601426433, 'wf_terminate', '终止', true, 6, 1123598821738675201, 1123598813738675201, '2021-05-20 14:53:48', 1123598821738675201, '2021-05-20 14:53:48', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1395274709692579841, 'wf_add_instance', '加签', true, 7, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:28', 1123598821738675201, '2021-05-20 15:06:28', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1395274774674931713, 'wf_del_instance', '减签', true, 8, 1123598821738675201, 1123598813738675201, '2021-05-20 15:06:44', 1123598821738675201, '2021-05-20 15:06:44', 1, 0, '000000'); +INSERT INTO "blade_wf_button" ("id", "button_key", "name", "display", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1395274955986305025, 'wf_rollback', '指定回退', true, 9, 1123598821738675201, 1123598813738675201, '2021-05-20 15:07:27', 1123598821738675201, '2021-05-20 15:07:27', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_category +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_category"; +CREATE TABLE "blade_wf_category" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "pid" int8 DEFAULT 0, + "sort" int4, + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_category" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_category"."name" IS '分类名称'; +COMMENT ON COLUMN "blade_wf_category"."pid" IS '上级id'; +COMMENT ON COLUMN "blade_wf_category"."sort" IS '排序'; +COMMENT ON COLUMN "blade_wf_category"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_category"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_category"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_category"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_category"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_category"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_category"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_category"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_category" IS '流程分类'; + +-- ---------------------------- +-- Records of blade_wf_category +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_category" ("id", "name", "pid", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394133715940073474, '请假流程', 0, 2, 1123598821738675201, 1123598813738675201, '2021-05-16 11:32:34', 1123598821738675201, '2023-04-01 21:51:42', '1', 0, '000000'); +INSERT INTO "blade_wf_category" ("id", "name", "pid", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394158934813609986, '财务流程', 0, 3, 1123598821738675201, 1123598813738675201, '2021-05-16 13:12:47', 1123598821738675201, '2023-04-01 21:51:49', '1', 0, '000000'); +INSERT INTO "blade_wf_category" ("id", "name", "pid", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1394159147934584833, '报销流程', 1394158934813609986, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 13:13:38', 1123598821738675201, '2021-05-16 13:13:38', '1', 0, '000000'); +INSERT INTO "blade_wf_category" ("id", "name", "pid", "sort", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1642162799092207618, '示例流程', 0, 1, 1123598821738675201, 1123598813738675201, '2023-04-01 21:51:36', 1123598821738675201, '2023-04-01 21:51:36', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_condition +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_condition"; +CREATE TABLE "blade_wf_condition" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "expression" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_condition" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_condition"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_condition"."expression" IS '表达式'; +COMMENT ON COLUMN "blade_wf_condition"."type" IS '类型'; +COMMENT ON COLUMN "blade_wf_condition"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_condition"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_condition"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_condition"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_condition"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_condition"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_condition"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_condition"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_condition" IS '流程表达式'; + +-- ---------------------------- +-- Records of blade_wf_condition +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_condition" ("id", "name", "expression", "type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408267023015739393, '流程发起人', 'applyUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:17', 1123598821738675201, '2021-06-25 11:33:17', '1', 0, '000000'); +INSERT INTO "blade_wf_condition" ("id", "name", "expression", "type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408267100878798850, '当前操作人', 'currentUser', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 11:33:36', 1123598821738675201, '2021-06-25 11:33:36', '1', 0, '000000'); +INSERT INTO "blade_wf_condition" ("id", "name", "expression", "type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408305933398896641, '上级部门领导', 'leader', 'user', 1123598821738675201, 1123598813738675201, '2021-06-25 14:07:54', 1123598821738675201, '2021-06-25 14:07:54', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_copy +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_copy"; +CREATE TABLE "blade_wf_copy" ( + "id" int8 NOT NULL, + "user_id" int8, + "title" varchar(255) COLLATE "pg_catalog"."default", + "initiator" varchar(255) COLLATE "pg_catalog"."default", + "task_id" varchar(255) COLLATE "pg_catalog"."default", + "process_id" varchar(255) COLLATE "pg_catalog"."default", + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "form_url" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0 +) +; +ALTER TABLE "blade_wf_copy" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_copy"."user_id" IS '用户id'; +COMMENT ON COLUMN "blade_wf_copy"."title" IS '标题'; +COMMENT ON COLUMN "blade_wf_copy"."initiator" IS '发起者'; +COMMENT ON COLUMN "blade_wf_copy"."task_id" IS '任务id'; +COMMENT ON COLUMN "blade_wf_copy"."process_id" IS '流程实例id'; +COMMENT ON COLUMN "blade_wf_copy"."deployment_id" IS '流程部署id'; +COMMENT ON COLUMN "blade_wf_copy"."form_key" IS '外置表单key'; +COMMENT ON COLUMN "blade_wf_copy"."form_url" IS '外置表单url'; +COMMENT ON COLUMN "blade_wf_copy"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_copy"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_copy"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_copy"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_copy"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_copy"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_copy"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_copy" IS '流程抄送'; + +-- ---------------------------- +-- Records of blade_wf_copy +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_deployment_form +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_deployment_form"; +CREATE TABLE "blade_wf_deployment_form" ( + "id" int8 NOT NULL, + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "content" text COLLATE "pg_catalog"."default", + "app_content" text COLLATE "pg_catalog"."default", + "task_key" varchar(255) COLLATE "pg_catalog"."default", + "task_name" varchar(255) COLLATE "pg_catalog"."default", + "table_name" varchar(255) COLLATE "pg_catalog"."default", + "table_comment" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0 +) +; +ALTER TABLE "blade_wf_deployment_form" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_deployment_form"."deployment_id" IS '流程部署id'; +COMMENT ON COLUMN "blade_wf_deployment_form"."form_key" IS '表单key'; +COMMENT ON COLUMN "blade_wf_deployment_form"."content" IS '表单内容'; +COMMENT ON COLUMN "blade_wf_deployment_form"."app_content" IS 'app表单内容'; +COMMENT ON COLUMN "blade_wf_deployment_form"."task_key" IS '节点key'; +COMMENT ON COLUMN "blade_wf_deployment_form"."task_name" IS '节点名称'; +COMMENT ON COLUMN "blade_wf_deployment_form"."table_name" IS '表名称'; +COMMENT ON COLUMN "blade_wf_deployment_form"."table_comment" IS '表注释'; +COMMENT ON COLUMN "blade_wf_deployment_form"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_deployment_form"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_deployment_form"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_deployment_form"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_deployment_form"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_deployment_form"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_deployment_form"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_deployment_form" IS '流程部署 - 表单'; + +-- ---------------------------- +-- Records of blade_wf_deployment_form +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_draft +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_draft"; +CREATE TABLE "blade_wf_draft" ( + "id" int8 NOT NULL, + "user_id" int8, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "process_def_id" varchar(255) COLLATE "pg_catalog"."default", + "task_id" varchar(255) COLLATE "pg_catalog"."default", + "variables" text COLLATE "pg_catalog"."default", + "platform" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "blade_wf_draft" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_draft"."user_id" IS '用户id'; +COMMENT ON COLUMN "blade_wf_draft"."form_key" IS '表单key'; +COMMENT ON COLUMN "blade_wf_draft"."process_def_id" IS '流程定义id'; +COMMENT ON COLUMN "blade_wf_draft"."task_id" IS '流程定义id'; +COMMENT ON COLUMN "blade_wf_draft"."variables" IS '表单变量'; +COMMENT ON COLUMN "blade_wf_draft"."platform" IS '平台 pc/app'; +COMMENT ON TABLE "blade_wf_draft" IS '流程草稿箱'; + +-- ---------------------------- +-- Records of blade_wf_draft +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form"; +CREATE TABLE "blade_wf_form" ( + "id" int8 NOT NULL, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "content" text COLLATE "pg_catalog"."default", + "app_content" text COLLATE "pg_catalog"."default", + "version" int4, + "category_id" int8, + "remark" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form"."form_key" IS '表单key'; +COMMENT ON COLUMN "blade_wf_form"."name" IS '表单名称'; +COMMENT ON COLUMN "blade_wf_form"."content" IS '表单内容'; +COMMENT ON COLUMN "blade_wf_form"."app_content" IS 'app表单内容'; +COMMENT ON COLUMN "blade_wf_form"."version" IS '版本'; +COMMENT ON COLUMN "blade_wf_form"."category_id" IS '分类id'; +COMMENT ON COLUMN "blade_wf_form"."remark" IS '备注'; +COMMENT ON COLUMN "blade_wf_form"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form" IS '流程表单'; + +-- ---------------------------- +-- Records of blade_wf_form +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_form" ("id", "form_key", "name", "content", "app_content", "version", "category_id", "remark", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399359377009377281, 'default-value', '测试默认值', '{column:[{type:''input'',label:''人事姓名'',span:24,display:true,prop:''1622472547203_21841'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''人事职位'',span:24,display:true,prop:''1622553629767_65211'',value:''${this.$store.getters.userInfo.post_name}''},{type:''input'',label:''人事部门'',span:24,display:true,prop:''1622472547375_86557'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''当前日期'',span:24,display:true,prop:''1622553629949_3168'',value:''${this.dateFormat(new Date(),\"YYYY-MM-DD\")}''},{type:''input'',label:''当前时间'',span:24,display:true,prop:''1622553631752_15562'',value:''${this.dateFormat(new Date(),\"HH:mm:ss\")}''},{type:''input'',label:''人事姓名和日期'',span:24,display:true,prop:''1622553691156_69886'',value:''${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"YYYY-MM-DD\")}''},{type:''input'',label:''经理姓名'',span:24,display:true,prop:''1622472547780_5707'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''经理部门'',span:24,display:true,prop:''1622472547975_90560'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''老板姓名'',span:24,display:true,prop:''1622472548372_60141'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''老板部门'',span:24,display:true,prop:''1622472548560_32474'',value:''${this.$store.getters.userInfo.dept_name}''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"人事姓名","span":24,"display":true,"prop":"1622472547203_21841","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"人事职位","span":24,"display":true,"prop":"1622553629767_65211","value":"${this.$store.getters.userInfo.post_name}"},{"type":"input","label":"人事部门","span":24,"display":true,"prop":"1622472547375_86557","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"当前日期","span":24,"display":true,"prop":"1622553629949_3168","value":"${this.dateFormat(new Date(),\"YYYY-MM-DD\")}"},{"type":"input","label":"当前时间","span":24,"display":true,"prop":"1622553631752_15562","value":"${this.dateFormat(new Date(),\"HH:mm:ss\")}"},{"type":"input","label":"人事姓名和日期","span":24,"display":true,"prop":"1622553691156_69886","value":"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"YYYY-MM-DD\")}"},{"type":"input","label":"经理姓名","span":24,"display":true,"prop":"1622472547780_5707","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"经理部门","span":24,"display":true,"prop":"1622472547975_90560","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"老板姓名","span":24,"display":true,"prop":"1622472548372_60141","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"老板部门","span":24,"display":true,"prop":"1622472548560_32474","value":"${this.$store.getters.userInfo.dept_name}"}],"labelPosition":"left","labelSuffix":":","labelWidth":140,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, 1642162799092207618, '', 1123598821738675201, 1123598813738675201, '2021-05-31 21:37:29', 1123598821738675201, '2023-04-01 21:58:47', '1', 0, '000000'); +INSERT INTO "blade_wf_form" ("id", "form_key", "name", "content", "app_content", "version", "category_id", "remark", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399729025840140290, 'leave', '请假流程表单', '{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''YYYY-MM-DD HH:mm:ss'',valueFormat:''YYYY-MM-DD HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { + let days + if (!value || value.length == 0) { + days = undefined + } else { + const d1 = Date.parse(value.split('','')[0]) + const d2 = Date.parse(value.split('','')[1]) + const day = (d2-d1)/(1*24*60*60*1000) + days = Number(day.toFixed(2)) + } + this.form.days = days +},dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { + let reason + if (value) reason = ''请假'' + value + ''天'' + else reason = '''' + this.form.reason = reason +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"YYYY-MM-DD HH:mm:ss","valueFormat":"YYYY-MM-DD HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n let days\r\n if (!value || value.length == 0) {\r\n days = undefined\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n days = Number(day.toFixed(2))\r\n }\r\n this.form.days = days\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n let reason\n if (value) reason = ''请假'' + value + ''天''\n else reason = ''''\n this.form.reason = reason\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, 1642162799092207618, '', 1123598821738675201, 1123598813738675201, '2021-06-01 22:06:20', 1123598821738675201, '2023-04-09 18:03:17', '1', 0, '000000'); +INSERT INTO "blade_wf_form" ("id", "form_key", "name", "content", "app_content", "version", "category_id", "remark", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408402768310304770, 'demo-test', '测试简单表单', '{column:[{type:''input'',label:''单行文本'',span:24,display:true,prop:''1624624365132_23209''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"input","label":"单行文本","span":24,"display":true,"prop":"1624624365132_23209"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, 1642162799092207618, '', 1123598821738675201, 1123598813738675201, '2021-06-25 20:32:41', 1123598821738675201, '2023-04-01 21:58:47', '1', 0, '000000'); +INSERT INTO "blade_wf_form" ("id", "form_key", "name", "content", "app_content", "version", "category_id", "remark", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1429672727182159874, 'field-linkage', '字段联动', '{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input''},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.form.input2 = text +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', '{"column":[{"type":"switch","label":"控制显隐","span":24,"display":true,"value":"0","dicData":[{"label":"","value":"0"},{"label":"","value":"1"}],"prop":"1629695558953_19833","change":"({value}) => {\r\n const input = this.findObject(this.option.column, ''input'')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input"},{"type":"select","label":"值改变","dicData":[{"label":"一天","value":"1"},{"label":"两天","value":"2"},{"label":"三天","value":"3"}],"cascaderItem":[],"span":24,"display":true,"props":{"label":"label","value":"value"},"prop":"1629695859796_23456","change":"({value}) => {\r\n let text = value\r\n if(value) {\r\n text = ''请假 '' + value + '' 天''\r\n }\r\n this.form.input2 = text\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input2"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, 1642162799092207618, '字段联动示例', 1123598821738675201, 1123598813738675201, '2021-08-23 13:11:54', 1123598821738675201, '2023-04-01 21:58:47', '1', 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_default_values +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_default_values"; +CREATE TABLE "blade_wf_form_default_values" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "content" varchar(255) COLLATE "pg_catalog"."default", + "field_type" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_default_values" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_default_values"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_form_default_values"."content" IS '内容'; +COMMENT ON COLUMN "blade_wf_form_default_values"."field_type" IS '字段类型'; +COMMENT ON COLUMN "blade_wf_form_default_values"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_default_values"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_default_values"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_default_values"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_default_values"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_default_values"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_default_values"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_default_values"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_default_values" IS '流程表单字段默认值'; + +-- ---------------------------- +-- Records of blade_wf_form_default_values +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399346112331087873, '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:44:46', 1123598821738675201, '2021-05-31 20:56:32', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399347906465595393, '当前操作人部门', '${this.$store.getters.userInfo.dept_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:51:54', 1123598821738675201, '2021-05-31 20:56:41', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399717069960855553, '当前日期', '${this.dateFormat(new Date(),"YYYY-MM-DD")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:18:50', 1123598821738675201, '2023-04-01 21:44:30', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399717187904684034, '当前操作人职位', '${this.$store.getters.userInfo.post_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:18', 1123598821738675201, '2021-06-01 21:19:18', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399717285564858369, '当前时间', '${this.dateFormat(new Date(),"HH:mm:ss")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:41', 1123598821738675201, '2023-04-01 17:27:03', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1399718803940655106, '当前操作人姓名和日期', '${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),"YYYY-MM-DD")}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:25:43', 1123598821738675201, '2023-04-01 21:46:20', '1', 0, '000000'); +INSERT INTO "blade_wf_form_default_values" ("id", "name", "content", "field_type", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1408401952027443201, '当前操作人姓名', '${this.$store.getters.userInfo.nick_name}', 'input', 1123598821738675201, 1123598813738675201, '2021-06-25 20:29:27', 1123598821738675201, '2021-06-25 20:29:32', '1', 1, '000000'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_history +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_history"; +CREATE TABLE "blade_wf_form_history" ( + "id" int8 NOT NULL, + "form_id" int8, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "content" text COLLATE "pg_catalog"."default", + "app_content" text COLLATE "pg_catalog"."default", + "version" int4, + "category_id" int8, + "remark" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0 +) +; +ALTER TABLE "blade_wf_form_history" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_history"."form_id" IS '表单id'; +COMMENT ON COLUMN "blade_wf_form_history"."form_key" IS '表单key'; +COMMENT ON COLUMN "blade_wf_form_history"."name" IS '表单名称'; +COMMENT ON COLUMN "blade_wf_form_history"."content" IS '表单内容'; +COMMENT ON COLUMN "blade_wf_form_history"."app_content" IS 'app表单内容'; +COMMENT ON COLUMN "blade_wf_form_history"."version" IS '版本'; +COMMENT ON COLUMN "blade_wf_form_history"."category_id" IS '分类id'; +COMMENT ON COLUMN "blade_wf_form_history"."remark" IS '备注'; +COMMENT ON COLUMN "blade_wf_form_history"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_history"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_history"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_history"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_history"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_history"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_history"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_form_history" IS '流程表单'; + +-- ---------------------------- +-- Records of blade_wf_form_history +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_theme"; +CREATE TABLE "blade_wf_form_theme" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "theme_key" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "border_width" varchar(255) COLLATE "pg_catalog"."default", + "border_color" varchar(255) COLLATE "pg_catalog"."default", + "label_color" varchar(255) COLLATE "pg_catalog"."default", + "label_bg" varchar(255) COLLATE "pg_catalog"."default", + "label_width" varchar(255) COLLATE "pg_catalog"."default", + "label_font_size" varchar(255) COLLATE "pg_catalog"."default", + "value_color" varchar(255) COLLATE "pg_catalog"."default", + "value_bg" varchar(255) COLLATE "pg_catalog"."default", + "value_font_size" varchar(255) COLLATE "pg_catalog"."default", + "field0" varchar(255) COLLATE "pg_catalog"."default", + "field1" varchar(255) COLLATE "pg_catalog"."default", + "field2" varchar(255) COLLATE "pg_catalog"."default", + "field3" varchar(255) COLLATE "pg_catalog"."default", + "field4" varchar(255) COLLATE "pg_catalog"."default", + "field5" varchar(255) COLLATE "pg_catalog"."default", + "field6" varchar(255) COLLATE "pg_catalog"."default", + "field7" varchar(255) COLLATE "pg_catalog"."default", + "field8" varchar(255) COLLATE "pg_catalog"."default", + "field9" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_theme" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_theme"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_form_theme"."theme_key" IS '主题key'; +COMMENT ON COLUMN "blade_wf_form_theme"."border_width" IS '边框宽度'; +COMMENT ON COLUMN "blade_wf_form_theme"."border_color" IS '边框颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_color" IS 'label字体颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_bg" IS 'label背景颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_width" IS 'label宽度'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_font_size" IS 'label字体大小'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_color" IS 'value字体颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_bg" IS 'value背景颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_font_size" IS 'value字体大小'; +COMMENT ON COLUMN "blade_wf_form_theme"."field0" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field1" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field2" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field3" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field4" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field5" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field6" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field7" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field8" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field9" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_theme"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_theme"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_theme"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_theme"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_theme"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_theme" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1, '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', '', '14px', '', '', '14px', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:36:46', 1123598821738675201, '2023-05-04 10:43:18', 1, 0, '000000'); +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (2, '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:16:47', 1123598821738675201, '2023-04-18 11:50:10', 1, 0, '000000'); +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (3, '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598821738675201, '2023-04-04 16:57:35', 1123598821738675201, '2023-05-04 10:43:44', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Indexes structure for table blade_wf_form_theme +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" ON "blade_wf_form_theme" USING btree ( + "theme_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_theme +-- ---------------------------- +ALTER TABLE "blade_wf_form_theme" ADD CONSTRAINT "blade_wf_form_theme_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_variable"; +CREATE TABLE "blade_wf_form_variable" ( + "id" int8 NOT NULL, + "process_ins_id" varchar(255) COLLATE "pg_catalog"."default", + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "task_id" varchar(255) COLLATE "pg_catalog"."default", + "task_def_key" varchar(255) COLLATE "pg_catalog"."default", + "task_name" varchar(255) COLLATE "pg_catalog"."default", + "form_option" text COLLATE "pg_catalog"."default", + "form_variable" text COLLATE "pg_catalog"."default", + "status" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_time" timestamp(6), + "create_dept" int8, + "update_user" int8, + "update_time" timestamp(6), + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_variable" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_variable"."process_ins_id" IS '流程实例id'; +COMMENT ON COLUMN "blade_wf_form_variable"."deployment_id" IS '流程部署id'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_id" IS '任务id'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_def_key" IS '任务节点key'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_name" IS '任务节点名称'; +COMMENT ON COLUMN "blade_wf_form_variable"."form_option" IS '表单js'; +COMMENT ON COLUMN "blade_wf_form_variable"."form_variable" IS '表单值'; +COMMENT ON COLUMN "blade_wf_form_variable"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_variable"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_variable"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_variable"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_variable"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_variable" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_variable +-- ---------------------------- +ALTER TABLE "blade_wf_form_variable" ADD CONSTRAINT "blade_wf_form_variable_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_listener"; +CREATE TABLE "blade_wf_listener" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "category" varchar(255) COLLATE "pg_catalog"."default", + "event" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "val" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +COMMENT ON COLUMN "blade_wf_listener"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_listener"."category" IS '分类'; +COMMENT ON COLUMN "blade_wf_listener"."event" IS '事件'; +COMMENT ON COLUMN "blade_wf_listener"."type" IS '监听类型'; +COMMENT ON COLUMN "blade_wf_listener"."val" IS '值'; +COMMENT ON COLUMN "blade_wf_listener"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_listener"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_listener"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_listener"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_listener"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_listener"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_listener"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_listener"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_listener" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_listener +-- ---------------------------- +ALTER TABLE "blade_wf_listener" ADD CONSTRAINT "blade_wf_listener_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Table structure for blade_wf_model_scope +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_model_scope"; +CREATE TABLE "blade_wf_model_scope" ( + "id" int8 NOT NULL, + "model_id" varchar(255) COLLATE "pg_catalog"."default", + "model_key" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "val" varchar(255) COLLATE "pg_catalog"."default", + "text" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "blade_wf_model_scope" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_model_scope"."model_id" IS '模型id'; +COMMENT ON COLUMN "blade_wf_model_scope"."model_key" IS '模型key'; +COMMENT ON COLUMN "blade_wf_model_scope"."type" IS '类型 user用户 role角色 dept部门 post职位'; +COMMENT ON COLUMN "blade_wf_model_scope"."val" IS '用户/角色/部门/职位 id集合'; +COMMENT ON COLUMN "blade_wf_model_scope"."text" IS '用户/角色/部门/职位 name集合'; +COMMENT ON TABLE "blade_wf_model_scope" IS '流程模型权限'; + +-- ---------------------------- +-- Records of blade_wf_model_scope +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1418455767366799361, '2f6b3b6de24354bb5df5aad3a87789af', 'leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1418457955400978434, '0676f2277420b7dc67f69dd3a0ec1164', 'ex-leave', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1418457988913467393, '5b7a367e1139f1ab5cb1e6210685fa91', 'demo-multi-instance', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1418458020752429058, 'fb4c1a6a8c4588779a2519a547966846', 'test-default-values', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1429675430591442946, '89d9c299dfed64a7834fdb7caccc913f', 'field-linkage', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +INSERT INTO "blade_wf_model_scope" ("id", "model_id", "model_key", "type", "val", "text") VALUES (1447556025547763714, 'd71049b6ba4eda39cacf9baf984274ac', 'indep-form', 'role', '1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', '超级管理员,用户,人事,经理,老板'); +COMMIT; + +-- ---------------------------- +-- Table structure for blade_wf_process_leave +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_process_leave"; +CREATE TABLE "blade_wf_process_leave" ( + "id" int8 NOT NULL, + "process_ins_id" varchar(64) COLLATE "pg_catalog"."default", + "process_def_id" varchar(64) COLLATE "pg_catalog"."default", + "current_node" varchar(64) COLLATE "pg_catalog"."default", + "datetime" varchar(64) COLLATE "pg_catalog"."default", + "days" int4, + "reason" text COLLATE "pg_catalog"."default", + "attachment" text COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6) NOT NULL, + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "form_key" varchar(255) COLLATE "pg_catalog"."default", + "form_url" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "blade_wf_process_leave" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_process_leave"."process_ins_id" IS '流程实例id'; +COMMENT ON COLUMN "blade_wf_process_leave"."process_def_id" IS '流程定义id'; +COMMENT ON COLUMN "blade_wf_process_leave"."current_node" IS '当前节点'; +COMMENT ON COLUMN "blade_wf_process_leave"."datetime" IS '时间范围'; +COMMENT ON COLUMN "blade_wf_process_leave"."days" IS '请假天数'; +COMMENT ON COLUMN "blade_wf_process_leave"."reason" IS '请假理由'; +COMMENT ON COLUMN "blade_wf_process_leave"."attachment" IS '附件'; +COMMENT ON COLUMN "blade_wf_process_leave"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_process_leave"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_process_leave"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_process_leave"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_process_leave"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_process_leave"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_process_leave"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_process_leave"."form_key" IS '外置表单key'; +COMMENT ON COLUMN "blade_wf_process_leave"."form_url" IS '外置表单url'; +COMMENT ON TABLE "blade_wf_process_leave" IS '请假流程业务示例'; + +-- ---------------------------- +-- Table structure for blade_wf_proxy +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_proxy"; +CREATE TABLE "blade_wf_proxy" ( + "id" int8 NOT NULL, + "user_id" int8, + "proxy_user_id" int8, + "process_def_key" varchar(750) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "start_time" timestamp(6), + "end_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default" +) +; +ALTER TABLE "blade_wf_proxy" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_proxy"."user_id" IS '委托人'; +COMMENT ON COLUMN "blade_wf_proxy"."proxy_user_id" IS '代理人'; +COMMENT ON COLUMN "blade_wf_proxy"."process_def_key" IS '流程定义key'; +COMMENT ON COLUMN "blade_wf_proxy"."type" IS '1永久 2定时'; +COMMENT ON COLUMN "blade_wf_proxy"."start_time" IS '开始时间'; +COMMENT ON COLUMN "blade_wf_proxy"."end_time" IS '结束时间'; +COMMENT ON COLUMN "blade_wf_proxy"."status" IS '状态'; +COMMENT ON TABLE "blade_wf_proxy" IS '流程代理'; + +-- ---------------------------- +-- Table structure for blade_wf_serial +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_serial"; +CREATE TABLE "blade_wf_serial" ( + "id" int8 NOT NULL, + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "prefix" varchar(255) COLLATE "pg_catalog"."default", + "date_format" varchar(255) COLLATE "pg_catalog"."default", + "suffix_length" int4, + "start_sequence" int4, + "connector" varchar(255) COLLATE "pg_catalog"."default", + "current_sequence" int4, + "cycle" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" varchar(255) COLLATE "pg_catalog"."default", + "is_deleted" int4 DEFAULT 0 +) +; +ALTER TABLE "blade_wf_serial" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_serial"."deployment_id" IS '部署id'; +COMMENT ON COLUMN "blade_wf_serial"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_serial"."prefix" IS '前缀'; +COMMENT ON COLUMN "blade_wf_serial"."date_format" IS '日期格式化'; +COMMENT ON COLUMN "blade_wf_serial"."suffix_length" IS '后缀位数'; +COMMENT ON COLUMN "blade_wf_serial"."start_sequence" IS '初始数值'; +COMMENT ON COLUMN "blade_wf_serial"."connector" IS '连接符'; +COMMENT ON COLUMN "blade_wf_serial"."current_sequence" IS '当前序列'; +COMMENT ON COLUMN "blade_wf_serial"."cycle" IS '重置周期 none不重置 day天 week周 month月 year年'; +COMMENT ON COLUMN "blade_wf_serial"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_serial"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_serial"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_serial"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_serial"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_serial"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_serial"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_serial" IS '流程流水号'; + +-- ---------------------------- +-- Records of blade_wf_serial +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Indexes structure for table act_de_model +-- ---------------------------- +CREATE INDEX "idx_proc_mod_created" ON "act_de_model" USING btree ( + "created_by" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); +CREATE UNIQUE INDEX "wf_idx_model_key" ON "act_de_model" USING btree ( + "model_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table act_de_model +-- ---------------------------- +ALTER TABLE "act_de_model" ADD CONSTRAINT "act_de_model_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table act_de_model_history +-- ---------------------------- +CREATE INDEX "idx_proc_mod_history_proc" ON "act_de_model_history" USING btree ( + "model_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table act_de_model_history +-- ---------------------------- +ALTER TABLE "act_de_model_history" ADD CONSTRAINT "act_de_model_history_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_button +-- ---------------------------- +ALTER TABLE "blade_wf_button" ADD CONSTRAINT "blade_wf_button_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_category +-- ---------------------------- +ALTER TABLE "blade_wf_category" ADD CONSTRAINT "blade_wf_category_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_condition +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_EXPRESSION" ON "blade_wf_condition" USING btree ( + "expression" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "type" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_condition +-- ---------------------------- +ALTER TABLE "blade_wf_condition" ADD CONSTRAINT "blade_wf_condition_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_copy +-- ---------------------------- +ALTER TABLE "blade_wf_copy" ADD CONSTRAINT "blade_wf_copy_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_deployment_form +-- ---------------------------- +ALTER TABLE "blade_wf_deployment_form" ADD CONSTRAINT "blade_wf_deployment_form_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_draft +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI" ON "blade_wf_draft" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST, + "process_def_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "platform" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" ON "blade_wf_draft" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST, + "task_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "platform" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); +-- ---------------------------- +-- Primary Key structure for table blade_wf_draft +-- ---------------------------- +ALTER TABLE "blade_wf_draft" ADD CONSTRAINT "blade_wf_draft_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_form +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_FORM_KEY" ON "blade_wf_form" USING btree ( + "form_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, + "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form +-- ---------------------------- +ALTER TABLE "blade_wf_form" ADD CONSTRAINT "blade_wf_form_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_default_values +-- ---------------------------- +ALTER TABLE "blade_wf_form_default_values" ADD CONSTRAINT "blade_wf_form_default_values_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_history +-- ---------------------------- +ALTER TABLE "blade_wf_form_history" ADD CONSTRAINT "blade_wf_form_history_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_model_scope +-- ---------------------------- +ALTER TABLE "blade_wf_model_scope" ADD CONSTRAINT "blade_wf_model_scope_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_process_leave +-- ---------------------------- +ALTER TABLE "blade_wf_process_leave" ADD CONSTRAINT "blade_wf_process_leave_pkey" PRIMARY KEY ("id", "create_time"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_proxy +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_UNI_PROXY" ON "blade_wf_proxy" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST, + "process_def_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); +CREATE INDEX "WF_IDX_USER_ID" ON "blade_wf_proxy" USING btree ( + "user_id" "pg_catalog"."int8_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_proxy +-- ---------------------------- +ALTER TABLE "blade_wf_proxy" ADD CONSTRAINT "blade_wf_proxy_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_serial +-- ---------------------------- +CREATE UNIQUE INDEX "uni" ON "blade_wf_serial" USING btree ( + "deployment_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_serial +-- ---------------------------- +ALTER TABLE "blade_wf_serial" ADD CONSTRAINT "blade_wf_serial_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/postgres/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/postgres/lemon_menu.sql new file mode 100644 index 0000000..c499af0 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/postgres/lemon_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1164733399669963301, 0, 'workflow', '协同办公', 'menu', '/plugin/workflow', 'ant-design:apartment-outlined', 5, 1, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347061240995815426, 1164733399669963301, 'wf_design', '流程设计', 'menu', '/plugin/workflow/pages/design', 'ant-design:appstore-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/design', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347061240995815427, 1347061240995815426, 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/pages/design/model', 'ant-design:bulb-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/design/model', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590658, 1347061240995815427, 'wf_design_model_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590659, 1347061240995815427, 'wf_design_model_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590660, 1347061240995815427, 'wf_design_model_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590661, 1347061240995815427, 'wf_design_model_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590662, 1347061240995815427, 'wf_design_model_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590663, 1347061240995815427, 'wf_design_model_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590664, 1347061240995815427, 'wf_design_model_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590665, 1347061240995815427, 'wf_design_model_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590666, 1347061240995815427, 'wf_design_model_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590667, 1347061240995815427, 'wf_design_model_deploy', '部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590668, 1347061240995815427, 'wf_design_model_scope', '权限', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590669, 1347061240995815427, 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590670, 1347061240995815427, 'wf_design_model_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347066574619590671, 1347061240995815427, 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826049, 1347061240995815426, 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/pages/design/form', 'ant-design:edit-outlined', 2, 1, 0, 1, '/plugin/workflow/pages/design/form', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826050, 1347083757101826049, 'wf_design_form_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826051, 1347083757101826049, 'wf_design_form_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826052, 1347083757101826049, 'wf_design_form_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826053, 1347083757101826049, 'wf_design_form_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826054, 1347083757101826049, 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826055, 1347083757101826049, 'wf_design_form_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826056, 1347083757101826049, 'wf_design_form_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826057, 1347083757101826049, 'wf_design_form_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826058, 1347083757101826049, 'wf_design_form_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826059, 1347083757101826049, 'wf_design_form_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347083757101826060, 1347083757101826049, 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710113282, 1347061240995815426, 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/pages/design/deployment', 'ant-design:cloud-server-outlined', 3, 1, 0, 1, '/plugin/workflow/pages/design/deployment', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710113283, 1347095124710113282, 'wf_design_deployment_status', '修改状态', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710113284, 1347095124710113282, 'wf_design_deployment_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710113285, 1347095124710113282, 'wf_design_deployment_delete', '删除部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114284, 1164733399669963301, 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'ant-design:bell-outlined', 2, 1, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114285, 1347095124710114284, 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/pages/process/start', 'ant-design:file-exclamation-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/process/start', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114286, 1347095124710114285, 'wf_process_start_flow', '发起', 'flow', '', 'flow', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114287, 1347095124710114285, 'wf_process_start_image', '流程图', 'image', '', 'image', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114288, 1347095124710114284, 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/pages/process/claim', 'ant-design:pushpin-outlined', 5, 1, 0, 1, '/plugin/workflow/pages/process/claim', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114289, 1347095124710114288, 'wf_process_claim_sign', '签收', 'sign', '', 'sign', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114290, 1347095124710114288, 'wf_process_claim_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114291, 1347095124710114288, 'wf_process_claim_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114292, 1347095124710114284, 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/pages/process/todo', 'ant-design:file-exclamation-outlined', 2, 1, 0, 1, '/plugin/workflow/pages/process/todo', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114293, 1347095124710114292, 'wf_process_todo_handle', '办理', 'handle', '', 'handle', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114294, 1347095124710114292, 'wf_process_todo_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114295, 1347095124710114292, 'wf_process_todo_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114296, 1347095124710114284, 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/pages/process/send', 'ant-design:file-text-outlined', 3, 1, 0, 1, '/plugin/workflow/pages/process/send', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114297, 1347095124710114296, 'wf_process_send_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114298, 1347095124710114296, 'wf_process_send_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114299, 1347095124710114284, 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/pages/process/done', 'ant-design:file-protect-outlined', 4, 1, 0, 1, '/plugin/workflow/pages/process/done', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114300, 1347095124710114299, 'wf_process_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114301, 1347095124710114299, 'wf_process_done_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114302, 1347095124710114284, 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/pages/process/my-done', 'ant-design:file-protect-outlined', 3, 1, 0, 1, '/plugin/workflow/pages/process/my-done', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114303, 1347095124710114302, 'wf_process_my_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114304, 1347095124710114302, 'wf_process_my_done_follow', '跟踪', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114305, 1347095124710114284, 'wf_process_draft', '草稿箱', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114306, 1347095124710114284, 'wf_process_withdraw', '撤销', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114307, 1347095124710114292, 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114308, 1347095124710114296, 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114309, 1347095124710114299, 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114310, 1347095124710114302, 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1347095124710114311, 1347095124710114288, 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647182434310, 1347061240995815426, 'wf_button', '流程按钮', 'menu', '/plugin/workflow/pages/design/button', 'ant-design:setting-outlined', 4, 1, 0, 1, '/plugin/workflow/pages/design/button', NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647182434311, 1394106647182434310, 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647182434312, 1394106647182434310, 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647182434313, 1394106647182434310, 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647182434314, 1394106647182434310, 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647392149511, 1347061240995815426, 'wf_category', '流程分类', 'menu', '/plugin/workflow/pages/design/category', 'ant-design:appstore-outlined', 5, 1, 0, 1, '/plugin/workflow/pages/design/category', NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647392149512, 1394106647392149511, 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647392149513, 1394106647392149511, 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647392149514, 1394106647392149511, 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394106647392149515, 1394106647392149511, 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394657590156206087, 1347095124710114284, 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/pages/process/copy', 'ant-design:send-outlined', 5, 1, 0, 1, '/plugin/workflow/pages/process/copy', NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394657590156206088, 1394657590156206087, 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394657590156206089, 1394657590156206087, 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394657590156206090, 1394657590156206087, 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1394657590156206091, 1394657590156206087, 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518919, 1347061240995815426, 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/pages/design/form-default-values', 'ant-design:form-outlined', 5, 1, 0, 1, '/plugin/workflow/pages/design/form-default-values', NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518920, 1399260774324518919, 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518921, 1399260774324518919, 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518922, 1399260774324518919, 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518923, 1399260774324518919, 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518924, 1399260774324518919, 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518925, 1347061240995815426, 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'ant-design:dashboard-outlined', 6, 1, 0, 1, '/plugin/workflow/pages/design/form-theme', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518926, 1399260774324518925, 'wf_form_theme_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518927, 1399260774324518925, 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518928, 1399260774324518925, 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324518929, 1399260774324518925, 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1408263948050984966, 1347061240995815426, 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/pages/design/condition', 'ant-design:function-outlined', 6, 1, 0, 1, '/plugin/workflow/pages/design/condition', NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1408263948050984967, 1408263948050984966, 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1408263948050984968, 1408263948050984966, 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1408263948050984969, 1408263948050984966, 'wf_condition_delete', '删除', 'delete', '/plugin/workflow/design/condition/remove', 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1408263948050984970, 1408263948050984966, 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'ant-design:bell-outlined', 7, 1, 0, 1, '/plugin/workflow/pages/design/listener', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412666776159797249, 1164733399669963301, 'wf_ops', '流程运维', 'menu', '/plugin/workflow/pages/ops', 'ant-design:tool-outlined', 3, 1, 0, 1, '/plugin/workflow/pages/ops', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562690, 1412666776159797249, 'wf_ops_index', '运维调度', 'menu', '/plugin/workflow/pages/ops/index', 'ant-design:cloud-sync-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/ops/index', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562691, 1412667489128562690, 'wf_ops_detail', '详情', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562692, 1412667489128562690, 'wf_ops_follow', '流程图', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562693, 1412667489128562690, 'wf_ops_reject', '驳回', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562694, 1412667489128562690, 'wf_ops_pass', '通过', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562695, 1412667489128562690, 'wf_ops_transfer', '转办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562696, 1412667489128562690, 'wf_ops_delegate', '委托', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562697, 1412667489128562690, 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562698, 1412667489128562690, 'wf_ops_terminate', '终止', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562699, 1412667489128562690, 'wf_ops_copy', '抄送', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562700, 1412667489128562690, 'wf_ops_urge', '催办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562701, 1412667489128562690, 'wf_ops_active', '激活', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562702, 1412667489128562690, 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562703, 1412667489128562690, 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562704, 1412667489128562690, 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562705, 1412667489128562690, 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562706, 1412667489128562690, 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562800, 1412666776159797249, 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/pages/ops/done', 'ant-design:safety-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/ops/done', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562801, 1412666776159797249, 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/pages/ops/list', 'ant-design:unordered-list-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/ops/list', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1412667489128562802, 1412667489128562801, 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513394358223638534, 1412666776159797249, 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/pages/ops/proxy', 'ant-design:send-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/ops/proxy', NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513394358223638535, 1513394358223638534, 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513394358223638536, 1513394358223638534, 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513394358223638537, 1513394358223638534, 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513394358223638538, 1513394358223638534, 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682182, 1164733399669963301, 'wf_demo', '业务示例', 'menu', '/plugin/workflow/pages/demo', 'ant-design:fund-view-outlined', 4, 1, 0, 1, '/plugin/workflow/pages/demo', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682183, 1513683238709682182, 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/pages/demo/leave/index', 'ant-design:pushpin-outlined', 1, 1, 0, 1, '/plugin/workflow/pages/demo/leave/index', NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682184, 1513683238709682182, 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, 4, 2, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682185, 1164733399669963301, 'statistics', '流程统计', 'menu', '/plugin/workflow/pages/statistics', 'ant-design:fund-projection-screen-outlined', 4, 1, 0, 1, '/plugin/workflow/pages/statistics', NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682186, 1513683238709682185, 'wf_statistics', '总览', 'menu', '/plugin/workflow/pages/statistics/index', 'iconfont iconicon_subordinate', 4, 1, 0, 1, '/plugin/workflow/pages/statistics/index', NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/postgres/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/postgres/saber3_menu.sql new file mode 100644 index 0000000..f33f871 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/postgres/saber3_menu.sql @@ -0,0 +1,143 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1164733399669963301, 0, 'workflow', '协同办公', 'menu', '/plugin/workflow', 'iconfont iconicon_send', 5, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347061240995815426, 1164733399669963301, 'wf_design', '流程设计', 'menu', '/plugin/workflow/pages/design', 'iconfont iconicon_work', 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347061240995815427, 1347061240995815426, 'wf_design_model', '模型设计', 'menu', '/plugin/workflow/pages/design/model', 'iconfont iconicon_discovery', 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590658, 1347061240995815427, 'wf_design_model_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590659, 1347061240995815427, 'wf_design_model_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590660, 1347061240995815427, 'wf_design_model_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590661, 1347061240995815427, 'wf_design_model_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590662, 1347061240995815427, 'wf_design_model_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590663, 1347061240995815427, 'wf_design_model_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590664, 1347061240995815427, 'wf_design_model_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590665, 1347061240995815427, 'wf_design_model_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590666, 1347061240995815427, 'wf_design_model_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590667, 1347061240995815427, 'wf_design_model_deploy', '部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590668, 1347061240995815427, 'wf_design_model_scope', '权限', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590669, 1347061240995815427, 'wf_design_model_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590670, 1347061240995815427, 'wf_design_model_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347066574619590671, 1347061240995815427, 'wf_design_model_icon', '图标', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826049, 1347061240995815426, 'wf_design_form', '表单设计', 'menu', '/plugin/workflow/pages/design/form', 'iconfont icon-biaodan', 2, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826050, 1347083757101826049, 'wf_design_form_add', '新增', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826051, 1347083757101826049, 'wf_design_form_edit', '修改', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826052, 1347083757101826049, 'wf_design_form_delete', '删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826053, 1347083757101826049, 'wf_design_form_view', '查看', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826054, 1347083757101826049, 'wf_design_form_design', '设计', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826055, 1347083757101826049, 'wf_design_form_copy', '拷贝', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826056, 1347083757101826049, 'wf_design_form_history', '历史', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826057, 1347083757101826049, 'wf_design_form_history_view', '历史-预览', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826058, 1347083757101826049, 'wf_design_form_history_delete', '历史-删除', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826059, 1347083757101826049, 'wf_design_form_history_main', '历史-主版本', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347083757101826060, 1347083757101826049, 'wf_design_form_change_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113282, 1347061240995815426, 'wf_design_deployment', '部署管理', 'menu', '/plugin/workflow/pages/design/deployment', 'iconfont iconicon_cloud_history', 3, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113283, 1347095124710113282, 'wf_design_deployment_status', '修改状态', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113284, 1347095124710113282, 'wf_design_deployment_category', '修改分类', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710113285, 1347095124710113282, 'wf_design_deployment_delete', '删除部署', 'menu', '', 'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114284, 1164733399669963301, 'wf_process', '我的事务', 'menu', '/plugin/workflow/process', 'iconfont iconicon_notice', 2, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114285, 1347095124710114284, 'wf_process_start', '新建流程', 'menu', '/plugin/workflow/pages/process/start', 'iconfont iconicon_compile', 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114286, 1347095124710114285, 'wf_process_start_flow', '发起', 'flow', '', 'flow', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114287, 1347095124710114285, 'wf_process_start_image', '流程图', 'image', '', 'image', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114288, 1347095124710114284, 'wf_process_claim', '待签事务', 'menu', '/plugin/workflow/pages/process/claim', 'iconfont iconicon_ding', 5, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114289, 1347095124710114288, 'wf_process_claim_sign', '签收', 'sign', '', 'sign', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114290, 1347095124710114288, 'wf_process_claim_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114291, 1347095124710114288, 'wf_process_claim_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114292, 1347095124710114284, 'wf_process_todo', '待办事宜', 'menu', '/plugin/workflow/pages/process/todo', 'iconfont iconicon_savememo', 2, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114293, 1347095124710114292, 'wf_process_todo_handle', '办理', 'handle', '', 'handle', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114294, 1347095124710114292, 'wf_process_todo_detail', '详情', 'detail', '', 'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114295, 1347095124710114292, 'wf_process_todo_follow', '跟踪', 'follow', '', 'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114296, 1347095124710114284, 'wf_process_send', '我的请求', 'menu', '/plugin/workflow/pages/process/send', 'iconfont iconicon_doc', 3, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114297, 1347095124710114296, 'wf_process_send_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114298, 1347095124710114296, 'wf_process_send_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114299, 1347095124710114284, 'wf_process_done', '办结事宜', 'menu', '/plugin/workflow/pages/process/done', 'iconfont iconicon_dispose', 4, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114300, 1347095124710114299, 'wf_process_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114301, 1347095124710114299, 'wf_process_done_follow', '跟踪', 'follow', '', 'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114302, 1347095124710114284, 'wf_process_my_done', '我的已办', 'menu', '/plugin/workflow/pages/process/my-done', 'iconfont iconicon_dispose', 3, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114303, 1347095124710114302, 'wf_process_my_done_detail', '详情', 'detail', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114304, 1347095124710114302, 'wf_process_my_done_follow', '跟踪', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114305, 1347095124710114284, 'wf_process_draft', '草稿箱', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114306, 1347095124710114284, 'wf_process_withdraw', '撤销', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114307, 1347095124710114292, 'wf_process_todo_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114308, 1347095124710114296, 'wf_process_send_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114309, 1347095124710114299, 'wf_process_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114310, 1347095124710114302, 'wf_process_my_done_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1347095124710114311, 1347095124710114288, 'wf_process_claim_search', '表单搜索条件', 'follow', '', 'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434310, 1347061240995815426, 'wf_button', '流程按钮', 'menu', '/plugin/workflow/pages/design/button', 'iconfont iconicon_setting', 4, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434311, 1394106647182434310, 'wf_button_add', '新增', 'add', '/plugin/workflow/design/button/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434312, 1394106647182434310, 'wf_button_edit', '修改', 'edit', '/plugin/workflow/design/button/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434313, 1394106647182434310, 'wf_button_delete', '删除', 'delete', '/plugin/workflow/design/button/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647182434314, 1394106647182434310, 'wf_button_view', '查看', 'view', '/plugin/workflow/design/button/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149511, 1347061240995815426, 'wf_category', '流程分类', 'menu', '/plugin/workflow/pages/design/category', 'iconfont iconicon_work', 5, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149512, 1394106647392149511, 'wf_category_add', '新增', 'add', '/plugin/workflow/design/category/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149513, 1394106647392149511, 'wf_category_edit', '修改', 'edit', '/plugin/workflow/design/category/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149514, 1394106647392149511, 'wf_category_delete', '删除', 'delete', '/plugin/api/workflow/design/category/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394106647392149515, 1394106647392149511, 'wf_category_view', '查看', 'view', '/plugin/workflow/design/category/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206087, 1347095124710114284, 'wf_copy', '抄送事宜', 'menu', '/plugin/workflow/pages/process/copy', 'iconfont iconicon_send', 5, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206088, 1394657590156206087, 'wf_copy_add', '新增', 'add', '/plugin/workflow/process/copy/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206089, 1394657590156206087, 'wf_copy_edit', '修改', 'edit', '/plugin/workflow/process/copy/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206090, 1394657590156206087, 'wf_copy_delete', '删除', 'delete', '/plugin/workflow/process/copy/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1394657590156206091, 1394657590156206087, 'wf_copy_view', '查看', 'view', '/plugin/workflow/process/copy/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518919, 1347061240995815426, 'wf_form_default_values', '表单默认值', 'menu', '/plugin/workflow/pages/design/form-default-values', 'iconfont iconicon_compile', 5, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518920, 1399260774324518919, 'wf_form_default_values_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518921, 1399260774324518919, 'wf_form_default_values_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518922, 1399260774324518919, 'wf_form_default_values_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518923, 1399260774324518919, 'wf_form_default_values_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518924, 1399260774324518919, 'wf_form_default_values_copy', '复制', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518925, 1347061240995815426, 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'iconfont icon-wxbgongju', 6, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518926, 1399260774324518925, 'wf_form_theme_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518927, 1399260774324518925, 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518928, 1399260774324518925, 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518929, 1399260774324518925, 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984966, 1347061240995815426, 'wf_condition', '流程表达式', 'menu', '/plugin/workflow/pages/design/condition', 'iconfont iconicon_task', 6, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984967, 1408263948050984966, 'wf_condition_add', '新增', 'add', '/plugin/workflow/design/condition/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984968, 1408263948050984966, 'wf_condition_edit', '修改', 'edit', '/plugin/workflow/design/condition/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984969, 1408263948050984966, 'wf_condition_delete', '删除', 'delete', '/plugin/workflow/design/condition/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1408263948050984970, 1408263948050984966, 'wf_condition_view', '查看', 'view', '/plugin/workflow/design/condition/view', 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'iconfont iconicon_details', 7, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412666776159797249, 1164733399669963301, 'wf_ops', '流程运维', 'menu', '/plugin/workflow/pages/ops', 'iconfont iconicon_cspace', 3, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562690, 1412666776159797249, 'wf_ops_index', '运维调度', 'menu', '/plugin/workflow/pages/ops/index', 'iconfont iconicon_exchange', 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562691, 1412667489128562690, 'wf_ops_detail', '详情', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562692, 1412667489128562690, 'wf_ops_follow', '流程图', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562693, 1412667489128562690, 'wf_ops_reject', '驳回', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562694, 1412667489128562690, 'wf_ops_pass', '通过', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562695, 1412667489128562690, 'wf_ops_transfer', '转办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562696, 1412667489128562690, 'wf_ops_delegate', '委托', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562697, 1412667489128562690, 'wf_ops_rollback', '指定回退', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562698, 1412667489128562690, 'wf_ops_terminate', '终止', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562699, 1412667489128562690, 'wf_ops_copy', '抄送', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562700, 1412667489128562690, 'wf_ops_urge', '催办', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562701, 1412667489128562690, 'wf_ops_active', '激活', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562702, 1412667489128562690, 'wf_ops_suspend', '挂起', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562703, 1412667489128562690, 'wf_ops_change_assignee', '变更审核人', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562704, 1412667489128562690, 'wf_ops_dispatch', '调度', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562705, 1412667489128562690, 'wf_ops_add_multi_instance', '加签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562706, 1412667489128562690, 'wf_ops_delete_multi_instance', '减签', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562800, 1412666776159797249, 'wf_ops_done', '办结流程', 'menu', '/plugin/workflow/pages/ops/done', 'iconfont iconicon_safety', 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562801, 1412666776159797249, 'wf_ops_process', '流程列表', 'menu', '/plugin/workflow/pages/ops/list', 'iconfont iconicon_safety', 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1412667489128562802, 1412667489128562801, 'wf_ops_delete_process', '删除流程', 'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638534, 1412666776159797249, 'wf_ops_proxy', '流程代理', 'menu', '/plugin/workflow/pages/ops/proxy', 'iconfont iconicon_send', 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638535, 1513394358223638534, 'wf_ops_proxy_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638536, 1513394358223638534, 'wf_ops_proxy_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638537, 1513394358223638534, 'wf_ops_proxy_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513394358223638538, 1513394358223638534, 'wf_ops_proxy_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682182, 1164733399669963301, 'wf_demo', '业务示例', 'menu', '/plugin/workflow/pages/demo', 'iconfont iconicon_cspace', 4, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682183, 1513683238709682182, 'wf_demo_leave', '请假流程业务示例', 'menu', '/plugin/workflow/pages/demo/leave/index', 'iconfont iconicon_task', 1, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682184, 1513683238709682182, 'wf_demo_leave_delete', '删除', 'delete', NULL, NULL, 4, 2, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682185, 1164733399669963301, 'statistics', '流程统计', 'menu', '/plugin/workflow/pages/statistics', 'iconfont iconicon_airplay', 4, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1513683238709682186, 1513683238709682185, 'wf_statistics', '总览', 'menu', '/plugin/workflow/pages/statistics/index', 'iconfont iconicon_subordinate', 4, 1, 0, 1, NULL, 0); + +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682187, 1164733399669963301, 'wf_chat', '聊一聊', 'menu', '/plugin/workflow/chat', 'iconfont iconicon_sms', 0, 1, 0, 1, '', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682188, 1513683238709682187, 'wf_chat_app', '应用管理', 'menu', '/plugin/workflow/pages/chat/app', 'iconfont icon-yingyongguanli', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682189, 1513683238709682188, 'wf_chat_app_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682190, 1513683238709682188, 'wf_chat_app_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682191, 1513683238709682188, 'wf_chat_app_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682192, 1513683238709682188, 'wf_chat_app_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682193, 1513683238709682187, 'wf_chat_assistant', '助手管理', 'menu', '/plugin/workflow/pages/chat/assistant', 'iconfont icon-gongnengdingyi', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682194, 1513683238709682193, 'wf_chat_assistant_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682195, 1513683238709682193, 'wf_chat_assistant_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682196, 1513683238709682193, 'wf_chat_assistant_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682197, 1513683238709682193, 'wf_chat_assistant_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682198, 1513683238709682187, 'wf_chat_workbench', '工作台', 'menu', '/plugin/workflow/pages/chat/workbench', 'iconfont icon-wuguan', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682199, 1513683238709682187, 'wf_chat_index', '聊一聊', 'menu', '/plugin/workflow/pages/chat/index', 'iconfont icon-shebeizhuangtai', 0, 1, 0, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/bladex_workflow.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/bladex_workflow.sql new file mode 100644 index 0000000..c3e1cb4 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/bladex_workflow.sql @@ -0,0 +1,4190 @@ +-- ---------------------------- +-- Table structure for ACT_DE_MODEL +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[ACT_DE_MODEL]') AND type IN ('U')) +DROP TABLE [dbo].[ACT_DE_MODEL] + GO + +CREATE TABLE [dbo].[ACT_DE_MODEL] ( + [id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [name] nvarchar(400) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [model_key] nvarchar(400) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [category_id] bigint NULL, + [description] nvarchar(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_comment] nvarchar(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [created] datetime2(7) NULL, + [created_by] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [last_updated] datetime2(7) NULL, + [last_updated_by] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [version] int NULL, + [model_xml] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_editor_json] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [thumbnail] varbinary(max) NULL, + [model_type] int NULL, + [tenant_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL, + [icon] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[ACT_DE_MODEL] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型标识', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单标识', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类id', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'category_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'description' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'评论', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_comment' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'created' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'created_by' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'最后更新时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'last_updated' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'最后更新人', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'last_updated_by' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'版本', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'version' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型XML', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_xml' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'flowable-ui编辑器json', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_editor_json' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'缩略图', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'thumbnail' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'类型', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'model_type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户id', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'图标', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL', + 'COLUMN', N'icon' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程 - 定义 - 模型', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL' + GO + + +-- ---------------------------- +-- Records of ACT_DE_MODEL +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id], [icon]) VALUES (N'0676f2277420b7dc67f69dd3a0ec1164', N'请假流程 - 外置表单', N'ex-leave', N'wf_ex_Leave', 1642162799092207618, NULL, NULL, '2021-06-08 08:40:51.9010000', N'1123598821738675201', '2023-04-09 18:28:29.2440000', N'1123598821738675201', 1, N' + + + + + + + + + + + + + + + + Flow_1itpbiu + + + + + + + + + + + + + + + + + + + + Flow_1itpbiu + Flow_0eeuztq + + + + + + + + + + + + + + + + + + + + + Flow_0eeuztq + Flow_1vu0qon + + + + + + + + + + + + + + + + + + + + + Flow_1vu0qon + Flow_1d63z9m + + + + Flow_1d63z9m + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, N'000000', NULL); +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id], [icon]) VALUES (N'2f6b3b6de24354bb5df5aad3a87789af', N'请假流程', N'leave', N'leave', 1642162799092207618, NULL, NULL, '2021-06-01 22:14:07.3630000', N'1123598821738675201', '2023-04-09 18:03:28.9130000', N'1123598821738675201', 1, N' + + + + + + + + + + + + + + + Flow_0myeljb + + + + + + + + + + + + + + + + + + + + + Flow_0myeljb + Flow_0bz2pj7 + + + + + + + + + + + + + + + + + + + + + + Flow_0bz2pj7 + Flow_1pf3fia + + + + Flow_1pf3fia + Flow_0of3zct + Flow_139q6po + + + + + + + + + + + + + + + + + + + + + + Flow_0of3zct + Flow_1dmv86y + + + ${days<5} + + + + + + + + + + + + + + + + + + + + + Flow_139q6po + Flow_1bugorc + + + ${days>=5} + + + Flow_1dmv86y + Flow_1bugorc + Flow_0vtl8w4 + + + + + Flow_0vtl8w4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, N'000000', NULL); +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id], [icon]) VALUES (N'5b7a367e1139f1ab5cb1e6210685fa91', N'多实例示例', N'demo-multi-instance', N'demo-test', 1642162799092207618, NULL, NULL, '2021-06-25 20:35:27.5220000', N'1123598821738675201', '2021-06-25 21:12:43.8520000', N'1123598821738675201', 1, N' + + + + + + + + + + Flow_1i5g9nh + + + + + + + + + + + + + + + + Flow_1i5g9nh + Flow_15l5hak + + + + + + + + + + + + + + + + + Flow_15l5hak + Flow_0afq5tt + + ${nrOfCompletedInstances/nrOfInstances >= 0.5} + + + + + + + + + + + + + + + + + + Flow_0afq5tt + Flow_0dera7k + + ${nrOfCompletedInstances/nrOfInstances >= 1} + + + + + Flow_0dera7k + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, N'000000', NULL); +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id], [icon]) VALUES (N'617167d80b6051708484bbedfb72a137', N'人员/流转调用自定义方法示例', N'demo-custom-method', N'demo-test', 1642162799092207618, NULL, NULL, '2021-11-29 09:42:20.0680000', N'1123598821738675201', '2021-12-01 19:18:18.4630000', N'1123598821738675201', 1, N' + + + 人员/流转调用自定义方法示例 + + + + + Flow_0yhobgw + + + + + + + + + + + + + + + + Flow_0yhobgw + Flow_1t6zwdf + + + + + + + + + + + + + + + + + Flow_1t6zwdf + Flow_0kxxs74 + + + + + + + + + + + + + + + + + Flow_0kxxs74 + Flow_01h467o + + + + + + + + + + + + + + + + + Flow_0kdt4xu + Flow_1x5wxzy + + + + + + + + + + + + + + + + Flow_0jw1ae2 + Flow_00r5t9o + + + Flow_1fun2ye + + + Flow_01h467o + Flow_0kdt4xu + Flow_0jw1ae2 + + + + ${wfCustomUserHandler.condition(execution, ''对'')} + + + ${wfCustomUserHandler.condition(execution, ''错'')} + + + Flow_1x5wxzy + Flow_00r5t9o + Flow_1fun2ye + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, N'000000', NULL); +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id], [icon]) VALUES (N'd71049b6ba4eda39cacf9baf984274ac', N'节点独立表单示例', N'demo-indep-form', N'wf_indep_default-value', 1642162799092207618, NULL, NULL, '2021-10-11 21:32:41.5670000', N'1123598821738675201', '2023-04-01 21:53:04.6570000', N'1123598821738675201', 1, N' + + + + + + + + + + + + + + + + + Flow_0u2w7hr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flow_0u2w7hr + Flow_1gfy6oq + + + + + + + + + + + + + + + + + Flow_1gfy6oq + Flow_016wlba + + + + + + + + + + + + + + + + Flow_016wlba + Flow_1omx17n + + + + Flow_1omx17n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, N'000000', NULL); +INSERT INTO [dbo].[ACT_DE_MODEL] ([id], [name], [model_key], [form_key], [category_id], [description], [model_comment], [created], [created_by], [last_updated], [last_updated_by], [version], [model_xml], [model_editor_json], [thumbnail], [model_type], [tenant_id], [icon]) VALUES (N'fb4c1a6a8c4588779a2519a547966846', N'表单默认值示例', N'demo-default-values', N'default-value', 1642162799092207618, NULL, NULL, '2021-05-31 21:39:46.5450000', N'1123598821738675201', '2023-04-01 21:53:15.6840000', N'1123598821738675201', 1, N' + + + + + + + + + + + + + + + + Flow_0c932wc + + + + + + + + + + + + + + + + + + + + + + + + Flow_0c932wc + Flow_042y9oy + + + + + + + + + + + + + + + + + + + + + + + + + Flow_042y9oy + Flow_0c47aum + + + + + + + + + + + + + + + + + + + + + + + + + Flow_0c47aum + Flow_1ehhsly + + + + Flow_1ehhsly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +', NULL, NULL, 0, N'000000', NULL); +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for ACT_DE_MODEL_HISTORY +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[ACT_DE_MODEL_HISTORY]') AND type IN ('U')) +DROP TABLE [dbo].[ACT_DE_MODEL_HISTORY] + GO + +CREATE TABLE [dbo].[ACT_DE_MODEL_HISTORY] ( + [id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [name] nvarchar(400) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [model_key] nvarchar(400) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [category_id] bigint NULL, + [description] nvarchar(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_comment] nvarchar(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [created] datetime2(7) NULL, + [created_by] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [last_updated] datetime2(7) NULL, + [last_updated_by] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [removal_date] datetime2(7) NULL, + [version] int NULL, + [model_xml] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_editor_json] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [model_type] int NULL, + [tenant_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL, + [icon] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[ACT_DE_MODEL_HISTORY] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型标识', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单标识', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类id', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'category_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'description' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'注释', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_comment' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'created' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'created_by' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'最后更新时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'last_updated' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'最后更新人', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'last_updated_by' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'移除时间', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'removal_date' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'版本', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'version' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型XML', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_xml' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'flowable-ui编辑器json', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_editor_json' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'modelId', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'类型', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'model_type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户id', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'图标', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY', + 'COLUMN', N'icon' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程 - 定义 - 模型历史', + 'SCHEMA', N'dbo', + 'TABLE', N'ACT_DE_MODEL_HISTORY' + GO + + +-- ---------------------------- +-- Records of ACT_DE_MODEL_HISTORY +-- ---------------------------- +BEGIN TRANSACTION +GO + +COMMIT +GO + +-- ---------------------------- +-- Table structure for blade_wf_chat_app +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_chat_app]') AND type IN ('U')) + DROP TABLE [dbo].[blade_wf_chat_app] +GO + +CREATE TABLE [dbo].[blade_wf_chat_app] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [img_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [api_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [api_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [api_url_prod] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [api_key_prod] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [iframe_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [iframe_url_prod] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [remark] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int NULL +) +GO + +ALTER TABLE [dbo].[blade_wf_chat_app] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'ID', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'名称', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'图片', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'img_url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'应用请求地址', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'api_url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'应用请求密钥', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'api_key' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'prod应用请求地址', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'api_url_prod' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'prod应用请求密钥', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'api_key_prod' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'类型 workflow工作流 chatflow对话工作流 chat对话 agent智能体 completion文本生成应用', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'iframe地址', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'iframe_url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'prod iframe地址', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'iframe_url_prod' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'租户ID', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'tenant_id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'create_user' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建部门', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'create_dept' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'create_time' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'修改人', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'update_user' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'修改时间', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'update_time' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'状态', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否已删除', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'is_deleted' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'dify - 应用', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app' +GO + + +-- ---------------------------- +-- Table structure for blade_wf_chat_assistant +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_chat_assistant]') AND type IN ('U')) + DROP TABLE [dbo].[blade_wf_chat_assistant] +GO + +CREATE TABLE [dbo].[blade_wf_chat_assistant] ( + [id] bigint NOT NULL, + [app_id] bigint NULL, + [app_type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [img_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [description] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [system_prompt] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int NULL +) +GO + +ALTER TABLE [dbo].[blade_wf_chat_assistant] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'ID', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'应用id', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'app_id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'应用类型', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'app_type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'名称', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'图片', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'img_url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'描述', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'description' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'系统提示词', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'system_prompt' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'类型', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'租户ID', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'tenant_id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'create_user' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建部门', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'create_dept' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'create_time' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'修改人', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'update_user' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'修改时间', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'update_time' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'状态', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否已删除', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'is_deleted' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'dify - 应用助手', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant' +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_chat_app +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_chat_app] ADD CONSTRAINT [PK__blade_wf__3213E83F2886D9E8] PRIMARY KEY CLUSTERED ([id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_chat_assistant +-- ---------------------------- +CREATE NONCLUSTERED INDEX [WF_IDX_APP_ID] +ON [dbo].[blade_wf_chat_assistant] ( + [app_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_chat_assistant +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_chat_assistant] ADD CONSTRAINT [PK__blade_wf__3213E83F10368B0F] PRIMARY KEY CLUSTERED ([id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + +-- ---------------------------- +-- Table structure for blade_wf_button +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_button]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_button] + GO + +CREATE TABLE [dbo].[blade_wf_button] ( + [id] bigint NOT NULL, + [button_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [display] tinyint NULL, + [sort] int NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_button] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'按钮key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'button_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'默认是否显示', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'display' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'排序', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'sort' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程按钮', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_button' + GO + + +-- ---------------------------- +-- Records of blade_wf_button +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394176899911041025', N'wf_pass', N'通过', N'1', N'1', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 14:24:10.0000000', N'1123598821738675201', N'2021-05-16 14:24:10.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394177198465794050', N'wf_reject', N'驳回', N'1', N'2', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 14:25:21.0000000', N'1123598821738675201', N'2021-05-16 14:25:21.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394179125421326337', N'wf_print', N'打印', N'1', N'3', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 14:33:01.0000000', N'1123598821738675201', N'2021-05-16 14:33:01.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394609969089761281', N'wf_transfer', N'转办', N'1', N'4', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 19:05:02.0000000', N'1123598821738675201', N'2021-05-16 19:05:02.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1394610036672581634', N'wf_delegate', N'委托', N'1', N'5', N'1123598821738675201', N'1123598813738675201', N'2021-05-16 19:05:18.0000000', N'1123598821738675201', N'2021-05-16 19:05:18.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1395271519601426433', N'wf_terminate', N'终止', N'1', N'6', N'1123598821738675201', N'1123598813738675201', N'2021-05-20 14:53:48.0000000', N'1123598821738675201', N'2021-05-20 14:53:48.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1395274709692579841', N'wf_add_instance', N'加签', N'1', N'7', N'1123598821738675201', N'1123598813738675201', N'2021-05-20 15:06:28.0000000', N'1123598821738675201', N'2021-05-20 15:06:28.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1395274774674931713', N'wf_del_instance', N'减签', N'1', N'8', N'1123598821738675201', N'1123598813738675201', N'2021-05-20 15:06:44.0000000', N'1123598821738675201', N'2021-05-20 15:06:44.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_button] ([id], [button_key], [name], [display], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1395274955986305025', N'wf_rollback', N'指定回退', N'1', N'9', N'1123598821738675201', N'1123598813738675201', N'2021-05-20 15:07:27.0000000', N'1123598821738675201', N'2021-05-20 15:07:27.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_category +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_category]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_category] + GO + +CREATE TABLE [dbo].[blade_wf_category] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [pid] bigint DEFAULT 0 NULL, + [sort] int NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_category] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'上级id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'pid' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'排序', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'sort' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程分类', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_category' + GO + + +-- ---------------------------- +-- Records of blade_wf_category +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_category] ([id], [name], [pid], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1394133715940073474, N'请假流程', 0, 2, 1123598821738675201, 1123598813738675201, '2021-05-16 11:32:34.0000000', 1123598821738675201, '2023-04-01 21:51:42.0000000', N'1', 0, N'000000'); +INSERT INTO [dbo].[blade_wf_category] ([id], [name], [pid], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1394158934813609986, N'财务流程', 0, 3, 1123598821738675201, 1123598813738675201, '2021-05-16 13:12:47.0000000', 1123598821738675201, '2023-04-01 21:51:49.0000000', N'1', 0, N'000000'); +INSERT INTO [dbo].[blade_wf_category] ([id], [name], [pid], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1394159147934584833, N'报销流程', 1394158934813609986, 1, 1123598821738675201, 1123598813738675201, '2021-05-16 13:13:38.0000000', 1123598821738675201, '2021-05-16 13:13:38.0000000', N'1', 0, N'000000'); +INSERT INTO [dbo].[blade_wf_category] ([id], [name], [pid], [sort], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1642162799092207618, N'示例流程', 0, 1, 1123598821738675201, 1123598813738675201, '2023-04-01 21:51:36.0000000', 1123598821738675201, '2023-04-01 21:51:36.0000000', N'1', 0, N'000000'); +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_condition +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_condition]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_condition] + GO + +CREATE TABLE [dbo].[blade_wf_condition] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [expression] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_condition] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表达式', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'expression' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'类型', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表达式', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_condition' + GO + + +-- ---------------------------- +-- Records of blade_wf_condition +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_condition] ([id], [name], [expression], [type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1408267023015739393', N'流程发起人', N'applyUser', N'user', N'1123598821738675201', N'1123598813738675201', N'2021-06-25 11:33:17.0000000', N'1123598821738675201', N'2021-06-25 11:33:17.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_condition] ([id], [name], [expression], [type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1408267100878798850', N'当前操作人', N'currentUser', N'user', N'1123598821738675201', N'1123598813738675201', N'2021-06-25 11:33:36.0000000', N'1123598821738675201', N'2021-06-25 11:33:36.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_condition] ([id], [name], [expression], [type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1408305933398896641', N'上级部门领导', N'leader', N'user', N'1123598821738675201', N'1123598813738675201', N'2021-06-25 14:07:54.0000000', N'1123598821738675201', N'2021-06-25 14:07:54.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_copy +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_copy]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_copy] + GO + +CREATE TABLE [dbo].[blade_wf_copy] ( + [id] bigint NOT NULL, + [user_id] bigint NULL, + [title] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [initiator] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [process_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_copy] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'用户id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'标题', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'title' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'发起者', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'initiator' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'task_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程实例id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'process_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单url', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'form_url' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程抄送', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy' + GO + + +-- ---------------------------- +-- Records of blade_wf_copy +-- ---------------------------- +BEGIN TRANSACTION +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_deployment_form +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_deployment_form]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_deployment_form] + GO + +CREATE TABLE [dbo].[blade_wf_deployment_form] ( + [id] bigint NOT NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [app_content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [table_name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [table_comment] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_deployment_form] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'app表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'app_content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'节点key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'task_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'节点名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'task_name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'table_name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表注释', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'table_comment' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署 - 表单', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form' + GO + + +-- ---------------------------- +-- Records of blade_wf_deployment_form +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_deployment_form] ([id], [deployment_id], [form_key], [content], [app_content], [task_key], [task_name], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted]) VALUES (N'1493407680587395074', N'a35a73a4-8e04-11ec-9e83-92d6166784a9', N'leave', N'{column:[{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''yyyy-MM-dd HH:mm:ss'',valueFormat:''yyyy-MM-dd HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''开始时间必须填写''}],change:({value}) => { + if (!value || value.length == 0) { + this.$set(this.form, ''days'', undefined) + } else { + const d1 = Date.parse(value[0]) + const d2 = Date.parse(value[1]) + const day = (d2-d1)/(1*24*60*60*1000) + this.$set(this.form, ''days'', Number(day.toFixed(2))) + } +}},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { +this.$set(this.form, ''reason'',''请假'' + value + ''天'' ) +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"yyyy-MM-dd HH:mm:ss","valueFormat":"yyyy-MM-dd HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"开始时间必须填写"}],"change":"({value}) => {\r\n if (!value || value.length == 0) {\r\n this.$set(this.form, ''days'', undefined)\r\n } else {\r\n const d1 = Date.parse(value[0])\r\n const d2 = Date.parse(value[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n this.$set(this.form, ''days'', Number(day.toFixed(2)))\r\n }\r\n}"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\nthis.$set(this.form, ''reason'',''请假'' + value + ''天'' )\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, N'1') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_draft +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_draft]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_draft] + GO + +CREATE TABLE [dbo].[blade_wf_draft] ( + [id] bigint NOT NULL, + [user_id] bigint NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [process_def_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [variables] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [platform] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_draft] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'用户id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程定义id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'process_def_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'task_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单变量', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'variables' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'平台 pc/app', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft', + 'COLUMN', N'platform' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程草稿箱', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_draft' + GO + + +-- ---------------------------- +-- Records of blade_wf_draft +-- ---------------------------- +BEGIN TRANSACTION +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_form +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form] + GO + +CREATE TABLE [dbo].[blade_wf_form] ( + [id] bigint NOT NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [app_content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [version] int NULL, + [category_id] bigint NULL, + [remark] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'app表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'app_content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'版本', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'version' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'category_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'备注', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'remark' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form' + GO + + +-- ---------------------------- +-- Records of blade_wf_form +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_form] ([id], [form_key], [name], [content], [app_content], [version], [category_id], [remark], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1399359377009377281, N'default-value', N'测试默认值', N'{column:[{type:''input'',label:''人事姓名'',span:24,display:true,prop:''1622472547203_21841'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''人事职位'',span:24,display:true,prop:''1622553629767_65211'',value:''${this.$store.getters.userInfo.post_name}''},{type:''input'',label:''人事部门'',span:24,display:true,prop:''1622472547375_86557'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''当前日期'',span:24,display:true,prop:''1622553629949_3168'',value:''${this.dateFormat(new Date(),\"YYYY-MM-DD\")}''},{type:''input'',label:''当前时间'',span:24,display:true,prop:''1622553631752_15562'',value:''${this.dateFormat(new Date(),\"HH:mm:ss\")}''},{type:''input'',label:''人事姓名和日期'',span:24,display:true,prop:''1622553691156_69886'',value:''${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"YYYY-MM-DD\")}''},{type:''input'',label:''经理姓名'',span:24,display:true,prop:''1622472547780_5707'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''经理部门'',span:24,display:true,prop:''1622472547975_90560'',value:''${this.$store.getters.userInfo.dept_name}''},{type:''input'',label:''老板姓名'',span:24,display:true,prop:''1622472548372_60141'',value:''${this.$store.getters.userInfo.nick_name}''},{type:''input'',label:''老板部门'',span:24,display:true,prop:''1622472548560_32474'',value:''${this.$store.getters.userInfo.dept_name}''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:140,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"input","label":"人事姓名","span":24,"display":true,"prop":"1622472547203_21841","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"人事职位","span":24,"display":true,"prop":"1622553629767_65211","value":"${this.$store.getters.userInfo.post_name}"},{"type":"input","label":"人事部门","span":24,"display":true,"prop":"1622472547375_86557","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"当前日期","span":24,"display":true,"prop":"1622553629949_3168","value":"${this.dateFormat(new Date(),\"YYYY-MM-DD\")}"},{"type":"input","label":"当前时间","span":24,"display":true,"prop":"1622553631752_15562","value":"${this.dateFormat(new Date(),\"HH:mm:ss\")}"},{"type":"input","label":"人事姓名和日期","span":24,"display":true,"prop":"1622553691156_69886","value":"${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),\"YYYY-MM-DD\")}"},{"type":"input","label":"经理姓名","span":24,"display":true,"prop":"1622472547780_5707","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"经理部门","span":24,"display":true,"prop":"1622472547975_90560","value":"${this.$store.getters.userInfo.dept_name}"},{"type":"input","label":"老板姓名","span":24,"display":true,"prop":"1622472548372_60141","value":"${this.$store.getters.userInfo.nick_name}"},{"type":"input","label":"老板部门","span":24,"display":true,"prop":"1622472548560_32474","value":"${this.$store.getters.userInfo.dept_name}"}],"labelPosition":"left","labelSuffix":":","labelWidth":140,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, 1642162799092207618, '', 1123598821738675201, 1123598813738675201, '2021-05-31 21:37:29.0000000', 1123598821738675201, '2023-04-01 21:58:47.0000000', 1, 0, N'000000'); +INSERT INTO [dbo].[blade_wf_form] ([id], [form_key], [name], [content], [app_content], [version], [category_id], [remark], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1399729025840140290, N'leave', N'请假流程表单', N'{column:[{type:''input'',label:''创建人'',span:12,display:true,prop:''creator'',value:''${this.$store.getters.userInfo.nick_name}'',readonly:true},{type:''input'',label:''创建部门'',span:12,display:true,prop:''creatorDept'',value:''${this.$store.getters.userInfo.dept_name}'',readonly:true},{type:''datetimerange'',label:''请假时间'',span:12,display:true,format:''YYYY-MM-DD HH:mm:ss'',valueFormat:''YYYY-MM-DD HH:mm:ss'',prop:''datetime'',required:true,rules:[{required:true,message:''请假时间必须填写''}],change:({value}) => { + let days + if (!value || value.length == 0) { + days = undefined + } else { + const d1 = Date.parse(value.split('','')[0]) + const d2 = Date.parse(value.split('','')[1]) + const day = (d2-d1)/(1*24*60*60*1000) + days = Number(day.toFixed(2)) + } + this.form.days = days +},dataType:''string''},{type:''number'',label:''请假天数'',span:12,display:true,prop:''days'',required:true,rules:[{required:true,message:''请假天数必须填写''}],controls:true,controlsPosition:''right'',change:({value}) => { + let reason + if (value) reason = ''请假'' + value + ''天'' + else reason = '''' + this.form.reason = reason +}},{type:''textarea'',label:''请假理由'',span:24,display:true,prop:''reason'',required:true,rules:[{required:true,message:''请假理由必须填写''}]},{label:''附件'',type:''upload'',propsHttp:{res:''data'',url:''link'',name:''originalName''},action:''/api/blade-resource/oss/endpoint/put-file'',display:true,span:24,showFileList:true,multiple:true,limit:10,prop:''attachment'',dataType:''string''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"input","label":"创建人","span":12,"display":true,"prop":"creator","value":"${this.$store.getters.userInfo.nick_name}","readonly":true},{"type":"input","label":"创建部门","span":12,"display":true,"prop":"creatorDept","value":"${this.$store.getters.userInfo.dept_name}","readonly":true},{"type":"datetimerange","label":"请假时间","span":12,"display":true,"format":"YYYY-MM-DD HH:mm:ss","valueFormat":"YYYY-MM-DD HH:mm:ss","prop":"datetime","required":true,"rules":[{"required":true,"message":"请假时间必须填写"}],"change":"({value}) => {\r\n let days\r\n if (!value || value.length == 0) {\r\n days = undefined\r\n } else {\r\n const d1 = Date.parse(value.split('','')[0])\r\n const d2 = Date.parse(value.split('','')[1])\r\n const day = (d2-d1)/(1*24*60*60*1000)\r\n days = Number(day.toFixed(2))\r\n }\r\n this.form.days = days\r\n}","dataType":"string"},{"type":"number","label":"请假天数","span":12,"display":true,"prop":"days","required":true,"rules":[{"required":true,"message":"请假天数必须填写"}],"controls":true,"controlsPosition":"right","change":"({value}) => {\n let reason\n if (value) reason = ''请假'' + value + ''天''\n else reason = ''''\n this.form.reason = reason\n}"},{"type":"textarea","label":"请假理由","span":24,"display":true,"prop":"reason","required":true,"rules":[{"required":true,"message":"请假理由必须填写"}]},{"label":"附件","type":"upload","propsHttp":{"res":"data","url":"link","name":"originalName"},"action":"/api/blade-resource/oss/endpoint/put-file","display":true,"span":24,"showFileList":true,"multiple":true,"limit":10,"prop":"attachment","dataType":"string"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, 1642162799092207618, '', 1123598821738675201, 1123598813738675201, '2021-06-01 22:06:20.0000000', 1123598821738675201, '2023-04-09 18:03:17.0000000', 1, 0, N'000000'); +INSERT INTO [dbo].[blade_wf_form] ([id], [form_key], [name], [content], [app_content], [version], [category_id], [remark], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1408402768310304770, N'demo-test', N'测试简单表单', N'{column:[{type:''input'',label:''单行文本'',span:24,display:true,prop:''1624624365132_23209''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"input","label":"单行文本","span":24,"display":true,"prop":"1624624365132_23209"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, 1642162799092207618, '', 1123598821738675201, 1123598813738675201, '2021-06-25 20:32:41.0000000', 1123598821738675201, '2023-04-01 21:58:47.0000000', 1, 0, N'000000'); +INSERT INTO [dbo].[blade_wf_form] ([id], [form_key], [name], [content], [app_content], [version], [category_id], [remark], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1429672727182159874, N'field-linkage', N'字段联动', N'{column:[{type:''switch'',label:''控制显隐'',span:24,display:true,value:''0'',dicData:[{label:'''',value:''0''},{label:'''',value:''1''}],prop:''1629695558953_19833'',change:({value}) => { + const input = this.findObject(this.option.column, ''input'') + if(value == 0) { + input.display = false + } else { + input.display = true + } +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input''},{type:''select'',label:''值改变'',dicData:[{label:''一天'',value:''1''},{label:''两天'',value:''2''},{label:''三天'',value:''3''}],cascaderItem:[],span:24,display:true,props:{label:''label'',value:''value''},prop:''1629695859796_23456'',change:({value}) => { + let text = value + if(value) { + text = ''请假 '' + value + '' 天'' + } + this.form.input2 = text +}},{type:''input'',label:''单行文本'',span:24,display:true,prop:''input2''}],labelPosition:''left'',labelSuffix:'':'',labelWidth:120,gutter:0,menuBtn:true,submitBtn:true,submitText:''提交'',emptyBtn:true,emptyText:''清空'',menuPosition:''center''}', N'{"column":[{"type":"switch","label":"控制显隐","span":24,"display":true,"value":"0","dicData":[{"label":"","value":"0"},{"label":"","value":"1"}],"prop":"1629695558953_19833","change":"({value}) => {\r\n const input = this.findObject(this.option.column, ''input'')\r\n if(value == 0) {\r\n input.display = false\r\n } else {\r\n input.display = true\r\n }\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input"},{"type":"select","label":"值改变","dicData":[{"label":"一天","value":"1"},{"label":"两天","value":"2"},{"label":"三天","value":"3"}],"cascaderItem":[],"span":24,"display":true,"props":{"label":"label","value":"value"},"prop":"1629695859796_23456","change":"({value}) => {\r\n let text = value\r\n if(value) {\r\n text = ''请假 '' + value + '' 天''\r\n }\r\n this.form.input2 = text\r\n}"},{"type":"input","label":"单行文本","span":24,"display":true,"prop":"input2"}],"labelPosition":"left","labelSuffix":":","labelWidth":120,"gutter":0,"menuBtn":true,"submitBtn":true,"submitText":"提交","emptyBtn":true,"emptyText":"清空","menuPosition":"center"}', 1, 1642162799092207618, N'字段联动示例', 1123598821738675201, 1123598813738675201, '2021-08-23 13:11:54.0000000', 1123598821738675201, '2023-04-01 21:58:47.0000000', 1, 0, N'000000'); +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_form_default_values +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_default_values]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_default_values] + GO + +CREATE TABLE [dbo].[blade_wf_form_default_values] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [content] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field_type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_default_values] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'字段类型', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'field_type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单字段默认值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_default_values' + GO + + +-- ---------------------------- +-- Records of blade_wf_form_default_values +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1399346112331087873, N'当前操作人姓名', N'${this.$store.getters.userInfo.nick_name}', N'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:44:46.0000000', 1123598821738675201, '2021-05-31 20:56:32.0000000', N'1', 0, N'000000'); +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1399347906465595393, N'当前操作人部门', N'${this.$store.getters.userInfo.dept_name}', N'input', 1123598821738675201, 1123598813738675201, '2021-05-31 20:51:54.0000000', 1123598821738675201, '2021-05-31 20:56:41.0000000', N'1', 0, N'000000'); +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1399717069960855553, N'当前日期', N'${this.dateFormat(new Date(),"YYYY-MM-DD")}', N'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:18:50.0000000', 1123598821738675201, '2023-04-01 21:44:30.0000000', N'1', 0, N'000000'); +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1399717187904684034, N'当前操作人职位', N'${this.$store.getters.userInfo.post_name}', N'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:18.0000000', 1123598821738675201, '2021-06-01 21:19:18.0000000', N'1', 0, N'000000'); +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1399717285564858369, N'当前时间', N'${this.dateFormat(new Date(),"HH:mm:ss")}', N'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:19:41.0000000', 1123598821738675201, '2023-04-01 17:27:03.0000000', N'1', 0, N'000000'); +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1399718803940655106, N'当前操作人姓名和日期', N'${this.$store.getters.userInfo.nick_name} - ${this.dateFormat(new Date(),"YYYY-MM-DD")}', N'input', 1123598821738675201, 1123598813738675201, '2021-06-01 21:25:43.0000000', 1123598821738675201, '2023-04-01 21:46:20.0000000', N'1', 0, N'000000'); +INSERT INTO [dbo].[blade_wf_form_default_values] ([id], [name], [content], [field_type], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (1408401952027443201, N'当前操作人姓名', N'${this.$store.getters.userInfo.nick_name}', N'input', 1123598821738675201, 1123598813738675201, '2021-06-25 20:29:27.0000000', 1123598821738675201, '2021-06-25 20:29:32.0000000', N'1', 1, N'000000'); +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for blade_wf_form_history +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_history]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_history] + GO + +CREATE TABLE [dbo].[blade_wf_form_history] ( + [id] bigint NOT NULL, + [form_id] bigint NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [app_content] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [version] int NULL, + [category_id] bigint NULL, + [remark] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_history] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'form_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'app表单内容', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'app_content' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'版本', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'version' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'category_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'备注', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'remark' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_history' + GO + + +-- ---------------------------- +-- Records of blade_wf_form_history +-- ---------------------------- +BEGIN TRANSACTION +GO + +COMMIT +GO + +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_theme]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_theme] + GO + +CREATE TABLE [dbo].[blade_wf_form_theme] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [theme_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [border_width] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [border_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_bg] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_width] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_font_size] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_bg] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_font_size] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field0] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field1] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field2] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field3] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field4] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field5] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field6] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field7] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field8] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field9] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_theme] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'主题key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'theme_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'边框宽度', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'border_width' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'边框颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'border_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label字体颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label背景颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_bg' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label宽度', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_width' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label字体大小', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_font_size' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value字体颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value背景颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_bg' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value字体大小', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_font_size' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field0' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field1' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field2' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field3' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field4' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field5' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field6' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field7' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field8' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field9' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单 - 主题', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme' + GO + + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1', N'蓝色', N'blue', N'1px', N'#cbdcf0', N'#01418a', N'#eef6ff', N'', N'14px', N'', N'', N'14px', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598813738675201', N'2023-04-04 15:36:46.0000000', N'1123598821738675201', N'2023-05-04 10:43:18.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'2', N'默认', N'default', N'1px', N'rgba(235, 238, 245, 1)', N'rgba(144, 147, 153, 1)', N'rgba(250, 250, 250, 1)', NULL, NULL, N'rgba(96, 98, 102, 1)', N'rgba(255, 255, 255, 1)', NULL, N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598813738675201', N'2023-04-04 15:16:47.0000000', N'1123598821738675201', N'2023-04-18 11:50:10.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'3', N'黑色', N'black', N'1px', N'rgba(0, 0, 0, 1)', N'#000', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598821738675201', N'2023-04-04 16:57:35.0000000', N'1123598821738675201', N'2023-05-04 10:43:44.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_form_theme +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_THEME_KEY] +ON [dbo].[blade_wf_form_theme] ( + [theme_key] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_theme +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_theme] ADD CONSTRAINT [PK__blade_wf__3213E83FE1B9E59C] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_variable]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_variable] + GO + +CREATE TABLE [dbo].[blade_wf_form_variable] ( + [id] bigint NOT NULL, + [process_ins_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_def_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_option] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_variable] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_time] datetime2(7) NULL, + [create_dept] bigint NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_variable] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程实例id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'process_ins_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务节点key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_def_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务节点名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单js', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'form_option' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'form_variable' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单 - 历史变量', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable' + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_variable +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_variable] ADD CONSTRAINT [PK__blade_wf__3213E83F21E7286A] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- + IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_listener]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_listener] + GO + +CREATE TABLE [dbo].[blade_wf_listener] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [category] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [event] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [val] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_listener] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'category' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'事件', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'event' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'监听类型', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'val' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务/执行监听器', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener' + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_listener +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_listener] ADD CONSTRAINT [PK__blade_wf__3213E83FF80DDE18] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + +-- ---------------------------- +-- Table structure for blade_wf_model_scope +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_model_scope]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_model_scope] + GO + +CREATE TABLE [dbo].[blade_wf_model_scope] ( + [id] bigint NOT NULL, + [model_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [model_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [val] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [text] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_model_scope] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'model_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'模型key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'model_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'类型 user用户 role角色 dept部门 post职位', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'用户/角色/部门/职位 id集合', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'val' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'用户/角色/部门/职位 name集合', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope', + 'COLUMN', N'text' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程模型权限', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_model_scope' + GO + + +-- ---------------------------- +-- Records of blade_wf_model_scope +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1418457955400978434', N'0676f2277420b7dc67f69dd3a0ec1164', N'ex-leave', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1418457988913467393', N'5b7a367e1139f1ab5cb1e6210685fa91', N'demo-multi-instance', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1418458020752429058', N'fb4c1a6a8c4588779a2519a547966846', N'test-default-values', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1429675430591442946', N'89d9c299dfed64a7834fdb7caccc913f', N'field-linkage', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1447556025547763714', N'd71049b6ba4eda39cacf9baf984274ac', N'indep-form', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1493407710006243329', N'2f6b3b6de24354bb5df5aad3a87789af', N'leave', N'role', N'1123598816738675201,1123598816738675202,1123598816738675203,1123598816738675204,1123598816738675205', N'超级管理员,用户,人事,经理,老板') +GO + +INSERT INTO [dbo].[blade_wf_model_scope] ([id], [model_id], [model_key], [type], [val], [text]) VALUES (N'1493407710014631938', N'2f6b3b6de24354bb5df5aad3a87789af', N'leave', N'platform', N'h5', N'移动端H5') +GO + +COMMIT +GO + +-- ---------------------------- +-- Table structure for blade_wf_process_leave +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_process_leave]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_process_leave] + GO + +CREATE TABLE [dbo].[blade_wf_process_leave] ( + [id] bigint NOT NULL, + [process_ins_id] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [process_def_id] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [current_node] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [datetime] nvarchar(64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [days] int NULL, + [reason] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [attachment] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NOT NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [form_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_process_leave] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程实例id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'process_ins_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程定义id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'process_def_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'当前节点', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'current_node' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'时间范围', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'datetime' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'请假天数', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'days' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'请假理由', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'reason' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'附件', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'attachment' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'form_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'外置表单url', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave', + 'COLUMN', N'form_url' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'请假流程业务示例', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_process_leave' + GO + + + -- ---------------------------- +-- Table structure for blade_wf_proxy +-- ---------------------------- + IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_proxy]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_proxy] + GO + +CREATE TABLE [dbo].[blade_wf_proxy] ( + [id] bigint NOT NULL, + [user_id] bigint NULL, + [proxy_user_id] bigint NULL, + [process_def_key] nvarchar(750) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [start_time] datetime2(7) NULL, + [end_time] datetime2(7) NULL, + [status] int NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_proxy] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'委托人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'代理人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'proxy_user_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程定义key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'process_def_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'1永久 2定时', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'开始时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'start_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'结束时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'end_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程代理', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_proxy' + GO + +-- ---------------------------- +-- Table structure for blade_wf_serial +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_serial]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_serial] + GO + +CREATE TABLE [dbo].[blade_wf_serial] ( + [id] bigint NOT NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [prefix] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [date_format] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [suffix_length] int NULL, + [start_sequence] int NULL, + [connector] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [current_sequence] int NULL, + [cycle] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [is_deleted] int DEFAULT 0 NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_serial] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'前缀', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'prefix' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'日期格式化', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'date_format' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'后缀位数', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'suffix_length' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'初始数值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'start_sequence' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'连接符', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'connector' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'当前序列', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'current_sequence' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'重置周期 none不重置 day天 week周 month月 year年', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'cycle' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程流水号', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_serial' + GO + + +-- ---------------------------- +-- Records of blade_wf_serial +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_serial] ([id], [deployment_id], [name], [prefix], [date_format], [suffix_length], [start_sequence], [connector], [current_sequence], [cycle], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted]) VALUES (N'1493407680641921025', N'a35a73a4-8e04-11ec-9e83-92d6166784a9', N'请假流水号', N'Leave', N'yyyyMMdd', N'5', N'0', N'', N'1', N'none', NULL, NULL, N'2022-02-15 10:11:51.8940000', N'1123598821738675201', N'2022-02-15 10:12:12.5750000', N'1', N'1') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Indexes structure for table ACT_DE_MODEL +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_MODEL_KEY] +ON [dbo].[ACT_DE_MODEL] ( + [model_key] ASC, + [tenant_id] ASC +) +GO + +CREATE NONCLUSTERED INDEX [idx_proc_mod_created] +ON [dbo].[ACT_DE_MODEL] ( + [created_by] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table ACT_DE_MODEL +-- ---------------------------- +ALTER TABLE [dbo].[ACT_DE_MODEL] ADD CONSTRAINT [PK__ACT_DE_M__3213E83FC76FC5C7] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +CREATE NONCLUSTERED INDEX [idx_proc_mod_history_proc] +ON [dbo].[ACT_DE_MODEL_HISTORY] ( + [model_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table ACT_DE_MODEL_HISTORY +-- ---------------------------- +ALTER TABLE [dbo].[ACT_DE_MODEL_HISTORY] ADD CONSTRAINT [PK__ACT_DE_M__3213E83F74E9721D] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_button +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_button] ADD CONSTRAINT [PK__blade_wf__3213E83FA7AAFF79] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_category +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_category] ADD CONSTRAINT [PK__blade_wf__3213E83F090A6076] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_condition +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_EXPRESSION] +ON [dbo].[blade_wf_condition] ( + [expression] ASC, + [type] ASC, + [tenant_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_condition +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_condition] ADD CONSTRAINT [PK__blade_wf__3213E83F09AC2B92] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_copy +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_copy] ADD CONSTRAINT [PK__blade_wf__3213E83FB51F11C3] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_deployment_form +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_deployment_form] ADD CONSTRAINT [PK__blade_wf__3213E83F06F23ECF] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_draft +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_DRAFT_UNI] +ON [dbo].[blade_wf_draft] ( + [user_id] ASC, + [process_def_id] ASC, + [platform] ASC +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_DRAFT_UNI2] +ON [dbo].[blade_wf_draft] ( + [user_id] ASC, + [task_id] ASC, + [platform] ASC +) +GO + +-- ---------------------------- +-- Primary Key structure for table blade_wf_draft +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_draft] ADD CONSTRAINT [PK__blade_wf__3213E83F1EC6CDBD] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_form +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_FORM_KEY] +ON [dbo].[blade_wf_form] ( + [form_key] ASC, + [tenant_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form] ADD CONSTRAINT [PK__blade_wf__3213E83F02914E3C] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_default_values +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_default_values] ADD CONSTRAINT [PK__blade_wf__3213E83F1ADE97B9] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_history +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_history] ADD CONSTRAINT [PK__blade_wf__3213E83FC05BEC14] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_model_scope +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_model_scope] ADD CONSTRAINT [PK__blade_wf__3213E83FDD345387] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + +-- ---------------------------- +-- Primary Key structure for table blade_wf_process_leave +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_process_leave] ADD CONSTRAINT [PK__blade_wf__639A04C108BAB258] PRIMARY KEY CLUSTERED ([id], [create_time]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_proxy +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_UNI_PROXY] +ON [dbo].[blade_wf_proxy] ( + [user_id] ASC, + [process_def_key] ASC +) +GO + +CREATE NONCLUSTERED INDEX [WF_IDX_USER_ID] +ON [dbo].[blade_wf_proxy] ( + [user_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_proxy +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_proxy] ADD CONSTRAINT [PK__blade_wf__3213E83F8DB1B00B] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + + + +-- ---------------------------- +-- Indexes structure for table blade_wf_serial +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [uni] +ON [dbo].[blade_wf_serial] ( + [deployment_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_serial +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_serial] ADD CONSTRAINT [PK__blade_wf__3213E83F4B321660] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/lemon_menu.sql new file mode 100644 index 0000000..25d1de3 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/lemon_menu.sql @@ -0,0 +1,129 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1164733399669963301, 0, N'workflow', N'协同办公', N'menu', N'/plugin/workflow', N'ant-design:apartment-outlined', 5, 1, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347061240995815426, 1164733399669963301, N'wf_design', N'流程设计', N'menu', N'/plugin/workflow/pages/design', N'ant-design:appstore-outlined', 1, 1, 0, 1, N'/plugin/workflow/pages/design', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347061240995815427, 1347061240995815426, N'wf_design_model', N'模型设计', N'menu', N'/plugin/workflow/pages/design/model', N'ant-design:bulb-outlined', 1, 1, 0, 1, N'/plugin/workflow/pages/design/model', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590658, 1347061240995815427, N'wf_design_model_add', N'新增', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590659, 1347061240995815427, N'wf_design_model_edit', N'修改', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590660, 1347061240995815427, N'wf_design_model_delete', N'删除', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590661, 1347061240995815427, N'wf_design_model_view', N'查看', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590662, 1347061240995815427, N'wf_design_model_history', N'历史', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590663, 1347061240995815427, N'wf_design_model_history_view', N'历史-预览', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590664, 1347061240995815427, N'wf_design_model_history_delete', N'历史-删除', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590665, 1347061240995815427, N'wf_design_model_history_main', N'历史-主版本', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590666, 1347061240995815427, N'wf_design_model_design', N'设计', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590667, 1347061240995815427, N'wf_design_model_deploy', N'部署', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590668, 1347061240995815427, N'wf_design_model_scope', N'权限', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590669, 1347061240995815427, N'wf_design_model_change_category', N'修改分类', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590670, 1347061240995815427, N'wf_design_model_copy', N'拷贝', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347066574619590671, 1347061240995815427, N'wf_design_model_icon', N'图标', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826049, 1347061240995815426, N'wf_design_form', N'表单设计', N'menu', N'/plugin/workflow/pages/design/form', N'ant-design:edit-outlined', 2, 1, 0, 1, N'/plugin/workflow/pages/design/form', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826050, 1347083757101826049, N'wf_design_form_add', N'新增', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826051, 1347083757101826049, N'wf_design_form_edit', N'修改', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826052, 1347083757101826049, N'wf_design_form_delete', N'删除', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826053, 1347083757101826049, N'wf_design_form_view', N'查看', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826054, 1347083757101826049, N'wf_design_form_design', N'设计', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826055, 1347083757101826049, N'wf_design_form_copy', N'拷贝', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826056, 1347083757101826049, N'wf_design_form_history', N'历史', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826057, 1347083757101826049, N'wf_design_form_history_view', N'历史-预览', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826058, 1347083757101826049, N'wf_design_form_history_delete', N'历史-删除', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826059, 1347083757101826049, N'wf_design_form_history_main', N'历史-主版本', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347083757101826060, 1347083757101826049, N'wf_design_form_change_category', N'修改分类', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710113282, 1347061240995815426, N'wf_design_deployment', N'部署管理', N'menu', N'/plugin/workflow/pages/design/deployment', N'ant-design:cloud-server-outlined', 3, 1, 0, 1, N'/plugin/workflow/pages/design/deployment', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710113283, 1347095124710113282, N'wf_design_deployment_status', N'修改状态', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710113284, 1347095124710113282, N'wf_design_deployment_category', N'修改分类', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710113285, 1347095124710113282, N'wf_design_deployment_delete', N'删除部署', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114284, 1164733399669963301, N'wf_process', N'我的事务', N'menu', N'/plugin/workflow/process', N'ant-design:bell-outlined', 2, 1, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114285, 1347095124710114284, N'wf_process_start', N'新建流程', N'menu', N'/plugin/workflow/pages/process/start', N'ant-design:file-exclamation-outlined', 1, 1, 0, 1, N'/plugin/workflow/pages/process/start', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114286, 1347095124710114285, N'wf_process_start_flow', N'发起', N'flow', '', N'flow', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114287, 1347095124710114285, N'wf_process_start_image', N'流程图', N'image', '', N'image', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114288, 1347095124710114284, N'wf_process_claim', N'待签事务', N'menu', N'/plugin/workflow/pages/process/claim', N'ant-design:pushpin-outlined', 5, 1, 0, 1, N'/plugin/workflow/pages/process/claim', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114289, 1347095124710114288, N'wf_process_claim_sign', N'签收', N'sign', '', N'sign', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114290, 1347095124710114288, N'wf_process_claim_detail', N'详情', N'detail', '', N'detail', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114291, 1347095124710114288, N'wf_process_claim_follow', N'跟踪', N'follow', '', N'follow', 3, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114292, 1347095124710114284, N'wf_process_todo', N'待办事宜', N'menu', N'/plugin/workflow/pages/process/todo', N'ant-design:file-exclamation-outlined', 2, 1, 0, 1, N'/plugin/workflow/pages/process/todo', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114293, 1347095124710114292, N'wf_process_todo_handle', N'办理', N'handle', '', N'handle', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114294, 1347095124710114292, N'wf_process_todo_detail', N'详情', N'detail', '', N'detail', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114295, 1347095124710114292, N'wf_process_todo_follow', N'跟踪', N'follow', '', N'follow', 3, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114296, 1347095124710114284, N'wf_process_send', N'我的请求', N'menu', N'/plugin/workflow/pages/process/send', N'ant-design:file-text-outlined', 3, 1, 0, 1, N'/plugin/workflow/pages/process/send', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114297, 1347095124710114296, N'wf_process_send_detail', N'详情', N'detail', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114298, 1347095124710114296, N'wf_process_send_follow', N'跟踪', N'follow', '', N'follow', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114299, 1347095124710114284, N'wf_process_done', N'办结事宜', N'menu', N'/plugin/workflow/pages/process/done', N'ant-design:file-protect-outlined', 4, 1, 0, 1, N'/plugin/workflow/pages/process/done', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114300, 1347095124710114299, N'wf_process_done_detail', N'详情', N'detail', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114301, 1347095124710114299, N'wf_process_done_follow', N'跟踪', N'follow', '', N'follow', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114302, 1347095124710114284, N'wf_process_my_done', N'我的已办', N'menu', N'/plugin/workflow/pages/process/my-done', N'ant-design:file-protect-outlined', 3, 1, 0, 1, N'/plugin/workflow/pages/process/my-done', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114303, 1347095124710114302, N'wf_process_my_done_detail', N'详情', N'detail', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114304, 1347095124710114302, N'wf_process_my_done_follow', N'跟踪', N'follow', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114305, 1347095124710114284, N'wf_process_draft', N'草稿箱', N'follow', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114306, 1347095124710114284, N'wf_process_withdraw', N'撤销', N'follow', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114307, 1347095124710114292, N'wf_process_todo_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114308, 1347095124710114296, N'wf_process_send_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114309, 1347095124710114299, N'wf_process_done_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114310, 1347095124710114302, N'wf_process_my_done_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1347095124710114311, 1347095124710114288, N'wf_process_claim_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647182434310, 1347061240995815426, N'wf_button', N'流程按钮', N'menu', N'/plugin/workflow/pages/design/button', N'ant-design:setting-outlined', 4, 1, 0, 1, N'/plugin/workflow/pages/design/button', NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647182434311, 1394106647182434310, N'wf_button_add', N'新增', N'add', N'/plugin/workflow/design/button/add', N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647182434312, 1394106647182434310, N'wf_button_edit', N'修改', N'edit', N'/plugin/workflow/design/button/edit', N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647182434313, 1394106647182434310, N'wf_button_delete', N'删除', N'delete', N'/plugin/workflow/design/button/remove', N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647182434314, 1394106647182434310, N'wf_button_view', N'查看', N'view', N'/plugin/workflow/design/button/view', N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647392149511, 1347061240995815426, N'wf_category', N'流程分类', N'menu', N'/plugin/workflow/pages/design/category', N'ant-design:appstore-outlined', 5, 1, 0, 1, N'/plugin/workflow/pages/design/category', NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647392149512, 1394106647392149511, N'wf_category_add', N'新增', N'add', N'/plugin/workflow/design/category/add', N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647392149513, 1394106647392149511, N'wf_category_edit', N'修改', N'edit', N'/plugin/workflow/design/category/edit', N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647392149514, 1394106647392149511, N'wf_category_delete', N'删除', N'delete', N'/plugin/api/workflow/design/category/remove', N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394106647392149515, 1394106647392149511, N'wf_category_view', N'查看', N'view', N'/plugin/workflow/design/category/view', N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394657590156206087, 1347095124710114284, N'wf_copy', N'抄送事宜', N'menu', N'/plugin/workflow/pages/process/copy', N'ant-design:send-outlined', 5, 1, 0, 1, N'/plugin/workflow/pages/process/copy', NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394657590156206088, 1394657590156206087, N'wf_copy_add', N'新增', N'add', N'/plugin/workflow/process/copy/add', N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394657590156206089, 1394657590156206087, N'wf_copy_edit', N'修改', N'edit', N'/plugin/workflow/process/copy/edit', N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394657590156206090, 1394657590156206087, N'wf_copy_delete', N'删除', N'delete', N'/plugin/workflow/process/copy/remove', N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1394657590156206091, 1394657590156206087, N'wf_copy_view', N'查看', N'view', N'/plugin/workflow/process/copy/view', N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518919, 1347061240995815426, N'wf_form_default_values', N'表单默认值', N'menu', N'/plugin/workflow/pages/design/form-default-values', N'ant-design:form-outlined', 5, 1, 0, 1, N'/plugin/workflow/pages/design/form-default-values', NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518920, 1399260774324518919, N'wf_form_default_values_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518921, 1399260774324518919, N'wf_form_default_values_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518922, 1399260774324518919, N'wf_form_default_values_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518923, 1399260774324518919, N'wf_form_default_values_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518924, 1399260774324518919, N'wf_form_default_values_copy', N'复制', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518925, 1347061240995815426, N'wf_form_theme', N'表单主题', N'menu', N'/plugin/workflow/pages/design/form-theme', N'ant-design:dashboard-outlined', 6, 1, 0, 1, N'/plugin/workflow/pages/design/form-theme', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518926, 1399260774324518925, N'wf_form_theme_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518927, 1399260774324518925, N'wf_form_theme_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518928, 1399260774324518925, N'wf_form_theme_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324518929, 1399260774324518925, N'wf_form_theme_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1399260774324618926, 1347095124710114284, N'wf_form_variable_view', N'表单历史变量查看', N'view', NULL, N'file-text', 1, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1408263948050984966, 1347061240995815426, N'wf_condition', N'流程表达式', N'menu', N'/plugin/workflow/pages/design/condition', N'ant-design:function-outlined', 6, 1, 0, 1, N'/plugin/workflow/pages/design/condition', NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1408263948050984967, 1408263948050984966, N'wf_condition_add', N'新增', N'add', N'/plugin/workflow/design/condition/add', N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1408263948050984968, 1408263948050984966, N'wf_condition_edit', N'修改', N'edit', N'/plugin/workflow/design/condition/edit', N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1408263948050984969, 1408263948050984966, N'wf_condition_delete', N'删除', N'delete', N'/plugin/workflow/design/condition/remove', N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1408263948050984970, 1408263948050984966, N'wf_condition_view', N'查看', N'view', N'/plugin/workflow/design/condition/view', N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180929, 1347061240995815426, N'wf_listener', N'监听器配置', N'menu', N'/plugin/workflow/pages/design/listener', N'ant-design:bell-outlined', 7, 1, 0, 1, N'/plugin/workflow/pages/design/listener', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180930, 1409170214477180929, N'wf_listener_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180931, 1409170214477180929, N'wf_listener_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180932, 1409170214477180929, N'wf_listener_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180933, 1409170214477180929, N'wf_listener_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412666776159797249, 1164733399669963301, N'wf_ops', N'流程运维', N'menu', N'/plugin/workflow/pages/ops', N'ant-design:tool-outlined', 3, 1, 0, 1, N'/plugin/workflow/pages/ops', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562690, 1412666776159797249, N'wf_ops_index', N'运维调度', N'menu', N'/plugin/workflow/pages/ops/index', N'ant-design:cloud-sync-outlined', 1, 1, 0, 1, N'/plugin/workflow/pages/ops/index', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562691, 1412667489128562690, N'wf_ops_detail', N'详情', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562692, 1412667489128562690, N'wf_ops_follow', N'流程图', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562693, 1412667489128562690, N'wf_ops_reject', N'驳回', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562694, 1412667489128562690, N'wf_ops_pass', N'通过', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562695, 1412667489128562690, N'wf_ops_transfer', N'转办', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562696, 1412667489128562690, N'wf_ops_delegate', N'委托', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562697, 1412667489128562690, N'wf_ops_rollback', N'指定回退', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562698, 1412667489128562690, N'wf_ops_terminate', N'终止', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562699, 1412667489128562690, N'wf_ops_copy', N'抄送', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562700, 1412667489128562690, N'wf_ops_urge', N'催办', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562701, 1412667489128562690, N'wf_ops_active', N'激活', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562702, 1412667489128562690, N'wf_ops_suspend', N'挂起', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562703, 1412667489128562690, N'wf_ops_change_assignee', N'变更审核人', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562704, 1412667489128562690, N'wf_ops_dispatch', N'调度', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562705, 1412667489128562690, N'wf_ops_add_multi_instance', N'加签', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562706, 1412667489128562690, N'wf_ops_delete_multi_instance', N'减签', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562800, 1412666776159797249, N'wf_ops_done', N'办结流程', N'menu', N'/plugin/workflow/pages/ops/done', N'ant-design:safety-outlined', 1, 1, 0, 1, N'/plugin/workflow/pages/ops/done', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562801, 1412666776159797249, N'wf_ops_process', N'流程列表', N'menu', N'/plugin/workflow/pages/ops/list', N'ant-design:unordered-list-outlined', 1, 1, 0, 1, N'/plugin/workflow/pages/ops/list', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1412667489128562802, 1412667489128562801, N'wf_ops_delete_process', N'删除流程', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513394358223638534, 1412666776159797249, N'wf_ops_proxy', N'流程代理', N'menu', N'/plugin/workflow/pages/ops/proxy', N'ant-design:send-outlined', 1, 1, 0, 1, N'/plugin/workflow/pages/ops/proxy', NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513394358223638535, 1513394358223638534, N'wf_ops_proxy_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513394358223638536, 1513394358223638534, N'wf_ops_proxy_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513394358223638537, 1513394358223638534, N'wf_ops_proxy_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513394358223638538, 1513394358223638534, N'wf_ops_proxy_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682182, 1164733399669963301, N'wf_demo', N'业务示例', N'menu', N'/plugin/workflow/pages/demo', N'ant-design:fund-view-outlined', 4, 1, 0, 1, N'/plugin/workflow/pages/demo', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682183, 1513683238709682182, N'wf_demo_leave', N'请假流程业务示例', N'menu', N'/plugin/workflow/pages/demo/leave/index', N'ant-design:pushpin-outlined', 1, 1, 0, 1, N'/plugin/workflow/pages/demo/leave/index', NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682184, 1513683238709682182, N'wf_demo_leave_delete', N'删除', N'delete', NULL, NULL, 4, 2, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682185, 1164733399669963301, N'statistics', N'流程统计', N'menu', N'/plugin/workflow/pages/statistics', N'ant-design:fund-projection-screen-outlined', 4, 1, 0, 1, N'/plugin/workflow/pages/statistics', NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682186, 1513683238709682185, N'wf_statistics', N'总览', N'menu', N'/plugin/workflow/pages/statistics/index', N'iconfont iconicon_subordinate', 4, 1, 0, 1, N'/plugin/workflow/pages/statistics/index', NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/saber3_menu.sql new file mode 100644 index 0000000..5e919d8 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/flowable/sqlserver/saber3_menu.sql @@ -0,0 +1,143 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1164733399669963301, 0, N'workflow', N'协同办公', N'menu', N'/plugin/workflow', N'iconfont iconicon_send', 5, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347061240995815426, 1164733399669963301, N'wf_design', N'流程设计', N'menu', N'/plugin/workflow/pages/design', N'iconfont iconicon_work', 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347061240995815427, 1347061240995815426, N'wf_design_model', N'模型设计', N'menu', N'/plugin/workflow/pages/design/model', N'iconfont iconicon_discovery', 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590658, 1347061240995815427, N'wf_design_model_add', N'新增', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590659, 1347061240995815427, N'wf_design_model_edit', N'修改', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590660, 1347061240995815427, N'wf_design_model_delete', N'删除', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590661, 1347061240995815427, N'wf_design_model_view', N'查看', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590662, 1347061240995815427, N'wf_design_model_history', N'历史', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590663, 1347061240995815427, N'wf_design_model_history_view', N'历史-预览', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590664, 1347061240995815427, N'wf_design_model_history_delete', N'历史-删除', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590665, 1347061240995815427, N'wf_design_model_history_main', N'历史-主版本', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590666, 1347061240995815427, N'wf_design_model_design', N'设计', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590667, 1347061240995815427, N'wf_design_model_deploy', N'部署', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590668, 1347061240995815427, N'wf_design_model_scope', N'权限', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590669, 1347061240995815427, N'wf_design_model_change_category', N'修改分类', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590670, 1347061240995815427, N'wf_design_model_copy', N'拷贝', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347066574619590671, 1347061240995815427, N'wf_design_model_icon', N'图标', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826049, 1347061240995815426, N'wf_design_form', N'表单设计', N'menu', N'/plugin/workflow/pages/design/form', N'iconfont icon-biaodan', 2, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826050, 1347083757101826049, N'wf_design_form_add', N'新增', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826051, 1347083757101826049, N'wf_design_form_edit', N'修改', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826052, 1347083757101826049, N'wf_design_form_delete', N'删除', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826053, 1347083757101826049, N'wf_design_form_view', N'查看', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826054, 1347083757101826049, N'wf_design_form_design', N'设计', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826055, 1347083757101826049, N'wf_design_form_copy', N'拷贝', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826056, 1347083757101826049, N'wf_design_form_history', N'历史', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826057, 1347083757101826049, N'wf_design_form_history_view', N'历史-预览', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826058, 1347083757101826049, N'wf_design_form_history_delete', N'历史-删除', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826059, 1347083757101826049, N'wf_design_form_history_main', N'历史-主版本', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347083757101826060, 1347083757101826049, N'wf_design_form_change_category', N'修改分类', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113282, 1347061240995815426, N'wf_design_deployment', N'部署管理', N'menu', N'/plugin/workflow/pages/design/deployment', N'iconfont iconicon_cloud_history', 3, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113283, 1347095124710113282, N'wf_design_deployment_status', N'修改状态', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113284, 1347095124710113282, N'wf_design_deployment_category', N'修改分类', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710113285, 1347095124710113282, N'wf_design_deployment_delete', N'删除部署', N'menu', '', N'iconfont iconicon_roundadd', 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114284, 1164733399669963301, N'wf_process', N'我的事务', N'menu', N'/plugin/workflow/process', N'iconfont iconicon_notice', 2, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114285, 1347095124710114284, N'wf_process_start', N'新建流程', N'menu', N'/plugin/workflow/pages/process/start', N'iconfont iconicon_compile', 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114286, 1347095124710114285, N'wf_process_start_flow', N'发起', N'flow', '', N'flow', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114287, 1347095124710114285, N'wf_process_start_image', N'流程图', N'image', '', N'image', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114288, 1347095124710114284, N'wf_process_claim', N'待签事务', N'menu', N'/plugin/workflow/pages/process/claim', N'iconfont iconicon_ding', 5, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114289, 1347095124710114288, N'wf_process_claim_sign', N'签收', N'sign', '', N'sign', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114290, 1347095124710114288, N'wf_process_claim_detail', N'详情', N'detail', '', N'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114291, 1347095124710114288, N'wf_process_claim_follow', N'跟踪', N'follow', '', N'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114292, 1347095124710114284, N'wf_process_todo', N'待办事宜', N'menu', N'/plugin/workflow/pages/process/todo', N'iconfont iconicon_savememo', 2, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114293, 1347095124710114292, N'wf_process_todo_handle', N'办理', N'handle', '', N'handle', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114294, 1347095124710114292, N'wf_process_todo_detail', N'详情', N'detail', '', N'detail', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114295, 1347095124710114292, N'wf_process_todo_follow', N'跟踪', N'follow', '', N'follow', 3, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114296, 1347095124710114284, N'wf_process_send', N'我的请求', N'menu', N'/plugin/workflow/pages/process/send', N'iconfont iconicon_doc', 3, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114297, 1347095124710114296, N'wf_process_send_detail', N'详情', N'detail', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114298, 1347095124710114296, N'wf_process_send_follow', N'跟踪', N'follow', '', N'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114299, 1347095124710114284, N'wf_process_done', N'办结事宜', N'menu', N'/plugin/workflow/pages/process/done', N'iconfont iconicon_dispose', 4, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114300, 1347095124710114299, N'wf_process_done_detail', N'详情', N'detail', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114301, 1347095124710114299, N'wf_process_done_follow', N'跟踪', N'follow', '', N'follow', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114302, 1347095124710114284, N'wf_process_my_done', N'我的已办', N'menu', N'/plugin/workflow/pages/process/my-done', N'iconfont iconicon_dispose', 3, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114303, 1347095124710114302, N'wf_process_my_done_detail', N'详情', N'detail', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114304, 1347095124710114302, N'wf_process_my_done_follow', N'跟踪', N'follow', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114305, 1347095124710114284, N'wf_process_draft', N'草稿箱', N'follow', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114306, 1347095124710114284, N'wf_process_withdraw', N'撤销', N'follow', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114307, 1347095124710114292, N'wf_process_todo_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114308, 1347095124710114296, N'wf_process_send_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114309, 1347095124710114299, N'wf_process_done_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114310, 1347095124710114302, N'wf_process_my_done_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1347095124710114311, 1347095124710114288, N'wf_process_claim_search', N'表单搜索条件', N'follow', '', N'detail', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434310, 1347061240995815426, N'wf_button', N'流程按钮', N'menu', N'/plugin/workflow/pages/design/button', N'iconfont iconicon_setting', 4, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434311, 1394106647182434310, N'wf_button_add', N'新增', N'add', N'/plugin/workflow/design/button/add', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434312, 1394106647182434310, N'wf_button_edit', N'修改', N'edit', N'/plugin/workflow/design/button/edit', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434313, 1394106647182434310, N'wf_button_delete', N'删除', N'delete', N'/plugin/workflow/design/button/remove', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647182434314, 1394106647182434310, N'wf_button_view', N'查看', N'view', N'/plugin/workflow/design/button/view', N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149511, 1347061240995815426, N'wf_category', N'流程分类', N'menu', N'/plugin/workflow/pages/design/category', N'iconfont iconicon_work', 5, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149512, 1394106647392149511, N'wf_category_add', N'新增', N'add', N'/plugin/workflow/design/category/add', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149513, 1394106647392149511, N'wf_category_edit', N'修改', N'edit', N'/plugin/workflow/design/category/edit', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149514, 1394106647392149511, N'wf_category_delete', N'删除', N'delete', N'/plugin/api/workflow/design/category/remove', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394106647392149515, 1394106647392149511, N'wf_category_view', N'查看', N'view', N'/plugin/workflow/design/category/view', N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206087, 1347095124710114284, N'wf_copy', N'抄送事宜', N'menu', N'/plugin/workflow/pages/process/copy', N'iconfont iconicon_send', 5, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206088, 1394657590156206087, N'wf_copy_add', N'新增', N'add', N'/plugin/workflow/process/copy/add', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206089, 1394657590156206087, N'wf_copy_edit', N'修改', N'edit', N'/plugin/workflow/process/copy/edit', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206090, 1394657590156206087, N'wf_copy_delete', N'删除', N'delete', N'/plugin/workflow/process/copy/remove', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1394657590156206091, 1394657590156206087, N'wf_copy_view', N'查看', N'view', N'/plugin/workflow/process/copy/view', N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518919, 1347061240995815426, N'wf_form_default_values', N'表单默认值', N'menu', N'/plugin/workflow/pages/design/form-default-values', N'iconfont iconicon_compile', 5, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518920, 1399260774324518919, N'wf_form_default_values_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518921, 1399260774324518919, N'wf_form_default_values_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518922, 1399260774324518919, N'wf_form_default_values_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518923, 1399260774324518919, N'wf_form_default_values_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518924, 1399260774324518919, N'wf_form_default_values_copy', N'复制', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518925, 1347061240995815426, N'wf_form_theme', N'表单主题', N'menu', N'/plugin/workflow/pages/design/form-theme', N'iconfont icon-wxbgongju', 6, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518926, 1399260774324518925, N'wf_form_theme_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518927, 1399260774324518925, N'wf_form_theme_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518928, 1399260774324518925, N'wf_form_theme_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518929, 1399260774324518925, N'wf_form_theme_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324618926, 1347095124710114284, N'wf_form_variable_view', N'表单历史变量查看', N'view', NULL, N'file-text', 1, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984966, 1347061240995815426, N'wf_condition', N'流程表达式', N'menu', N'/plugin/workflow/pages/design/condition', N'iconfont iconicon_task', 6, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984967, 1408263948050984966, N'wf_condition_add', N'新增', N'add', N'/plugin/workflow/design/condition/add', N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984968, 1408263948050984966, N'wf_condition_edit', N'修改', N'edit', N'/plugin/workflow/design/condition/edit', N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984969, 1408263948050984966, N'wf_condition_delete', N'删除', N'delete', N'/plugin/workflow/design/condition/remove', N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1408263948050984970, 1408263948050984966, N'wf_condition_view', N'查看', N'view', N'/plugin/workflow/design/condition/view', N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180929, 1347061240995815426, N'wf_listener', N'监听器配置', N'menu', N'/plugin/workflow/pages/design/listener', N'iconfont iconicon_details', 7, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180930, 1409170214477180929, N'wf_listener_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180931, 1409170214477180929, N'wf_listener_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180932, 1409170214477180929, N'wf_listener_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1409170214477180933, 1409170214477180929, N'wf_listener_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412666776159797249, 1164733399669963301, N'wf_ops', N'流程运维', N'menu', N'/plugin/workflow/pages/ops', N'iconfont iconicon_cspace', 3, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562690, 1412666776159797249, N'wf_ops_index', N'运维调度', N'menu', N'/plugin/workflow/pages/ops/index', N'iconfont iconicon_exchange', 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562691, 1412667489128562690, N'wf_ops_detail', N'详情', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562692, 1412667489128562690, N'wf_ops_follow', N'流程图', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562693, 1412667489128562690, N'wf_ops_reject', N'驳回', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562694, 1412667489128562690, N'wf_ops_pass', N'通过', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562695, 1412667489128562690, N'wf_ops_transfer', N'转办', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562696, 1412667489128562690, N'wf_ops_delegate', N'委托', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562697, 1412667489128562690, N'wf_ops_rollback', N'指定回退', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562698, 1412667489128562690, N'wf_ops_terminate', N'终止', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562699, 1412667489128562690, N'wf_ops_copy', N'抄送', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562700, 1412667489128562690, N'wf_ops_urge', N'催办', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562701, 1412667489128562690, N'wf_ops_active', N'激活', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562702, 1412667489128562690, N'wf_ops_suspend', N'挂起', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562703, 1412667489128562690, N'wf_ops_change_assignee', N'变更审核人', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562704, 1412667489128562690, N'wf_ops_dispatch', N'调度', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562705, 1412667489128562690, N'wf_ops_add_multi_instance', N'加签', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562706, 1412667489128562690, N'wf_ops_delete_multi_instance', N'减签', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562800, 1412666776159797249, N'wf_ops_done', N'办结流程', N'menu', N'/plugin/workflow/pages/ops/done', N'iconfont iconicon_safety', 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562801, 1412666776159797249, N'wf_ops_process', N'流程列表', N'menu', N'/plugin/workflow/pages/ops/list', N'iconfont iconicon_safety', 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1412667489128562802, 1412667489128562801, N'wf_ops_delete_process', N'删除流程', N'menu', NULL, NULL, 1, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638534, 1412666776159797249, N'wf_ops_proxy', N'流程代理', N'menu', N'/plugin/workflow/pages/ops/proxy', N'iconfont iconicon_send', 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638535, 1513394358223638534, N'wf_ops_proxy_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638536, 1513394358223638534, N'wf_ops_proxy_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638537, 1513394358223638534, N'wf_ops_proxy_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513394358223638538, 1513394358223638534, N'wf_ops_proxy_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682182, 1164733399669963301, N'wf_demo', N'业务示例', N'menu', N'/plugin/workflow/pages/demo', N'iconfont iconicon_cspace', 4, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682183, 1513683238709682182, N'wf_demo_leave', N'请假流程业务示例', N'menu', N'/plugin/workflow/pages/demo/leave/index', N'iconfont iconicon_task', 1, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682184, 1513683238709682182, N'wf_demo_leave_delete', N'删除', N'delete', NULL, NULL, 4, 2, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682185, 1164733399669963301, N'statistics', N'流程统计', N'menu', N'/plugin/workflow/pages/statistics', N'iconfont iconicon_airplay', 4, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1513683238709682186, 1513683238709682185, N'wf_statistics', N'总览', N'menu', N'/plugin/workflow/pages/statistics/index', N'iconfont iconicon_subordinate', 4, 1, 0, 1, NULL, 0); + +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682187, 1164733399669963301, N'wf_chat', N'聊一聊', N'menu', N'/plugin/workflow/chat', N'iconfont iconicon_sms', 0, 1, 0, 1, '', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682188, 1513683238709682187, N'wf_chat_app', N'应用管理', N'menu', N'/plugin/workflow/pages/chat/app', N'iconfont icon-yingyongguanli', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682189, 1513683238709682188, N'wf_chat_app_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682190, 1513683238709682188, N'wf_chat_app_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682191, 1513683238709682188, N'wf_chat_app_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682192, 1513683238709682188, N'wf_chat_app_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682193, 1513683238709682187, N'wf_chat_assistant', N'助手管理', N'menu', N'/plugin/workflow/pages/chat/assistant', N'iconfont icon-gongnengdingyi', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682194, 1513683238709682193, N'wf_chat_assistant_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682195, 1513683238709682193, N'wf_chat_assistant_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682196, 1513683238709682193, N'wf_chat_assistant_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682197, 1513683238709682193, N'wf_chat_assistant_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682198, 1513683238709682187, N'wf_chat_workbench', N'工作台', N'menu', N'/plugin/workflow/pages/chat/workbench', N'iconfont icon-wuguan', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682199, 1513683238709682187, N'wf_chat_index', N'聊一聊', N'menu', N'/plugin/workflow/pages/chat/index', N'iconfont icon-shebeizhuangtai', 0, 1, 0, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/dm/1.12.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.12.0/blade-workflow.sql new file mode 100644 index 0000000..ddff1cd --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.12.0/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" + ADD ("TABLE_NAME" VARCHAR2(255)) +ADD ("TABLE_COMMENT" VARCHAR2(255)); + +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TABLE_NAME" IS '表名称'; + +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TABLE_COMMENT" IS '表注释' diff --git a/blade-plugin/blade-workflow/doc/vue3/update/dm/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..6151a71 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,91 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE TABLE "BLADE_WF_FORM_THEME" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255) NOT NULL, + "THEME_KEY" NVARCHAR2(255) NOT NULL, + "BORDER_WIDTH" NVARCHAR2(255), + "BORDER_COLOR" NVARCHAR2(255), + "LABEL_COLOR" NVARCHAR2(255), + "LABEL_BG" NVARCHAR2(255), + "LABEL_WIDTH" NVARCHAR2(255), + "LABEL_FONT_SIZE" NVARCHAR2(255), + "VALUE_COLOR" NVARCHAR2(255), + "VALUE_BG" NVARCHAR2(255), + "VALUE_FONT_SIZE" NVARCHAR2(255), + "FIELD0" NVARCHAR2(255), + "FIELD1" NVARCHAR2(255), + "FIELD2" NVARCHAR2(255), + "FIELD3" NVARCHAR2(255), + "FIELD4" NVARCHAR2(255), + "FIELD5" NVARCHAR2(255), + "FIELD6" NVARCHAR2(255), + "FIELD7" NVARCHAR2(255), + "FIELD8" NVARCHAR2(255), + "FIELD9" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."THEME_KEY" IS '主题key'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_WIDTH" IS '边框宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_COLOR" IS '边框颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_COLOR" IS 'label字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_BG" IS 'label背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_WIDTH" IS 'label宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_FONT_SIZE" IS 'label字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_COLOR" IS 'value字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_BG" IS 'value背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_FONT_SIZE" IS 'value字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD0" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD1" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD2" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD3" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD4" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD5" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD6" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD7" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD8" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD9" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_THEME" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_THEME +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1', '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', NULL, '14px', NULL, NULL, '14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:36:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('2', '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:16:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-18 11:50:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('3', '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598821738675201', TO_DATE('2023-04-04 16:57:35', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011945" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011942" CHECK ("ID" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011943" CHECK ("NAME" IS NOT NULL); +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011944" CHECK ("THEME_KEY" IS NOT NULL); + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" + ON "BLADE_WF_FORM_THEME" ("THEME_KEY" ASC); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/dm/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..2a1d462 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.7.1~1.8.0/blade.sql @@ -0,0 +1,7 @@ +-- 若以下sql执行时菜单已存在请忽略错误 + +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518925', '1347061240995815426', 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'iconfont icon-wxbgongju', '6', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518926', '1399260774324518925', 'wf_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518927', '1399260774324518925', 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518928', '1399260774324518925', 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518929', '1399260774324518925', 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/dm/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..0f0a10b --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,49 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_VARIABLE +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_VARIABLE"; +CREATE TABLE "BLADE_WF_FORM_VARIABLE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "TASK_DEF_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "FORM_OPTION" NCLOB, + "FORM_VARIABLE" NCLOB, + "STATUS" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20,0), + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_DEF_KEY" IS '任务节点key'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_NAME" IS '任务节点名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_OPTION" IS '表单js'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_VARIABLE" IS '表单值'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_VARIABLE" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012109" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012108" CHECK ("ID" IS NOT NULL); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/dm/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..75abe05 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/blade-workflow.sql new file mode 100644 index 0000000..c742578 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/blade-workflow.sql @@ -0,0 +1,45 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_LISTENER +-- ---------------------------- +DROP TABLE "BLADE_WF_LISTENER"; +CREATE TABLE "BLADE_WF_LISTENER" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CATEGORY" NVARCHAR2(255), + "EVENT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) +; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CATEGORY" IS '分类'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."EVENT" IS '事件'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TYPE" IS '监听类型'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."VAL" IS '值'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_LISTENER" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011312" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011311" CHECK ("ID" IS NOT NULL); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/lemon_menu.sql new file mode 100644 index 0000000..d8b1433 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/lemon_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'ant-design:bell-outlined', '7', '1', '0', '1', '/plugin/workflow/pages/design/listener', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/saber3_menu.sql new file mode 100644 index 0000000..379365c --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1/saber3_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'iconfont iconicon_details', '7', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..ed1790b --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/dm/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "BLADE_WF_DRAFT" + ADD ("TASK_ID" NVARCHAR2(255)); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" + ON "BLADE_WF_DRAFT" ("USER_ID", "TASK_ID", "PLATFORM"); + +COMMENT ON COLUMN "BLADE_WF_DRAFT"."TASK_ID" IS '任务id' diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.12.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.12.0/blade-workflow.sql new file mode 100644 index 0000000..22b1612 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.12.0/blade-workflow.sql @@ -0,0 +1,3 @@ +ALTER TABLE `blade_wf_deployment_form` +ADD COLUMN `table_name` varchar(255) NULL COMMENT '表名' AFTER `task_name`, +ADD COLUMN `table_comment` varchar(255) NULL COMMENT '表注释' AFTER `table_name`; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.15.0/blade_workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.15.0/blade_workflow.sql new file mode 100644 index 0000000..efc1f47 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.15.0/blade_workflow.sql @@ -0,0 +1,56 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_chat_app +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_chat_app`; +CREATE TABLE `blade_wf_chat_app` ( + `id` bigint NOT NULL COMMENT 'ID', + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `img_url` varchar(255) DEFAULT NULL COMMENT '图片', + `api_url` varchar(255) DEFAULT NULL COMMENT '应用请求地址', + `api_key` varchar(255) DEFAULT NULL COMMENT '应用请求密钥', + `api_url_prod` varchar(255) DEFAULT NULL COMMENT 'prod应用请求地址', + `api_key_prod` varchar(255) DEFAULT NULL COMMENT 'prod应用请求密钥', + `type` varchar(255) DEFAULT NULL COMMENT '类型 workflow工作流 chatflow对话工作流 chat对话 agent智能体 completion文本生成应用', + `iframe_url` varchar(255) DEFAULT NULL COMMENT 'iframe地址', + `iframe_url_prod` varchar(255) DEFAULT NULL COMMENT 'prod iframe地址', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + `create_user` bigint DEFAULT NULL COMMENT '创建人', + `create_dept` bigint DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int DEFAULT '1' COMMENT '状态', + `is_deleted` int DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='dify - 应用'; + +-- ---------------------------- +-- Table structure for blade_wf_chat_assistant +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_chat_assistant`; +CREATE TABLE `blade_wf_chat_assistant` ( + `id` bigint NOT NULL COMMENT 'ID', + `app_id` bigint DEFAULT NULL COMMENT '应用id', + `app_type` varchar(255) DEFAULT NULL COMMENT '应用类型', + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `img_url` varchar(255) DEFAULT NULL COMMENT '图片', + `description` varchar(255) DEFAULT NULL COMMENT '描述', + `system_prompt` varchar(255) DEFAULT NULL COMMENT '系统提示词', + `type` varchar(255) DEFAULT NULL COMMENT '类型', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + `create_user` bigint DEFAULT NULL COMMENT '创建人', + `create_dept` bigint DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int DEFAULT '1' COMMENT '状态', + `is_deleted` int DEFAULT '0' COMMENT '是否已删除', + PRIMARY KEY (`id`), + KEY `WF_IDX_APP_ID` (`app_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='dify - 应用助手'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.15.0/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.15.0/saber3_menu.sql new file mode 100644 index 0000000..4088959 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.15.0/saber3_menu.sql @@ -0,0 +1,13 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682187, 1164733399669963301, 'wf_chat', '聊一聊', 'menu', '/plugin/workflow/chat', 'iconfont iconicon_sms', 0, 1, 0, 1, '', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682188, 1513683238709682187, 'wf_chat_app', '应用管理', 'menu', '/plugin/workflow/pages/chat/app', 'iconfont icon-yingyongguanli', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682189, 1513683238709682188, 'wf_chat_app_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682190, 1513683238709682188, 'wf_chat_app_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682191, 1513683238709682188, 'wf_chat_app_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682192, 1513683238709682188, 'wf_chat_app_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682193, 1513683238709682187, 'wf_chat_assistant', '助手管理', 'menu', '/plugin/workflow/pages/chat/assistant', 'iconfont icon-gongnengdingyi', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682194, 1513683238709682193, 'wf_chat_assistant_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682195, 1513683238709682193, 'wf_chat_assistant_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682196, 1513683238709682193, 'wf_chat_assistant_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682197, 1513683238709682193, 'wf_chat_assistant_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682198, 1513683238709682187, 'wf_chat_workbench', '工作台', 'menu', '/plugin/workflow/pages/chat/workbench', 'iconfont icon-wuguan', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1513683238709682199, 1513683238709682187, 'wf_chat_index', '聊一聊', 'menu', '/plugin/workflow/pages/chat/index', 'iconfont icon-shebeizhuangtai', 0, 1, 0, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.0~1.7.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.0~1.7.1/blade-workflow.sql new file mode 100644 index 0000000..b78a333 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.0~1.7.1/blade-workflow.sql @@ -0,0 +1,8 @@ +ALTER TABLE `blade_wf_copy` + ADD COLUMN `deployment_id` varchar(255) NULL COMMENT '流程部署id' AFTER `process_id`; + +ALTER TABLE `ACT_DE_MODEL` + CHANGE COLUMN `xml` `model_xml` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模型XML' AFTER `version`; + +ALTER TABLE `ACT_DE_MODEL_HISTORY` + CHANGE COLUMN `xml` `model_xml` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模型XML' AFTER `version`; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..be86f14 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,52 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_theme`; +CREATE TABLE `blade_wf_form_theme` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) NOT NULL COMMENT '名称', + `theme_key` varchar(255) NOT NULL COMMENT '主题key', + `border_width` varchar(255) DEFAULT NULL COMMENT '边框宽度', + `border_color` varchar(255) DEFAULT NULL COMMENT '边框颜色', + `label_color` varchar(255) DEFAULT NULL COMMENT 'label字体颜色', + `label_bg` varchar(255) DEFAULT NULL COMMENT 'label背景颜色', + `label_width` varchar(255) DEFAULT NULL COMMENT 'label宽度', + `label_font_size` varchar(255) DEFAULT NULL COMMENT 'label字体大小', + `value_color` varchar(255) DEFAULT NULL COMMENT 'value字体颜色', + `value_bg` varchar(255) DEFAULT NULL COMMENT 'value背景颜色', + `value_font_size` varchar(255) DEFAULT NULL COMMENT 'value字体大小', + `field0` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field1` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field2` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field3` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field4` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field5` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field6` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field7` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field8` varchar(255) DEFAULT NULL COMMENT '预留字段', + `field9` varchar(255) DEFAULT NULL COMMENT '预留字段', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `WF_IDX_THEME_KEY` (`theme_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单 - 主题'; + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN; +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (1, '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', '', '14px', '', '', '14px', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:36:46', 1123598821738675201, '2023-05-04 10:43:18', 1, 0, '000000'); +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (2, '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:16:47', 1123598821738675201, '2023-04-18 11:50:10', 1, 0, '000000'); +INSERT INTO `blade_wf_form_theme` (`id`, `name`, `theme_key`, `border_width`, `border_color`, `label_color`, `label_bg`, `label_width`, `label_font_size`, `value_color`, `value_bg`, `value_font_size`, `field0`, `field1`, `field2`, `field3`, `field4`, `field5`, `field6`, `field7`, `field8`, `field9`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`, `tenant_id`) VALUES (3, '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598821738675201, '2023-04-04 16:57:35', 1123598821738675201, '2023-05-04 10:43:44', 1, 0, '000000'); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..3fc66c1 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.7.1~1.8.0/blade.sql @@ -0,0 +1,7 @@ +-- 若以下sql执行时菜单已存在请忽略错误 + +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518925, 1347061240995815426, 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'iconfont icon-wxbgongju', 6, 1, 0, 1, NULL, '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518926, 1399260774324518925, 'wf_form_theme_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518927, 1399260774324518925, 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518928, 1399260774324518925, 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1399260774324518929, 1399260774324518925, 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..ad33a66 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,34 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_form_variable`; +CREATE TABLE `blade_wf_form_variable` ( + `id` bigint(64) NOT NULL, + `process_ins_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程实例id', + `deployment_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程部署id', + `task_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '任务id', + `task_def_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '任务节点key', + `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '任务节点名称', + `form_option` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '表单js', + `form_variable` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '表单值', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '状态', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程表单 - 历史变量'; + +-- ---------------------------- +-- Records of blade_wf_form_variable +-- ---------------------------- +BEGIN; +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..afe9306 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/blade-workflow.sql new file mode 100644 index 0000000..3544513 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/blade-workflow.sql @@ -0,0 +1,26 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +DROP TABLE IF EXISTS `blade_wf_listener`; +CREATE TABLE `blade_wf_listener` ( + `id` bigint(64) NOT NULL, + `name` varchar(255) DEFAULT NULL COMMENT '名称', + `category` varchar(255) DEFAULT NULL COMMENT '分类', + `event` varchar(255) DEFAULT NULL COMMENT '事件', + `type` varchar(255) DEFAULT NULL COMMENT '监听类型', + `val` varchar(255) DEFAULT NULL COMMENT '值', + `create_user` bigint(64) DEFAULT NULL COMMENT '创建人', + `create_dept` bigint(64) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_user` bigint(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` int(11) DEFAULT NULL COMMENT '状态', + `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除', + `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务/执行监听器'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/lemon_menu.sql new file mode 100644 index 0000000..945eeb7 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/lemon_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'ant-design:bell-outlined', 7, 1, 0, 1, '/plugin/workflow/pages/design/listener', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/saber3_menu.sql new file mode 100644 index 0000000..0f37580 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1/saber3_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'iconfont iconicon_details', 7, 1, 0, 1, '', '', 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..015eff4 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/mysql/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,3 @@ +ALTER TABLE `blade_wf_draft` + ADD COLUMN `task_id` varchar(255) NULL COMMENT '任务id' AFTER `process_def_id`, +ADD UNIQUE INDEX `WF_IDX_DRAFT_UNI2`(`user_id`, `task_id`, `platform`) USING BTREE; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.12.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.12.0/blade-workflow.sql new file mode 100644 index 0000000..ddff1cd --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.12.0/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "BLADE_WF_DEPLOYMENT_FORM" + ADD ("TABLE_NAME" VARCHAR2(255)) +ADD ("TABLE_COMMENT" VARCHAR2(255)); + +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TABLE_NAME" IS '表名称'; + +COMMENT ON COLUMN "BLADE_WF_DEPLOYMENT_FORM"."TABLE_COMMENT" IS '表注释' diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.15.0/blade_workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.15.0/blade_workflow.sql new file mode 100644 index 0000000..43ca2e2 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.15.0/blade_workflow.sql @@ -0,0 +1,140 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_CHAT_APP +-- ---------------------------- +DROP TABLE "BLADE_WF_CHAT_APP"; +CREATE TABLE "BLADE_WF_CHAT_APP" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "IMG_URL" NVARCHAR2(255), + "API_URL" NVARCHAR2(255), + "API_KEY" NVARCHAR2(255), + "API_URL_PROD" NVARCHAR2(255), + "API_KEY_PROD" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "IFRAME_URL" NVARCHAR2(255), + "IFRAME_URL_PROD" NVARCHAR2(255), + "REMARK" NVARCHAR2(255), + "TENANT_ID" NVARCHAR2(12), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) +) +LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."ID" IS 'ID'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."IMG_URL" IS '图片'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."API_URL" IS '应用请求地址'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."API_KEY" IS '应用请求密钥'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."API_URL_PROD" IS 'prod应用请求地址'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."API_KEY_PROD" IS 'prod应用请求密钥'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."TYPE" IS '类型 workflow工作流 chatflow对话工作流 chat对话 agent智能体 completion文本生成应用'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."IFRAME_URL" IS 'iframe地址'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."IFRAME_URL_PROD" IS 'prod iframe地址'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."REMARK" IS '备注'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."TENANT_ID" IS '租户ID'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CHAT_APP"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_CHAT_APP" IS 'dify - 应用'; + +-- ---------------------------- +-- Table structure for BLADE_WF_CHAT_ASSISTANT +-- ---------------------------- +DROP TABLE "BLADE_WF_CHAT_ASSISTANT"; +CREATE TABLE "BLADE_WF_CHAT_ASSISTANT" ( + "ID" NUMBER(20,0) NOT NULL, + "APP_ID" NUMBER(20,0), + "APP_TYPE" NVARCHAR2(255), + "NAME" NVARCHAR2(255), + "IMG_URL" NVARCHAR2(255), + "DESCRIPTION" NVARCHAR2(255), + "SYSTEM_PROMPT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "TENANT_ID" NVARCHAR2(12), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) +) +LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."ID" IS 'ID'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."APP_ID" IS '应用id'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."APP_TYPE" IS '应用类型'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."IMG_URL" IS '图片'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."DESCRIPTION" IS '描述'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."SYSTEM_PROMPT" IS '系统提示词'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."TYPE" IS '类型'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."TENANT_ID" IS '租户ID'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_CHAT_ASSISTANT"."IS_DELETED" IS '是否已删除'; +COMMENT ON TABLE "BLADE_WF_CHAT_ASSISTANT" IS 'dify - 应用助手'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CHAT_APP +-- ---------------------------- +ALTER TABLE "BLADE_WF_CHAT_APP" ADD CONSTRAINT "SYS_C0012121" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CHAT_APP +-- ---------------------------- +ALTER TABLE "BLADE_WF_CHAT_APP" ADD CONSTRAINT "SYS_C0012119" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_CHAT_ASSISTANT +-- ---------------------------- +ALTER TABLE "BLADE_WF_CHAT_ASSISTANT" ADD CONSTRAINT "SYS_C0012120" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_CHAT_ASSISTANT +-- ---------------------------- +ALTER TABLE "BLADE_WF_CHAT_ASSISTANT" ADD CONSTRAINT "SYS_C0012118" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_CHAT_ASSISTANT +-- ---------------------------- +CREATE INDEX "WF_IDX_APP_ID" + ON "BLADE_WF_CHAT_ASSISTANT" ("APP_ID" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + BUFFER_POOL DEFAULT +); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.15.0/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.15.0/saber3_menu.sql new file mode 100644 index 0000000..c926f30 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.15.0/saber3_menu.sql @@ -0,0 +1,13 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682187', '1164733399669963301', 'wf_chat', '聊一聊', 'menu', '/plugin/workflow/chat', 'iconfont iconicon_sms', '0', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682188', '1513683238709682187', 'wf_chat_app', '应用管理', 'menu', '/plugin/workflow/pages/chat/app', 'iconfont icon-yingyongguanli', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682189', '1513683238709682188', 'wf_chat_app_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682190', '1513683238709682188', 'wf_chat_app_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682191', '1513683238709682188', 'wf_chat_app_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682192', '1513683238709682188', 'wf_chat_app_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682193', '1513683238709682187', 'wf_chat_assistant', '助手管理', 'menu', '/plugin/workflow/pages/chat/assistant', 'iconfont icon-gongnengdingyi', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682194', '1513683238709682193', 'wf_chat_assistant_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682195', '1513683238709682193', 'wf_chat_assistant_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682196', '1513683238709682193', 'wf_chat_assistant_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682197', '1513683238709682193', 'wf_chat_assistant_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682198', '1513683238709682187', 'wf_chat_workbench', '工作台', 'menu', '/plugin/workflow/pages/chat/workbench', 'iconfont icon-wuguan', '1', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1513683238709682199', '1513683238709682187', 'wf_chat_index', '聊一聊', 'menu', '/plugin/workflow/pages/chat/index', 'iconfont icon-shebeizhuangtai', '0', '1', '0', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.0~1.7.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.0~1.7.1/blade-workflow.sql new file mode 100644 index 0000000..be751cd --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.0~1.7.1/blade-workflow.sql @@ -0,0 +1,9 @@ +ALTER TABLE "BLADE_WF_COPY" + ADD ("DEPLOYMENT_ID" NVARCHAR2(255)); +COMMENT ON COLUMN "BLADEX_BOOT"."BLADE_WF_COPY"."DEPLOYMENT_ID" IS '流程部署id'; + +ALTER TABLE "ACT_DE_MODEL" RENAME COLUMN "XML" TO "MODEL_XML"; +COMMENT ON COLUMN "ACT_DE_MODEL"."MODEL_XML" IS '模型XML'; + +ALTER TABLE "ACT_DE_MODEL_HISTORY" RENAME COLUMN "XML" TO "MODEL_XML"; +COMMENT ON COLUMN "ACT_DE_MODEL_HISTORY"."MODEL_XML" IS '模型XML'; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..ea75e77 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,119 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_THEME +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_THEME"; +CREATE TABLE "BLADE_WF_FORM_THEME" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255) NOT NULL, + "THEME_KEY" NVARCHAR2(255) NOT NULL, + "BORDER_WIDTH" NVARCHAR2(255), + "BORDER_COLOR" NVARCHAR2(255), + "LABEL_COLOR" NVARCHAR2(255), + "LABEL_BG" NVARCHAR2(255), + "LABEL_WIDTH" NVARCHAR2(255), + "LABEL_FONT_SIZE" NVARCHAR2(255), + "VALUE_COLOR" NVARCHAR2(255), + "VALUE_BG" NVARCHAR2(255), + "VALUE_FONT_SIZE" NVARCHAR2(255), + "FIELD0" NVARCHAR2(255), + "FIELD1" NVARCHAR2(255), + "FIELD2" NVARCHAR2(255), + "FIELD3" NVARCHAR2(255), + "FIELD4" NVARCHAR2(255), + "FIELD5" NVARCHAR2(255), + "FIELD6" NVARCHAR2(255), + "FIELD7" NVARCHAR2(255), + "FIELD8" NVARCHAR2(255), + "FIELD9" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."THEME_KEY" IS '主题key'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_WIDTH" IS '边框宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."BORDER_COLOR" IS '边框颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_COLOR" IS 'label字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_BG" IS 'label背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_WIDTH" IS 'label宽度'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."LABEL_FONT_SIZE" IS 'label字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_COLOR" IS 'value字体颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_BG" IS 'value背景颜色'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."VALUE_FONT_SIZE" IS 'value字体大小'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD0" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD1" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD2" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD3" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD4" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD5" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD6" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD7" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD8" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."FIELD9" IS '预留字段'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_THEME"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_THEME" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of BLADE_WF_FORM_THEME +-- ---------------------------- +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('1', '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', NULL, '14px', NULL, NULL, '14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:36:46', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:18', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('2', '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2023-04-04 15:16:47', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-04-18 11:50:10', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +INSERT INTO "BLADE_WF_FORM_THEME" ("ID", "NAME", "THEME_KEY", "BORDER_WIDTH", "BORDER_COLOR", "LABEL_COLOR", "LABEL_BG", "LABEL_WIDTH", "LABEL_FONT_SIZE", "VALUE_COLOR", "VALUE_BG", "VALUE_FONT_SIZE", "FIELD0", "FIELD1", "FIELD2", "FIELD3", "FIELD4", "FIELD5", "FIELD6", "FIELD7", "FIELD8", "FIELD9", "CREATE_USER", "CREATE_DEPT", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "STATUS", "IS_DELETED", "TENANT_ID") VALUES ('3', '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1123598821738675201', '1123598821738675201', TO_DATE('2023-04-04 16:57:35', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2023-05-04 10:43:44', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0', '000000'); +COMMIT; +COMMIT; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011945" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011942" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011943" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "BLADE_WF_FORM_THEME" ADD CONSTRAINT "SYS_C0011944" CHECK ("THEME_KEY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +-- ---------------------------- +-- Indexes structure for table BLADE_WF_FORM_THEME +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" + ON "BLADE_WF_FORM_THEME" ("THEME_KEY" ASC) + LOGGING + VISIBLE +PCTFREE 10 +INITRANS 2 +STORAGE ( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..2a1d462 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.7.1~1.8.0/blade.sql @@ -0,0 +1,7 @@ +-- 若以下sql执行时菜单已存在请忽略错误 + +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518925', '1347061240995815426', 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'iconfont icon-wxbgongju', '6', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518926', '1399260774324518925', 'wf_form_theme_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518927', '1399260774324518925', 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518928', '1399260774324518925', 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1399260774324518929', '1399260774324518925', 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..8cf3105 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,59 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_FORM_VARIABLE +-- ---------------------------- +DROP TABLE "BLADE_WF_FORM_VARIABLE"; +CREATE TABLE "BLADE_WF_FORM_VARIABLE" ( + "ID" NUMBER(20,0) NOT NULL, + "PROCESS_INS_ID" NVARCHAR2(255), + "DEPLOYMENT_ID" NVARCHAR2(255), + "TASK_ID" NVARCHAR2(255), + "TASK_DEF_KEY" NVARCHAR2(255), + "TASK_NAME" NVARCHAR2(255), + "FORM_OPTION" NCLOB, + "FORM_VARIABLE" NCLOB, + "STATUS" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20,0), + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."PROCESS_INS_ID" IS '流程实例id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."DEPLOYMENT_ID" IS '流程部署id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_ID" IS '任务id'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_DEF_KEY" IS '任务节点key'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TASK_NAME" IS '任务节点名称'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_OPTION" IS '表单js'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."FORM_VARIABLE" IS '表单值'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_FORM_VARIABLE"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_FORM_VARIABLE" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012109" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_FORM_VARIABLE +-- ---------------------------- +ALTER TABLE "BLADE_WF_FORM_VARIABLE" ADD CONSTRAINT "SYS_C0012108" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..75abe05 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "REMARK", "IS_DELETED") VALUES ('1399260774324618926', '1347095124710114284', 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', '1', '2', '2', '1', NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/blade-workflow.sql new file mode 100644 index 0000000..b889dc4 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/blade-workflow.sql @@ -0,0 +1,55 @@ +-- ---------------------------- +-- Table structure for BLADE_WF_LISTENER +-- ---------------------------- +DROP TABLE "BLADE_WF_LISTENER"; +CREATE TABLE "BLADE_WF_LISTENER" ( + "ID" NUMBER(20,0) NOT NULL, + "NAME" NVARCHAR2(255), + "CATEGORY" NVARCHAR2(255), + "EVENT" NVARCHAR2(255), + "TYPE" NVARCHAR2(255), + "VAL" NVARCHAR2(255), + "CREATE_USER" NUMBER(20,0), + "CREATE_DEPT" NUMBER(20,0), + "CREATE_TIME" DATE, + "UPDATE_USER" NUMBER(20,0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11,0), + "IS_DELETED" NUMBER(11,0) DEFAULT 0, + "TENANT_ID" NVARCHAR2(12) DEFAULT '000000' +) + LOGGING +NOCOMPRESS +PCTFREE 10 +INITRANS 1 +STORAGE ( + BUFFER_POOL DEFAULT +) +PARALLEL 1 +NOCACHE +DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."NAME" IS '名称'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CATEGORY" IS '分类'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."EVENT" IS '事件'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TYPE" IS '监听类型'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."VAL" IS '值'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."STATUS" IS '状态'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "BLADE_WF_LISTENER"."TENANT_ID" IS '租户ID'; +COMMENT ON TABLE "BLADE_WF_LISTENER" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011312" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table BLADE_WF_LISTENER +-- ---------------------------- +ALTER TABLE "BLADE_WF_LISTENER" ADD CONSTRAINT "SYS_C0011311" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/lemon_menu.sql new file mode 100644 index 0000000..d8b1433 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/lemon_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'ant-design:bell-outlined', '7', '1', '0', '1', '/plugin/workflow/pages/design/listener', NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/saber3_menu.sql new file mode 100644 index 0000000..379365c --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1/saber3_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180929', '1347061240995815426', 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'iconfont iconicon_details', '7', '1', '0', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180930', '1409170214477180929', 'wf_listener_add', '新增', 'add', NULL, 'plus', '1', '2', '1', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180931', '1409170214477180929', 'wf_listener_edit', '修改', 'edit', NULL, 'form', '2', '2', '2', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180932', '1409170214477180929', 'wf_listener_delete', '删除', 'delete', NULL, 'delete', '3', '2', '3', '1', NULL, NULL, '0'); +INSERT INTO "BLADE_MENU" ("ID", "PARENT_ID", "CODE", "NAME", "ALIAS", "PATH", "SOURCE", "SORT", "CATEGORY", "ACTION", "IS_OPEN", "COMPONENT", "REMARK", "IS_DELETED") VALUES ('1409170214477180933', '1409170214477180929', 'wf_listener_view', '查看', 'view', NULL, 'file-text', '4', '2', '2', '1', NULL, NULL, '0'); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..ed1790b --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/oracle/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "BLADE_WF_DRAFT" + ADD ("TASK_ID" NVARCHAR2(255)); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" + ON "BLADE_WF_DRAFT" ("USER_ID", "TASK_ID", "PLATFORM"); + +COMMENT ON COLUMN "BLADE_WF_DRAFT"."TASK_ID" IS '任务id' diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.12.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.12.0/blade-workflow.sql new file mode 100644 index 0000000..455e908 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.12.0/blade-workflow.sql @@ -0,0 +1,7 @@ +ALTER TABLE "public"."blade_wf_deployment_form" + ADD COLUMN "table_name" varchar(255), + ADD COLUMN "table_comment" varchar(255); + +COMMENT ON COLUMN "public"."blade_wf_deployment_form"."table_name" IS '表名'; + +COMMENT ON COLUMN "public"."blade_wf_deployment_form"."table_comment" IS '表注释'; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.15.0/blade_workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.15.0/blade_workflow.sql new file mode 100644 index 0000000..8477ee6 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.15.0/blade_workflow.sql @@ -0,0 +1,106 @@ +-- ---------------------------- +-- Table structure for blade_wf_chat_app +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_chat_app"; +CREATE TABLE "blade_wf_chat_app" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "img_url" varchar(255) COLLATE "pg_catalog"."default", + "api_url" varchar(255) COLLATE "pg_catalog"."default", + "api_key" varchar(255) COLLATE "pg_catalog"."default", + "api_url_prod" varchar(255) COLLATE "pg_catalog"."default", + "api_key_prod" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "iframe_url" varchar(255) COLLATE "pg_catalog"."default", + "iframe_url_prod" varchar(255) COLLATE "pg_catalog"."default", + "remark" varchar(255) COLLATE "pg_catalog"."default", + "tenant_id" varchar(12) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 +) +; +ALTER TABLE "blade_wf_chat_app" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_chat_app"."id" IS 'ID'; +COMMENT ON COLUMN "blade_wf_chat_app"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_chat_app"."img_url" IS '图片'; +COMMENT ON COLUMN "blade_wf_chat_app"."api_url" IS '应用请求地址'; +COMMENT ON COLUMN "blade_wf_chat_app"."api_key" IS '应用请求密钥'; +COMMENT ON COLUMN "blade_wf_chat_app"."api_url_prod" IS 'prod应用请求地址'; +COMMENT ON COLUMN "blade_wf_chat_app"."api_key_prod" IS 'prod应用请求密钥'; +COMMENT ON COLUMN "blade_wf_chat_app"."type" IS '类型 workflow工作流 chatflow对话工作流 chat对话 agent智能体 completion文本生成应用'; +COMMENT ON COLUMN "blade_wf_chat_app"."iframe_url" IS 'iframe地址'; +COMMENT ON COLUMN "blade_wf_chat_app"."iframe_url_prod" IS 'prod iframe地址'; +COMMENT ON COLUMN "blade_wf_chat_app"."remark" IS '备注'; +COMMENT ON COLUMN "blade_wf_chat_app"."tenant_id" IS '租户ID'; +COMMENT ON COLUMN "blade_wf_chat_app"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_chat_app"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_chat_app"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_chat_app"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_chat_app"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_chat_app"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_chat_app"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_chat_app" IS 'dify - 应用'; + +-- ---------------------------- +-- Table structure for blade_wf_chat_assistant +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_chat_assistant"; +CREATE TABLE "blade_wf_chat_assistant" ( + "id" int8 NOT NULL, + "app_id" int8, + "app_type" varchar(255) COLLATE "pg_catalog"."default", + "name" varchar(255) COLLATE "pg_catalog"."default", + "img_url" varchar(255) COLLATE "pg_catalog"."default", + "description" varchar(255) COLLATE "pg_catalog"."default", + "system_prompt" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "tenant_id" varchar(12) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 +) +; +ALTER TABLE "blade_wf_chat_assistant" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_chat_assistant"."id" IS 'ID'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."app_id" IS '应用id'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."app_type" IS '应用类型'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."img_url" IS '图片'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."description" IS '描述'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."system_prompt" IS '系统提示词'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."type" IS '类型'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."tenant_id" IS '租户ID'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_chat_assistant"."is_deleted" IS '是否已删除'; +COMMENT ON TABLE "blade_wf_chat_assistant" IS 'dify - 应用助手'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_chat_app +-- ---------------------------- +ALTER TABLE "blade_wf_chat_app" ADD CONSTRAINT "blade_wf_chat_app_pkey" PRIMARY KEY ("id"); + +-- ---------------------------- +-- Indexes structure for table blade_wf_chat_assistant +-- ---------------------------- +CREATE INDEX "WF_IDX_APP_ID" ON "blade_wf_chat_assistant" USING btree ( + "app_id" "pg_catalog"."int8_ops" ASC NULLS LAST +); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_chat_assistant +-- ---------------------------- +ALTER TABLE "blade_wf_chat_assistant" ADD CONSTRAINT "blade_wf_chat_assistant_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.15.0/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.15.0/saber3_menu.sql new file mode 100644 index 0000000..241dd59 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.15.0/saber3_menu.sql @@ -0,0 +1,13 @@ +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682187, 1164733399669963301, 'wf_chat', '聊一聊', 'menu', '/plugin/workflow/chat', 'iconfont iconicon_sms', 0, 1, 0, 1, '', '', 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682188, 1513683238709682187, 'wf_chat_app', '应用管理', 'menu', '/plugin/workflow/pages/chat/app', 'iconfont icon-yingyongguanli', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682189, 1513683238709682188, 'wf_chat_app_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682190, 1513683238709682188, 'wf_chat_app_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682191, 1513683238709682188, 'wf_chat_app_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682192, 1513683238709682188, 'wf_chat_app_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682193, 1513683238709682187, 'wf_chat_assistant', '助手管理', 'menu', '/plugin/workflow/pages/chat/assistant', 'iconfont icon-gongnengdingyi', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682194, 1513683238709682193, 'wf_chat_assistant_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682195, 1513683238709682193, 'wf_chat_assistant_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682196, 1513683238709682193, 'wf_chat_assistant_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682197, 1513683238709682193, 'wf_chat_assistant_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682198, 1513683238709682187, 'wf_chat_workbench', '工作台', 'menu', '/plugin/workflow/pages/chat/workbench', 'iconfont icon-wuguan', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO "public"."blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1513683238709682199, 1513683238709682187, 'wf_chat_index', '聊一聊', 'menu', '/plugin/workflow/pages/chat/index', 'iconfont icon-shebeizhuangtai', 0, 1, 0, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.0~1.7.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.0~1.7.1/blade-workflow.sql new file mode 100644 index 0000000..e02d018 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.0~1.7.1/blade-workflow.sql @@ -0,0 +1,9 @@ +ALTER TABLE "blade_wf_copy" + ADD COLUMN "deployment_id" varchar(255); +COMMENT ON COLUMN "blade_wf_copy"."deployment_id" IS '流程部署id'; + +ALTER TABLE "act_de_model" RENAME COLUMN "xml" TO "model_xml"; +COMMENT ON COLUMN "act_de_model"."model_xml" IS '模型XML'; + +ALTER TABLE "act_de_model_history" RENAME COLUMN "xml" TO "model_xml"; +COMMENT ON COLUMN "act_de_model_history"."model_xml" IS '模型XML'; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..b2ae3aa --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,89 @@ +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_theme"; +CREATE TABLE "blade_wf_form_theme" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "theme_key" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, + "border_width" varchar(255) COLLATE "pg_catalog"."default", + "border_color" varchar(255) COLLATE "pg_catalog"."default", + "label_color" varchar(255) COLLATE "pg_catalog"."default", + "label_bg" varchar(255) COLLATE "pg_catalog"."default", + "label_width" varchar(255) COLLATE "pg_catalog"."default", + "label_font_size" varchar(255) COLLATE "pg_catalog"."default", + "value_color" varchar(255) COLLATE "pg_catalog"."default", + "value_bg" varchar(255) COLLATE "pg_catalog"."default", + "value_font_size" varchar(255) COLLATE "pg_catalog"."default", + "field0" varchar(255) COLLATE "pg_catalog"."default", + "field1" varchar(255) COLLATE "pg_catalog"."default", + "field2" varchar(255) COLLATE "pg_catalog"."default", + "field3" varchar(255) COLLATE "pg_catalog"."default", + "field4" varchar(255) COLLATE "pg_catalog"."default", + "field5" varchar(255) COLLATE "pg_catalog"."default", + "field6" varchar(255) COLLATE "pg_catalog"."default", + "field7" varchar(255) COLLATE "pg_catalog"."default", + "field8" varchar(255) COLLATE "pg_catalog"."default", + "field9" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_theme" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_theme"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_form_theme"."theme_key" IS '主题key'; +COMMENT ON COLUMN "blade_wf_form_theme"."border_width" IS '边框宽度'; +COMMENT ON COLUMN "blade_wf_form_theme"."border_color" IS '边框颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_color" IS 'label字体颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_bg" IS 'label背景颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_width" IS 'label宽度'; +COMMENT ON COLUMN "blade_wf_form_theme"."label_font_size" IS 'label字体大小'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_color" IS 'value字体颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_bg" IS 'value背景颜色'; +COMMENT ON COLUMN "blade_wf_form_theme"."value_font_size" IS 'value字体大小'; +COMMENT ON COLUMN "blade_wf_form_theme"."field0" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field1" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field2" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field3" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field4" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field5" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field6" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field7" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field8" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."field9" IS '预留字段'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_theme"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_theme"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_theme"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_theme"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_theme"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_theme"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_theme" IS '流程表单 - 主题'; + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN; +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (1, '蓝色', 'blue', '1px', '#cbdcf0', '#01418a', '#eef6ff', '', '14px', '', '', '14px', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:36:46', 1123598821738675201, '2023-05-04 10:43:18', 1, 0, '000000'); +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (2, '默认', 'default', '1px', 'rgba(235, 238, 245, 1)', 'rgba(144, 147, 153, 1)', 'rgba(250, 250, 250, 1)', NULL, NULL, 'rgba(96, 98, 102, 1)', 'rgba(255, 255, 255, 1)', NULL, '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598813738675201, '2023-04-04 15:16:47', 1123598821738675201, '2023-04-18 11:50:10', 1, 0, '000000'); +INSERT INTO "blade_wf_form_theme" ("id", "name", "theme_key", "border_width", "border_color", "label_color", "label_bg", "label_width", "label_font_size", "value_color", "value_bg", "value_font_size", "field0", "field1", "field2", "field3", "field4", "field5", "field6", "field7", "field8", "field9", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted", "tenant_id") VALUES (3, '黑色', 'black', '1px', 'rgba(0, 0, 0, 1)', '#000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1123598821738675201, 1123598821738675201, '2023-04-04 16:57:35', 1123598821738675201, '2023-05-04 10:43:44', 1, 0, '000000'); +COMMIT; + +-- ---------------------------- +-- Indexes structure for table blade_wf_form_theme +-- ---------------------------- +CREATE UNIQUE INDEX "WF_IDX_THEME_KEY" ON "blade_wf_form_theme" USING btree ( + "theme_key" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST + ); + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_theme +-- ---------------------------- +ALTER TABLE "blade_wf_form_theme" ADD CONSTRAINT "blade_wf_form_theme_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..e3f8818 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.7.1~1.8.0/blade.sql @@ -0,0 +1,7 @@ +-- 若以下sql执行时菜单已存在请忽略错误 + +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518925, 1347061240995815426, 'wf_form_theme', '表单主题', 'menu', '/plugin/workflow/pages/design/form-theme', 'iconfont icon-wxbgongju', 6, 1, 0, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518926, 1399260774324518925, 'wf_form_theme_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518927, 1399260774324518925, 'wf_form_theme_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518928, 1399260774324518925, 'wf_form_theme_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324518929, 1399260774324518925, 'wf_form_theme_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..f7369fd --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,45 @@ +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_form_variable"; +CREATE TABLE "blade_wf_form_variable" ( + "id" int8 NOT NULL, + "process_ins_id" varchar(255) COLLATE "pg_catalog"."default", + "deployment_id" varchar(255) COLLATE "pg_catalog"."default", + "task_id" varchar(255) COLLATE "pg_catalog"."default", + "task_def_key" varchar(255) COLLATE "pg_catalog"."default", + "task_name" varchar(255) COLLATE "pg_catalog"."default", + "form_option" text COLLATE "pg_catalog"."default", + "form_variable" text COLLATE "pg_catalog"."default", + "status" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_time" timestamp(6), + "create_dept" int8, + "update_user" int8, + "update_time" timestamp(6), + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +ALTER TABLE "blade_wf_form_variable" OWNER TO "postgres"; +COMMENT ON COLUMN "blade_wf_form_variable"."process_ins_id" IS '流程实例id'; +COMMENT ON COLUMN "blade_wf_form_variable"."deployment_id" IS '流程部署id'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_id" IS '任务id'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_def_key" IS '任务节点key'; +COMMENT ON COLUMN "blade_wf_form_variable"."task_name" IS '任务节点名称'; +COMMENT ON COLUMN "blade_wf_form_variable"."form_option" IS '表单js'; +COMMENT ON COLUMN "blade_wf_form_variable"."form_variable" IS '表单值'; +COMMENT ON COLUMN "blade_wf_form_variable"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_form_variable"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_form_variable"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_form_variable"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_form_variable"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_form_variable"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_form_variable" IS '流程表单 - 历史变量'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_variable +-- ---------------------------- +ALTER TABLE "blade_wf_form_variable" ADD CONSTRAINT "blade_wf_form_variable_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..d11489a --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "remark", "is_deleted") VALUES (1399260774324618926, 1347095124710114284, 'wf_form_variable_view', '表单历史变量查看', 'view', NULL, 'file-text', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/blade-workflow.sql new file mode 100644 index 0000000..82a191c --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/blade-workflow.sql @@ -0,0 +1,40 @@ +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +DROP TABLE IF EXISTS "blade_wf_listener"; +CREATE TABLE "blade_wf_listener" ( + "id" int8 NOT NULL, + "name" varchar(255) COLLATE "pg_catalog"."default", + "category" varchar(255) COLLATE "pg_catalog"."default", + "event" varchar(255) COLLATE "pg_catalog"."default", + "type" varchar(255) COLLATE "pg_catalog"."default", + "val" varchar(255) COLLATE "pg_catalog"."default", + "create_user" int8, + "create_dept" int8, + "create_time" timestamp(6), + "update_user" int8, + "update_time" timestamp(6), + "status" int4, + "is_deleted" int4 DEFAULT 0, + "tenant_id" varchar(12) COLLATE "pg_catalog"."default" DEFAULT '000000'::character varying +) +; +COMMENT ON COLUMN "blade_wf_listener"."name" IS '名称'; +COMMENT ON COLUMN "blade_wf_listener"."category" IS '分类'; +COMMENT ON COLUMN "blade_wf_listener"."event" IS '事件'; +COMMENT ON COLUMN "blade_wf_listener"."type" IS '监听类型'; +COMMENT ON COLUMN "blade_wf_listener"."val" IS '值'; +COMMENT ON COLUMN "blade_wf_listener"."create_user" IS '创建人'; +COMMENT ON COLUMN "blade_wf_listener"."create_dept" IS '创建部门'; +COMMENT ON COLUMN "blade_wf_listener"."create_time" IS '创建时间'; +COMMENT ON COLUMN "blade_wf_listener"."update_user" IS '修改人'; +COMMENT ON COLUMN "blade_wf_listener"."update_time" IS '修改时间'; +COMMENT ON COLUMN "blade_wf_listener"."status" IS '状态'; +COMMENT ON COLUMN "blade_wf_listener"."is_deleted" IS '是否已删除'; +COMMENT ON COLUMN "blade_wf_listener"."tenant_id" IS '租户ID'; +COMMENT ON TABLE "blade_wf_listener" IS '任务/执行监听器'; + +-- ---------------------------- +-- Primary Key structure for table blade_wf_listener +-- ---------------------------- +ALTER TABLE "blade_wf_listener" ADD CONSTRAINT "blade_wf_listener_pkey" PRIMARY KEY ("id"); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/lemon_menu.sql new file mode 100644 index 0000000..2f38355 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/lemon_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'ant-design:bell-outlined', 7, 1, 0, 1, '/plugin/workflow/pages/design/listener', '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/saber3_menu.sql new file mode 100644 index 0000000..5d68452 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1/saber3_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180929, 1347061240995815426, 'wf_listener', '监听器配置', 'menu', '/plugin/workflow/pages/design/listener', 'iconfont iconicon_details', 7, 1, 0, 1, NULL, '', 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180930, 1409170214477180929, 'wf_listener_add', '新增', 'add', NULL, 'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180931, 1409170214477180929, 'wf_listener_edit', '修改', 'edit', NULL, 'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180932, 1409170214477180929, 'wf_listener_delete', '删除', 'delete', NULL, 'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO "blade_menu" ("id", "parent_id", "code", "name", "alias", "path", "source", "sort", "category", "action", "is_open", "component", "remark", "is_deleted") VALUES (1409170214477180933, 1409170214477180929, 'wf_listener_view', '查看', 'view', NULL, 'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..cac4266 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/postgres/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,11 @@ +ALTER TABLE "blade_wf_draft" +DROP COLUMN "task_id", + ADD COLUMN "task_id" varchar(255); + +CREATE UNIQUE INDEX "WF_IDX_DRAFT_UNI2" ON "blade_wf_draft" USING btree ( + "user_id", + "platform", + "task_id" + ); + +COMMENT ON COLUMN "blade_wf_draft"."task_id" IS '任务id'; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.12.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.12.0/blade-workflow.sql new file mode 100644 index 0000000..5db1e57 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.12.0/blade-workflow.sql @@ -0,0 +1,18 @@ +ALTER TABLE [dbo].[blade_wf_deployment_form] ADD [table_name] varchar(255) + GO + +ALTER TABLE [dbo].[blade_wf_deployment_form] ADD [table_comment] varchar(255) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表名', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'table_name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表注释', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_deployment_form', + 'COLUMN', N'table_comment' diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.15.0/blade_workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.15.0/blade_workflow.sql new file mode 100644 index 0000000..e58b2f5 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.15.0/blade_workflow.sql @@ -0,0 +1,349 @@ +-- ---------------------------- +-- Table structure for blade_wf_chat_app +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_chat_app]') AND type IN ('U')) + DROP TABLE [dbo].[blade_wf_chat_app] +GO + +CREATE TABLE [dbo].[blade_wf_chat_app] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [img_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [api_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [api_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [api_url_prod] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [api_key_prod] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [iframe_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [iframe_url_prod] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [remark] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int NULL +) +GO + +ALTER TABLE [dbo].[blade_wf_chat_app] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'ID', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'名称', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'图片', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'img_url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'应用请求地址', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'api_url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'应用请求密钥', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'api_key' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'prod应用请求地址', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'api_url_prod' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'prod应用请求密钥', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'api_key_prod' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'类型 workflow工作流 chatflow对话工作流 chat对话 agent智能体 completion文本生成应用', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'iframe地址', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'iframe_url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'prod iframe地址', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'iframe_url_prod' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'备注', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'remark' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'租户ID', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'tenant_id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'create_user' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建部门', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'create_dept' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'create_time' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'修改人', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'update_user' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'修改时间', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'update_time' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'状态', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否已删除', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app', +'COLUMN', N'is_deleted' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'dify - 应用', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_app' +GO + + +-- ---------------------------- +-- Table structure for blade_wf_chat_assistant +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_chat_assistant]') AND type IN ('U')) + DROP TABLE [dbo].[blade_wf_chat_assistant] +GO + +CREATE TABLE [dbo].[blade_wf_chat_assistant] ( + [id] bigint NOT NULL, + [app_id] bigint NULL, + [app_type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [img_url] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [description] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [system_prompt] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int NULL +) +GO + +ALTER TABLE [dbo].[blade_wf_chat_assistant] SET (LOCK_ESCALATION = TABLE) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'ID', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'应用id', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'app_id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'应用类型', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'app_type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'名称', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'name' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'图片', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'img_url' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'描述', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'description' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'系统提示词', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'system_prompt' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'类型', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'type' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'租户ID', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'tenant_id' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建人', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'create_user' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建部门', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'create_dept' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'创建时间', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'create_time' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'修改人', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'update_user' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'修改时间', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'update_time' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'状态', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'status' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'是否已删除', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant', +'COLUMN', N'is_deleted' +GO + +EXEC sp_addextendedproperty +'MS_Description', N'dify - 应用助手', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_chat_assistant' +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_chat_app +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_chat_app] ADD CONSTRAINT [PK__blade_wf__3213E83F2886D9E8] PRIMARY KEY CLUSTERED ([id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_chat_assistant +-- ---------------------------- +CREATE NONCLUSTERED INDEX [WF_IDX_APP_ID] +ON [dbo].[blade_wf_chat_assistant] ( + [app_id] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_chat_assistant +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_chat_assistant] ADD CONSTRAINT [PK__blade_wf__3213E83F10368B0F] PRIMARY KEY CLUSTERED ([id]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.15.0/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.15.0/saber3_menu.sql new file mode 100644 index 0000000..a4c07d0 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.15.0/saber3_menu.sql @@ -0,0 +1,13 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682187, 1164733399669963301, N'wf_chat', N'聊一聊', N'menu', N'/plugin/workflow/chat', N'iconfont iconicon_sms', 0, 1, 0, 1, '', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682188, 1513683238709682187, N'wf_chat_app', N'应用管理', N'menu', N'/plugin/workflow/pages/chat/app', N'iconfont icon-yingyongguanli', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682189, 1513683238709682188, N'wf_chat_app_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682190, 1513683238709682188, N'wf_chat_app_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682191, 1513683238709682188, N'wf_chat_app_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682192, 1513683238709682188, N'wf_chat_app_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682193, 1513683238709682187, N'wf_chat_assistant', N'助手管理', N'menu', N'/plugin/workflow/pages/chat/assistant', N'iconfont icon-gongnengdingyi', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682194, 1513683238709682193, N'wf_chat_assistant_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682195, 1513683238709682193, N'wf_chat_assistant_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682196, 1513683238709682193, N'wf_chat_assistant_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682197, 1513683238709682193, N'wf_chat_assistant_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682198, 1513683238709682187, N'wf_chat_workbench', N'工作台', N'menu', N'/plugin/workflow/pages/chat/workbench', N'iconfont icon-wuguan', 1, 1, 0, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1513683238709682199, 1513683238709682187, N'wf_chat_index', N'聊一聊', N'menu', N'/plugin/workflow/pages/chat/index', N'iconfont icon-shebeizhuangtai', 0, 1, 0, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.0~1.7.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.0~1.7.1/blade-workflow.sql new file mode 100644 index 0000000..230f9ac --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.0~1.7.1/blade-workflow.sql @@ -0,0 +1,46 @@ +ALTER TABLE [dbo].[blade_wf_copy] ADD [deployment_id] nvarchar(255) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_copy', + 'COLUMN', N'deployment_id'; + +EXEC sp_rename '[dbo].[ACT_DE_MODEL].[xml]', 'model_xml', 'COLUMN' +GO + +IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL', +'COLUMN', N'model_xml')) > 0) + EXEC sp_updateextendedproperty +'MS_Description', N'模型XML', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL', +'COLUMN', N'model_xml' +ELSE + EXEC sp_addextendedproperty +'MS_Description', N'模型XML', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL', +'COLUMN', N'model_xml'; + +EXEC sp_rename '[dbo].[ACT_DE_MODEL_HISTORY].[xml]', 'model_xml', 'COLUMN' +GO + +IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL_HISTORY', +'COLUMN', N'model_xml')) > 0) + EXEC sp_updateextendedproperty +'MS_Description', N'模型XML', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL_HISTORY', +'COLUMN', N'model_xml' +ELSE + EXEC sp_addextendedproperty +'MS_Description', N'模型XML', +'SCHEMA', N'dbo', +'TABLE', N'ACT_DE_MODEL_HISTORY', +'COLUMN', N'model_xml'; diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.1~1.8.0/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.1~1.8.0/blade-workflow.sql new file mode 100644 index 0000000..fe02188 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.1~1.8.0/blade-workflow.sql @@ -0,0 +1,291 @@ +-- ---------------------------- +-- Table structure for blade_wf_form_theme +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_theme]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_theme] + GO + +CREATE TABLE [dbo].[blade_wf_form_theme] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [theme_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + [border_width] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [border_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_bg] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_width] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [label_font_size] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_color] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_bg] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [value_font_size] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field0] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field1] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field2] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field3] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field4] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field5] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field6] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field7] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field8] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [field9] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_theme] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'主题key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'theme_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'边框宽度', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'border_width' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'边框颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'border_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label字体颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label背景颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_bg' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label宽度', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_width' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'label字体大小', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'label_font_size' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value字体颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_color' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value背景颜色', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_bg' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'value字体大小', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'value_font_size' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field0' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field1' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field2' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field3' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field4' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field5' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field6' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field7' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field8' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'预留字段', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'field9' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单 - 主题', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_theme' + GO + + +-- ---------------------------- +-- Records of blade_wf_form_theme +-- ---------------------------- +BEGIN TRANSACTION +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'1', N'蓝色', N'blue', N'1px', N'#cbdcf0', N'#01418a', N'#eef6ff', N'', N'14px', N'', N'', N'14px', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598813738675201', N'2023-04-04 15:36:46.0000000', N'1123598821738675201', N'2023-05-04 10:43:18.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'2', N'默认', N'default', N'1px', N'rgba(235, 238, 245, 1)', N'rgba(144, 147, 153, 1)', N'rgba(250, 250, 250, 1)', NULL, NULL, N'rgba(96, 98, 102, 1)', N'rgba(255, 255, 255, 1)', NULL, N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598813738675201', N'2023-04-04 15:16:47.0000000', N'1123598821738675201', N'2023-04-18 11:50:10.0000000', N'1', N'0', N'000000') +GO + +INSERT INTO [dbo].[blade_wf_form_theme] ([id], [name], [theme_key], [border_width], [border_color], [label_color], [label_bg], [label_width], [label_font_size], [value_color], [value_bg], [value_font_size], [field0], [field1], [field2], [field3], [field4], [field5], [field6], [field7], [field8], [field9], [create_user], [create_dept], [create_time], [update_user], [update_time], [status], [is_deleted], [tenant_id]) VALUES (N'3', N'黑色', N'black', N'1px', N'rgba(0, 0, 0, 1)', N'#000', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'1123598821738675201', N'1123598821738675201', N'2023-04-04 16:57:35.0000000', N'1123598821738675201', N'2023-05-04 10:43:44.0000000', N'1', N'0', N'000000') +GO + +COMMIT +GO + + +-- ---------------------------- +-- Indexes structure for table blade_wf_form_theme +-- ---------------------------- +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_THEME_KEY] +ON [dbo].[blade_wf_form_theme] ( + [theme_key] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_theme +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_theme] ADD CONSTRAINT [PK__blade_wf__3213E83FE1B9E59C] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.1~1.8.0/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.1~1.8.0/blade.sql new file mode 100644 index 0000000..3a17fc9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.7.1~1.8.0/blade.sql @@ -0,0 +1,7 @@ +-- 若以下sql执行时菜单已存在请忽略错误 + +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518925, 1347061240995815426, N'wf_form_theme', N'表单主题', N'menu', N'/plugin/workflow/pages/design/form-theme', N'iconfont icon-wxbgongju', 6, 1, 0, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518926, 1399260774324518925, N'wf_form_theme_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518927, 1399260774324518925, N'wf_form_theme_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518928, 1399260774324518925, N'wf_form_theme_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324518929, 1399260774324518925, N'wf_form_theme_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.8.0~1.8.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.8.0~1.8.1/blade-workflow.sql new file mode 100644 index 0000000..4f7c547 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.8.0~1.8.1/blade-workflow.sql @@ -0,0 +1,149 @@ +-- ---------------------------- +-- Table structure for blade_wf_form_variable +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_form_variable]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_form_variable] + GO + +CREATE TABLE [dbo].[blade_wf_form_variable] ( + [id] bigint NOT NULL, + [process_ins_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [deployment_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_id] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_def_key] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [task_name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_option] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [form_variable] nvarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [status] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_time] datetime2(7) NULL, + [create_dept] bigint NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_form_variable] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程实例id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'process_ins_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程部署id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'deployment_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务节点key', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_def_key' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务节点名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'task_name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单js', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'form_option' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'表单值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'form_variable' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'流程表单 - 历史变量', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_form_variable' + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_form_variable +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_form_variable] ADD CONSTRAINT [PK__blade_wf__3213E83F21E7286A] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.8.0~1.8.1/blade.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.8.0~1.8.1/blade.sql new file mode 100644 index 0000000..05c6b0d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.8.0~1.8.1/blade.sql @@ -0,0 +1 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [remark], [is_deleted]) VALUES (1399260774324618926, 1347095124710114284, N'wf_form_variable_view', N'表单历史变量查看', N'view', NULL, N'file-text', 1, 2, 2, 1, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/blade-workflow.sql new file mode 100644 index 0000000..c3a90c9 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/blade-workflow.sql @@ -0,0 +1,134 @@ +-- ---------------------------- +-- Table structure for blade_wf_listener +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[blade_wf_listener]') AND type IN ('U')) +DROP TABLE [dbo].[blade_wf_listener] + GO + +CREATE TABLE [dbo].[blade_wf_listener] ( + [id] bigint NOT NULL, + [name] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [category] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [event] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [type] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [val] nvarchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + [create_user] bigint NULL, + [create_dept] bigint NULL, + [create_time] datetime2(7) NULL, + [update_user] bigint NULL, + [update_time] datetime2(7) NULL, + [status] int NULL, + [is_deleted] int DEFAULT 0 NULL, + [tenant_id] nvarchar(12) COLLATE SQL_Latin1_General_CP1_CI_AS DEFAULT '000000' NULL + ) + GO + +ALTER TABLE [dbo].[blade_wf_listener] SET (LOCK_ESCALATION = TABLE) + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'name' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'分类', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'category' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'事件', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'event' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'监听类型', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'type' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'值', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'val' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建部门', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_dept' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'create_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改人', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'update_user' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'update_time' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'状态', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'status' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'是否已删除', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'is_deleted' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'租户ID', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener', + 'COLUMN', N'tenant_id' + GO + + EXEC sp_addextendedproperty + 'MS_Description', N'任务/执行监听器', + 'SCHEMA', N'dbo', + 'TABLE', N'blade_wf_listener' + GO + + +-- ---------------------------- +-- Primary Key structure for table blade_wf_listener +-- ---------------------------- +ALTER TABLE [dbo].[blade_wf_listener] ADD CONSTRAINT [PK__blade_wf__3213E83FF80DDE18] PRIMARY KEY CLUSTERED ([id]) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ON [PRIMARY] + GO + diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/lemon_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/lemon_menu.sql new file mode 100644 index 0000000..b125cd3 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/lemon_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180929, 1347061240995815426, N'wf_listener', N'监听器配置', N'menu', N'/plugin/workflow/pages/design/listener', N'ant-design:bell-outlined', 7, 1, 0, 1, N'/plugin/workflow/pages/design/listener', '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180930, 1409170214477180929, N'wf_listener_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180931, 1409170214477180929, N'wf_listener_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180932, 1409170214477180929, N'wf_listener_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180933, 1409170214477180929, N'wf_listener_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/saber3_menu.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/saber3_menu.sql new file mode 100644 index 0000000..3cc546d --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1/saber3_menu.sql @@ -0,0 +1,5 @@ +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180929, 1347061240995815426, N'wf_listener', N'监听器配置', N'menu', N'/plugin/workflow/pages/design/listener', N'iconfont iconicon_details', 7, 1, 0, 1, NULL, '', 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180930, 1409170214477180929, N'wf_listener_add', N'新增', N'add', NULL, N'plus', 1, 2, 1, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180931, 1409170214477180929, N'wf_listener_edit', N'修改', N'edit', NULL, N'form', 2, 2, 2, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180932, 1409170214477180929, N'wf_listener_delete', N'删除', N'delete', NULL, N'delete', 3, 2, 3, 1, NULL, NULL, 0); +INSERT INTO [dbo].[blade_menu] ([id], [parent_id], [code], [name], [alias], [path], [source], [sort], [category], [action], [is_open], [component], [remark], [is_deleted]) VALUES (1409170214477180933, 1409170214477180929, N'wf_listener_view', N'查看', N'view', NULL, N'file-text', 4, 2, 2, 1, NULL, NULL, 0); diff --git a/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1~1.9.2/blade-workflow.sql b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1~1.9.2/blade-workflow.sql new file mode 100644 index 0000000..add70e2 --- /dev/null +++ b/blade-plugin/blade-workflow/doc/vue3/update/sqlserver/1.9.1~1.9.2/blade-workflow.sql @@ -0,0 +1,16 @@ +ALTER TABLE [dbo].[blade_wf_draft] ADD [task_id] nvarchar(255) + GO + +CREATE UNIQUE NONCLUSTERED INDEX [WF_IDX_DRAFT_UNI2] +ON [dbo].[blade_wf_draft] ( + [user_id], + [task_id], + [platform] +) +GO + +EXEC sp_addextendedproperty +'MS_Description', N'任务id', +'SCHEMA', N'dbo', +'TABLE', N'blade_wf_draft', +'COLUMN', N'task_id' diff --git a/blade-plugin/blade-workflow/pom.xml b/blade-plugin/blade-workflow/pom.xml new file mode 100644 index 0000000..ca828dd --- /dev/null +++ b/blade-plugin/blade-workflow/pom.xml @@ -0,0 +1,120 @@ + + + + blade-plugin + org.springblade + + + ${revision} + + + + 4.0.0 + + blade-workflow + ${project.artifactId} + 1.15.0.RELEASE + jar + + + 7.2.0 + + + + + + org.springblade + blade-common + + + org.springblade + blade-core-boot + + + org.springblade + blade-starter-swagger + + + org.springblade + blade-starter-excel + + + org.springblade + blade-core-auto + provided + + + org.springblade + blade-user-api + + ${revision} + + + + + org.springblade + blade-system-api + + ${revision} + + + + + + org.flowable + flowable-spring-boot-starter + ${flowable.version} + + + + io.github.imfangs + dify-java-client + 1.2.6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + io.fabric8 + docker-maven-plugin + + ${docker.fabric.skip} + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/WorkflowApplication.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/WorkflowApplication.java new file mode 100644 index 0000000..27a14f6 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/WorkflowApplication.java @@ -0,0 +1,15 @@ +package org.springblade.plugin.workflow; + +import org.springblade.core.cloud.client.BladeCloudApplication; +import org.springblade.core.cloud.feign.EnableBladeFeign; +import org.springblade.core.launch.BladeApplication; + +@EnableBladeFeign +//@SpringCloudApplication +@BladeCloudApplication +public class WorkflowApplication { + + public static void main(String[] args) { + BladeApplication.run("blade-workflow", WorkflowApplication.class, args); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppDraftController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppDraftController.java new file mode 100644 index 0000000..55349d4 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppDraftController.java @@ -0,0 +1,50 @@ +package org.springblade.plugin.workflow.app.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.process.entity.WfDraft; +import org.springblade.plugin.workflow.process.service.IWfDraftService; +import org.springframework.web.bind.annotation.*; + +/** + * 流程草稿箱 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/app/draft") +@Tag(name = "流程草稿箱", description = "流程草稿箱接口") +public class WfAppDraftController extends BladeController { + + private final IWfDraftService wfDraftService; + + @GetMapping("detail") + @Operation(summary = "详情") + @Parameters({ + @Parameter(name = "processDefId", description = "流程定义id"), + @Parameter(name = "platform", description = "平台 pc/app"), + }) + public R detail(WfDraft wfDraft) { + wfDraft.setUserId(Long.valueOf(WfTaskUtil.getTaskUser())); + return R.data(wfDraftService.getOne(new QueryWrapper<>(wfDraft))); + } + + @PostMapping("submit") + @Operation(summary = "保存") + @Parameters({ + @Parameter(name = "processDefId", description = "流程定义id"), + @Parameter(name = "platform", description = "平台 pc/app"), + }) + public R submit(@RequestBody WfDraft wfDraft) { + wfDraftService.submit(wfDraft); + return R.success("保存成功"); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppProcessController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppProcessController.java new file mode 100644 index 0000000..8bf7629 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppProcessController.java @@ -0,0 +1,125 @@ +package org.springblade.plugin.workflow.app.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.app.entity.WfAppProcess; +import org.springblade.plugin.workflow.app.service.IWfAppProcessService; +import org.springblade.plugin.workflow.app.vo.WfAppProcessVo; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.process.entity.WfCopy; +import org.springblade.plugin.workflow.process.service.IWfCopyService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/app/process") +@AllArgsConstructor +@Tag(name = "workflow - app - 流程") +public class WfAppProcessController { + + private final IWfCopyService copyService; + private final IWfAppProcessService processService; + + @GetMapping("list") + @Operation(summary = "可发起流程列表") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + }) + public R> list(@Parameter(hidden = true) WfAppProcess wfAppProcess) { + return R.data(processService.list(wfAppProcess)); + } + + @GetMapping("todoList") + @Operation(summary = "待办列表") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> todoList(@Parameter(hidden = true) WfAppProcess wfAppProcess, Query query) { + wfAppProcess.setStatus(WfProcessConstant.STATUS_TODO); + return R.data(processService.taskList(wfAppProcess, query)); + } + + @GetMapping("doneList") + @Operation(summary = "办结列表") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> doneList(@Parameter(hidden = true) WfAppProcess wfAppProcess, Query query) { + wfAppProcess.setStatus(WfProcessConstant.STATUS_DONE); + return R.data(processService.processList(wfAppProcess, query)); + } + + @GetMapping("myDoneList") + @Operation(summary = "我的已办列表") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> myDoneList(@Parameter(hidden = true) WfAppProcess wfAppProcess, Query query) { + wfAppProcess.setStatus(WfProcessConstant.STATUS_DONE); + return R.data(processService.taskList(wfAppProcess, query)); + } + + @GetMapping("sendList") + @Operation(summary = "我的请求") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> sendList(@Parameter(hidden = true) WfAppProcess wfAppProcess, Query query) { + wfAppProcess.setStatus(WfProcessConstant.STATUS_SEND); + return R.data(processService.processList(wfAppProcess, query)); + } + + @GetMapping("claimList") + @Operation(summary = "待签列表") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> claimList(@Parameter(hidden = true) WfAppProcess wfAppProcess, Query query) { + wfAppProcess.setStatus(WfProcessConstant.STATUS_CLAIM); + return R.data(processService.taskList(wfAppProcess, query)); + } + + @GetMapping("copyList") + @Operation(summary = "抄送列表") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R page(@Parameter(hidden = true) @RequestParam Map copy, Query query) { + if (ObjectUtil.isAnyEmpty(query.getCurrent(), query.getSize())) { + return R.fail("参数错误"); + } + Object processDefinitionName = copy.get("processDefinitionName"); + if (processDefinitionName != null) { + copy.remove("processDefinitionName"); + copy.put("title", processDefinitionName); + } + return R.data(copyService.page(Condition.getPage(query), Condition.getQueryWrapper(copy, WfCopy.class).eq("user_id", Long.valueOf(WfTaskUtil.getTaskUser())).orderByDesc("id"))); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppTaskController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppTaskController.java new file mode 100644 index 0000000..a867fec --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/controller/WfAppTaskController.java @@ -0,0 +1,203 @@ +package org.springblade.plugin.workflow.app.controller; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.app.entity.WfAppProcess; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.design.entity.WfButton; +import org.springblade.plugin.workflow.design.service.IWfButtonService; +import org.springblade.plugin.workflow.design.service.IWfFormService; +import org.springblade.plugin.workflow.process.model.WfProcess; +import org.springblade.plugin.workflow.process.service.IWfProcessService; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; + +@RestController +@RequestMapping("/app/task") +@AllArgsConstructor +@Tag(name = "workflow - app - 流程任务") +public class WfAppTaskController { + + private final IWfFormService formService; + private final IWfButtonService buttonService; + private final IWfProcessService processService; + + @GetMapping("getFormByProcessDefId") + @Operation(summary = "获取流程发起表单") + @Parameters({ + @Parameter(name = "processDefId", description = "流程定义id", required = true), + }) + public R getFormByProcessId(String processDefId) { + if (ObjectUtil.isAnyEmpty(processDefId)) { + return R.fail("参数错误"); + } + return R.data(formService.getFormByProcessDefId(processDefId)); + } + + @PostMapping("startProcess") + @Operation(summary = "发起流程") + @Parameters({ + @Parameter(name = "processId", description = "流程定义id", required = true), + }) + public R startProcess(@Parameter(hidden = true) @RequestBody JSONObject body) { + String processDefId = body.getString("processId"); + body.remove("processId"); + try { + return R.data(processService.startProcessInstanceById(processDefId, body)); + } catch (Exception e) { + return R.fail(e.getLocalizedMessage()); + } + } + + @GetMapping("detail") + @Operation(summary = "任务详情") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "processInsId", description = "流程实例id", required = true), + }) + public R detail(String taskId, String processInsId) throws ExecutionException, InterruptedException { + if (ObjectUtil.isAnyEmpty(taskId, processInsId)) { + return R.fail("参数错误"); + } + Future processFuture = processService.detail(taskId, WfTaskUtil.getTaskUser(), WfTaskUtil.getCandidateGroup()); + Future> formFuture = formService.getFormByTaskId(taskId); + Future> flowFuture = processService.historyFlowList(processInsId, null, null, WfTaskUtil.getTokenUser()); + Future> buttonFuture = buttonService.getButtonByTaskId(taskId); + + Map result = new HashMap<>(); + result.put("process", processFuture.get()); + result.put("form", formFuture.get()); + result.put("flow", flowFuture.get()); + result.put("button", buttonFuture.get()); + return R.data(result); + } + + @PostMapping("completeTask") + @Operation(summary = "完成任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "processInstanceId", description = "流程实例id", required = true), + @Parameter(name = "pass", description = "同意/驳回", required = true), + @Parameter(name = "comment", description = "评论"), + @Parameter(name = "copyUser", description = "抄送人"), + @Parameter(name = "assignee", description = "指定审批人"), + @Parameter(name = "variables", description = "表单参数"), + }) + public R completeTask(@Parameter(hidden = true) @RequestBody WfAppProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getProcessInstanceId())) { + return R.fail("参数错误"); + } + return (R) processService.completeTask(process); + } + + @PostMapping("transferTask") + @Operation(summary = "转办任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "assignee", description = "接受人", required = true), + }) + public R transferTask(@Parameter(hidden = true) @RequestBody WfAppProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getAssignee())) { + return R.fail("参数错误"); + } + return (R) processService.transferTask(process); + } + + @PostMapping("delegateTask") + @Operation(summary = "代理任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "assignee", description = "接受人", required = true), + }) + public R delegateTask(@Parameter(hidden = true) @RequestBody WfAppProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getAssignee())) { + return R.fail("参数错误"); + } + return (R) processService.delegateTask(process); + } + + @PostMapping("claimTask") + @Operation(summary = "签收任务(签收成功后回到待办任务中)") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + }) + public R claimTask(@Parameter(hidden = true) @RequestBody WfAppProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId())) { + return R.fail("参数错误"); + } + return (R) processService.claimTask(process.getTaskId()); + } + + @GetMapping("getBackNodes") + @Operation(summary = "获取可退回节点") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + }) + public R getBackNodes(@Parameter(hidden = true) WfAppProcess process) { + return R.data(processService.getBackNodes(process)); + } + + @PostMapping("rollbackTask") + @Operation(summary = "退回到指定节点") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "nodeId", description = "节点id", required = true), + @Parameter(name = "comment", description = "评论", required = true), + }) + public R rollbackTask(@Parameter(hidden = true) @RequestBody WfAppProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getNodeId(), process.getComment())) { + return R.fail("参数错误"); + } + return (R) processService.rollbackTask(process); + } + + @PostMapping("terminateProcess") + @Operation(summary = "终止流程") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + }) + public R terminateProcess(@Parameter(hidden = true) @RequestBody WfAppProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId())) { + return R.fail("参数错误"); + } + return (R) processService.terminateProcess(process); + } + + @PostMapping("addMultiInstance") + @Operation(summary = "加签") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "assignee", description = "加签人员", required = true), + }) + public R addMultiInstance(@Parameter(hidden = true) @RequestBody WfAppProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getAssignee())) { + return R.fail("参数错误"); + } + return (R) processService.addMultiInstance(process); + } + + @PostMapping("withdrawTask") + @Operation(summary = "撤销/撤回") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "withdrawType", description = "类型", required = true), + }) + public R withdrawTask(@Parameter(hidden = true) @RequestBody WfAppProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId())) { + return R.fail("参数错误"); + } + return (R) processService.withdrawTask(process); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/entity/WfAppProcess.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/entity/WfAppProcess.java new file mode 100644 index 0000000..801f4b9 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/entity/WfAppProcess.java @@ -0,0 +1,71 @@ +package org.springblade.plugin.workflow.app.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.process.model.WfProcess; + +import java.util.Date; + +/** + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfAppProcess extends WfProcess { + + @Schema(description = "id") + private String id; + + @Schema(description = "流程定义名称") + private String processDefinitionName; + + @Schema(description = "流程定义key") + private String processDefinitionKey; + + @Schema(description = "流程实例id") + private String processInstanceId; + + @Schema(description = "申请人") + private WfUser applyUser; + + @Schema(description = "审核人") + private String assignee; + + @Schema(description = "任务id") + private String taskId; + + @Schema(description = "任务名称") + private String taskName; + + @Schema(description = "节点id") + private String nodeId; + + @Schema(description = "申请人名称") + private String applyUserName; + + @Schema(description = "流水号") + private String serialNumber; + + @Schema(description = "创建时间") + private Date createTime; + + @Schema(description = "结束时间") + private Date endTime; + + @Schema(description = "外置表单key") + private String formKey; + + @Schema(description = "外置表单url") + private String formUrl; + + @Schema(description = "是否多实例") + private Boolean isMultiInstance; + + @Schema(description = "平台") + private String platform; + + @Schema(description = "图标") + private String icon; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/service/IWfAppProcessService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/service/IWfAppProcessService.java new file mode 100644 index 0000000..c2b0af0 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/service/IWfAppProcessService.java @@ -0,0 +1,32 @@ +package org.springblade.plugin.workflow.app.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.support.Query; +import org.springblade.plugin.workflow.app.entity.WfAppProcess; +import org.springblade.plugin.workflow.app.vo.WfAppProcessVo; + +import java.util.List; + +/** + * App流程 服务类 + * + * @author ssc + */ +public interface IWfAppProcessService { + + /** + * 可发起流程列表 + */ + List list(WfAppProcess process); + + /** + * 待办/待签/我的已办列表 + */ + IPage taskList(WfAppProcess process, Query query); + + /** + * 我的请求/办结列表 + */ + IPage processList(WfAppProcess process, Query query); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/service/impl/IWfAppProcessServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/service/impl/IWfAppProcessServiceImpl.java new file mode 100644 index 0000000..d04148d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/service/impl/IWfAppProcessServiceImpl.java @@ -0,0 +1,183 @@ +package org.springblade.plugin.workflow.app.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.AllArgsConstructor; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.ExtensionAttribute; +import org.flowable.engine.HistoryService; +import org.flowable.engine.ProcessEngineConfiguration; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.history.HistoricProcessInstance; +import org.flowable.engine.repository.ProcessDefinition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.app.entity.WfAppProcess; +import org.springblade.plugin.workflow.app.service.IWfAppProcessService; +import org.springblade.plugin.workflow.app.vo.WfAppProcessVo; +import org.springblade.plugin.workflow.core.cache.WfCategoryCache; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.query.WfProcessDefinitionQuery; +import org.springblade.plugin.workflow.core.user.WfUserCache; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.design.entity.WfCategory; +import org.springblade.plugin.workflow.design.entity.WfModel; +import org.springblade.plugin.workflow.design.mapper.WfModelMapper; +import org.springblade.plugin.workflow.design.vo.WfCategoryVO; +import org.springblade.plugin.workflow.process.model.WfProcess; +import org.springblade.plugin.workflow.process.service.IWfProcessService; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * App流程 服务实现类 + * + * @author ssc + */ +@Service +@AllArgsConstructor +public class IWfAppProcessServiceImpl implements IWfAppProcessService { + + private final RepositoryService repositoryService; + private final HistoryService historyService; + private final ProcessEngineConfiguration processEngineConfiguration; + + private final IWfProcessService processService; + private final WfModelMapper modelService; + + @Override + public List list(WfAppProcess process) { + List tree = WfCategoryCache.tree(); + + WfProcessDefinitionQuery processDefinitionQuery = new WfProcessDefinitionQuery(processEngineConfiguration.getCommandExecutor()) + .latestVersion() + .processDefinitionTenantId(WfTaskUtil.getTenantId()) + .active(); + + List scopeAll = new ArrayList<>(Collections.singletonList("WF_ALL")); + scopeAll.addAll(Arrays.asList(WfTaskUtil.getCandidateGroup().split(","))); + processDefinitionQuery.startableByUserOrGroups(WfTaskUtil.getTaskUser(), scopeAll); + + if (StringUtil.isNotBlank(process.getProcessDefinitionName())) { + processDefinitionQuery.processDefinitionNameLike("%" + process.getProcessDefinitionName() + "%"); + } + if (StringUtil.isNotBlank(process.getPlatform())) { + processDefinitionQuery.platform(process.getPlatform()); + } + List processDefinitionList = processDefinitionQuery.list(); + + List list = new ArrayList<>(); + tree.forEach(category -> { + WfAppProcessVo processVo = new WfAppProcessVo(); + List ids = new ArrayList<>(); + this.getChildrenIds(ids, category); + + if (ids.size() > 0) { + List processDefinitions = processDefinitionList.stream().filter(p -> ids.contains(p.getCategory())).collect(Collectors.toList()); + if (processDefinitions.size() > 0) { + processVo.setCategory(category.getName()); + + List processList = new ArrayList<>(); + processDefinitions.forEach(processDefinition -> { + WfAppProcess child = new WfAppProcess(); + child.setId(processDefinition.getId()); + child.setProcessDefinitionName(processDefinition.getName()); + child.setProcessDefinitionKey(processDefinition.getKey()); + + try { + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinition.getId()); + Map> exFormKey = WfModelUtil.getStartEventExtensionElementAttributes(bpmnModel, WfExtendConstant.EX_FORM_KEY); + if (exFormKey != null) { + String value = exFormKey.get("value").get(0).getValue(); + if (StringUtil.isNotBlank(value)) { + child.setFormKey(WfProcessConstant.EX_FORM_PREFIX + value); + } + } + + Map> exFormUrl = WfModelUtil.getStartEventExtensionElementAttributes(bpmnModel, WfExtendConstant.EX_FORM_URL); + if (exFormUrl != null) { + String value = exFormUrl.get("value").get(0).getValue(); + if (StringUtil.isNotBlank(value)) { + child.setFormUrl(value); + } + } + } catch (Exception ignore) { + } + + // 流程图标 + try { + WfModel model = modelService.selectOne(new LambdaQueryWrapper() + .eq(WfModel::getModelKey, processDefinition.getKey()) + .eq(WfModel::getTenantId, processDefinition.getTenantId())); + child.setIcon(model.getIcon()); + } catch (Exception ignore) { + + } + + processList.add(child); + }); + if (processList.size() > 0) { + processVo.setProcessList(processList); + list.add(processVo); + } + } + } + }); + return list; + } + + @Override + public IPage taskList(WfAppProcess process, Query query) { + return buildAppProcess(processService.selectTaskPage(process, query)); + } + + @Override + public IPage processList(WfAppProcess process, Query query) { + return buildAppProcess(processService.selectProcessPage(process, query)); + } + + private IPage buildAppProcess(IPage wfProcessIPage) { + IPage page = new Page<>(); + + List list = new ArrayList<>(); + wfProcessIPage.getRecords().forEach(wfProcess -> { + WfAppProcess process = BeanUtil.copyProperties(wfProcess, WfAppProcess.class); + assert process != null; + if (StringUtil.isNotBlank(process.getCategory())) { + WfCategory category = WfCategoryCache.getById(Long.valueOf(process.getCategory())); + if (category != null) { + process.setCategoryName(category.getName()); + } + } + HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(process.getProcessInstanceId()).singleResult(); + if (processInstance != null) { + process.setApplyUser(WfUserCache.getUser(Long.valueOf(processInstance.getStartUserId()))); + + // Status + if (StringUtil.isBlank(wfProcess.getProcessIsFinished())) { + processService.setProcessStatus(process, processInstance); + } + } + + list.add(process); + }); + page.setTotal(wfProcessIPage.getTotal()); + page.setRecords(list); + return page; + } + + private List getChildrenIds(List result, WfCategoryVO category) { + result.add(String.valueOf(category.getId())); + if (category.getChildren() != null && category.getChildren().size() > 0) { + category.getChildren().forEach(c -> result.addAll(this.getChildrenIds(result, c))); + } + return result; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/vo/WfAppProcessVo.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/vo/WfAppProcessVo.java new file mode 100644 index 0000000..0d45513 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/app/vo/WfAppProcessVo.java @@ -0,0 +1,18 @@ +package org.springblade.plugin.workflow.app.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.plugin.workflow.app.entity.WfAppProcess; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +public class WfAppProcessVo extends WfAppProcess { + + private String category; + + private List childrenIds; + + private List processList; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatAppController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatAppController.java new file mode 100644 index 0000000..13d74d2 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatAppController.java @@ -0,0 +1,138 @@ +package org.springblade.plugin.workflow.chat.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.plugin.workflow.chat.core.cache.WfChatCache; +import org.springblade.plugin.workflow.chat.excel.WfChatAppExcel; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAppVO; +import org.springblade.plugin.workflow.chat.service.IWfChatAppService; +import org.springblade.plugin.workflow.chat.wrapper.WfChatAppWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * dify - 应用 控制器 + * + * @author ssc + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/chat/app") +@Tag(name = "dify - 应用", description = "dify - 应用接口") +public class WfChatAppController extends BladeController { + + private final IWfChatAppService appService; + + /** + * dify - 应用 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入app") + public R detail(WfChatAppEntity model) { + WfChatAppEntity detail = appService.getOne(Condition.getQueryWrapper(model)); + return R.data(WfChatAppWrapper.build().entityVO(detail)); + } + + /** + * dify - 应用 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入app") + public R> list(@Parameter(hidden = true) @RequestParam Map model, Query query) { + IPage pages = appService.page(Condition.getPage(query), Condition.getQueryWrapper(model, WfChatAppEntity.class)); + return R.data(WfChatAppWrapper.build().pageVO(pages)); + } + + /** + * dify - 应用 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入app") + public R> page(WfChatAppVO model, Query query) { + IPage pages = appService.selectAppPage(Condition.getPage(query), model); + return R.data(pages); + } + + /** + * dify - 应用 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入app") + public R save(@Valid @RequestBody WfChatAppEntity model) { + return R.status(appService.save(model)); + } + + /** + * dify - 应用 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入app") + public R update(@Valid @RequestBody WfChatAppEntity model) { + WfChatCache.clearCache(); + return R.status(appService.updateById(model)); + } + + /** + * dify - 应用 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入app") + public R submit(@Valid @RequestBody WfChatAppEntity model) { + appService.submit(model); + return R.success("操作成功"); + } + + /** + * dify - 应用 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(appService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-model") + @ApiOperationSupport(order = 9) + @Operation(summary = "导出数据", description = "传入app") + public void exportModel(@Parameter(hidden = true) @RequestParam Map model, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(model, WfChatAppEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(Model::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(ChatModelEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = appService.exportApp(queryWrapper); + ExcelUtil.export(response, "dify - 应用数据" + DateUtil.time(), "dify - 应用数据表", list, WfChatAppExcel.class); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatAssistantController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatAssistantController.java new file mode 100644 index 0000000..6a23608 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatAssistantController.java @@ -0,0 +1,135 @@ +package org.springblade.plugin.workflow.chat.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.plugin.workflow.chat.excel.WfChatAssistantExcel; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAssistantEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAssistantVO; +import org.springblade.plugin.workflow.chat.service.IWfChatAssistantService; +import org.springblade.plugin.workflow.chat.wrapper.WfChatAssistantWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * dify - 智能助理 控制器 + * + * @author ssc + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/chat/assistant") +@Tag(name = "dify - 智能助理", description = "dify - 智能助理接口") +public class WfChatAssistantController extends BladeController { + + private final IWfChatAssistantService assistantService; + + /** + * dify - 智能助理 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入assistant") + public R detail(WfChatAssistantEntity application) { + WfChatAssistantEntity detail = assistantService.getOne(Condition.getQueryWrapper(application)); + return R.data(WfChatAssistantWrapper.build().entityVO(detail)); + } + + /** + * dify - 智能助理 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入assistant") + public R> list(@Parameter(hidden = true) @RequestParam Map application, Query query) { + IPage pages = assistantService.page(Condition.getPage(query), Condition.getQueryWrapper(application, WfChatAssistantEntity.class)); + return R.data(WfChatAssistantWrapper.build().pageVO(pages)); + } + + /** + * dify - 智能助理 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入assistant") + public R> page(WfChatAssistantVO application, Query query) { + IPage pages = assistantService.selectAssistantPage(Condition.getPage(query), application); + return R.data(pages); + } + + /** + * dify - 智能助理 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入assistant") + public R save(@Valid @RequestBody WfChatAssistantEntity application) { + return R.status(assistantService.save(application)); + } + + /** + * dify - 智能助理 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入assistant") + public R update(@Valid @RequestBody WfChatAssistantEntity application) { + return R.status(assistantService.updateById(application)); + } + + /** + * dify - 智能助理 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入assistant") + public R submit(@Valid @RequestBody WfChatAssistantEntity application) { + return R.status(assistantService.saveOrUpdate(application)); + } + + /** + * dify - 智能助理 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(assistantService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-application") + @ApiOperationSupport(order = 9) + @Operation(summary = "导出数据", description = "传入assistant") + public void exportApplication(@Parameter(hidden = true) @RequestParam Map application, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(application, WfChatAssistantEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(Application::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(ChatApplicationEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = assistantService.exportAssistant(queryWrapper); + ExcelUtil.export(response, "dify - 智能助理数据" + DateUtil.time(), "dify - 智能助理数据表", list, WfChatAssistantExcel.class); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatController.java new file mode 100644 index 0000000..04363d5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/controller/WfChatController.java @@ -0,0 +1,102 @@ +package org.springblade.plugin.workflow.chat.controller; + +import io.github.imfangs.dify.client.model.chat.Conversation; +import io.github.imfangs.dify.client.model.chat.ConversationListResponse; +import io.github.imfangs.dify.client.model.chat.MessageListResponse; +import io.github.imfangs.dify.client.model.chat.SuggestedQuestionsResponse; +import lombok.RequiredArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatMessageVO; +import org.springblade.plugin.workflow.chat.service.IWfChatService; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; + +@RestController +@RequestMapping("/chat") +@RequiredArgsConstructor +public class WfChatController { + + private final IWfChatService chatService; + + /** + * 发送消息 + */ + @PostMapping(value = "message", produces = MediaType.TEXT_EVENT_STREAM_VALUE) + public SseEmitter message(@RequestBody WfChatMessageVO chatMessage) { + return chatService.chatMessage(chatMessage); + } + + /** + * 上传文件 + */ + @PostMapping("upload") + public R upload(@RequestParam("file") MultipartFile file, @RequestParam("appId") Long appId) { + return chatService.upload(appId, file); + } + + /** + * 停止消息响应 + */ + @GetMapping("stopMessage") + public void stopMessage(WfChatMessageVO chatMessage) { + chatService.stopMessage(chatMessage); + } + + /** + * 消息列表 + */ + @GetMapping("messages") + public R messages(WfChatMessageVO chatMessage) { + return chatService.messages(chatMessage); + } + + /** + * 下一步建议 + */ + @GetMapping("messageSuggested") + public R messageSuggested(WfChatMessageVO chatMessage) { + return chatService.messageSuggested(chatMessage); + } + + /** + * 会话列表 + */ + @GetMapping("conversations") + public R conversations(Long appId, String lastId) { + return chatService.conversations(appId, lastId); + } + + /** + * 重命名会话 + */ + @GetMapping("renameConversation") + public R renameConversation(WfChatMessageVO chatMessage) { + return chatService.renameConversation(chatMessage); + } + + /** + * 删除会话 + */ + @DeleteMapping("deleteConversation") + public void deleteConversation(WfChatMessageVO chatMessage) { + chatService.deleteConversation(chatMessage); + } + + /** + * 应用基本信息 + */ + @GetMapping("info") + public R info(WfChatMessageVO chatMessageVO) { + return R.data(chatService.info(chatMessageVO)); + } + + /** + * 应用参数 + */ + @GetMapping("parameters") + public R parameters(WfChatMessageVO chatMessageVO) { + return R.data(chatService.parameters(chatMessageVO)); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/core/cache/WfChatCache.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/core/cache/WfChatCache.java new file mode 100644 index 0000000..b2da4e6 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/core/cache/WfChatCache.java @@ -0,0 +1,28 @@ +package org.springblade.plugin.workflow.chat.core.cache; + +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; +import org.springblade.plugin.workflow.chat.service.IWfChatAppService; + +public class WfChatCache { + + private static final String CHAT_CACHE = "wf:chat:"; + private static final String CHAT_APP_ID = "app:id:"; + + private static final IWfChatAppService chatAppService; + + static { + chatAppService = SpringUtil.getBean(IWfChatAppService.class); + } + + public static WfChatAppEntity getChatApp(Long id) { + return CacheUtil.get(CHAT_CACHE, CHAT_APP_ID, id, () -> chatAppService.getById(id)); + } + + public static void clearCache() { + CacheUtil.clear(CHAT_CACHE); + CacheUtil.clear(CHAT_CACHE, false); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/excel/WfChatAppExcel.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/excel/WfChatAppExcel.java new file mode 100644 index 0000000..9abf03f --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/excel/WfChatAppExcel.java @@ -0,0 +1,27 @@ +package org.springblade.plugin.workflow.chat.excel; + + +import cn.idev.excel.annotation.write.style.ColumnWidth; +import cn.idev.excel.annotation.write.style.ContentRowHeight; +import cn.idev.excel.annotation.write.style.HeadRowHeight; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * dify - 应用 Excel实体类 + * + * @author ssc + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class WfChatAppExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/excel/WfChatAssistantExcel.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/excel/WfChatAssistantExcel.java new file mode 100644 index 0000000..7a67b1e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/excel/WfChatAssistantExcel.java @@ -0,0 +1,26 @@ +package org.springblade.plugin.workflow.chat.excel; + +import cn.idev.excel.annotation.write.style.ColumnWidth; +import cn.idev.excel.annotation.write.style.ContentRowHeight; +import cn.idev.excel.annotation.write.style.HeadRowHeight; +import lombok.Data; + +import java.io.Serializable; +import java.io.Serial; + +/** + * dify - 智能助理 Excel实体类 + * + * @author ssc + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class WfChatAssistantExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAppMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAppMapper.java new file mode 100644 index 0000000..c636e9e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAppMapper.java @@ -0,0 +1,38 @@ +package org.springblade.plugin.workflow.chat.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import org.springblade.plugin.workflow.chat.excel.WfChatAppExcel; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAppVO; + +import java.util.List; + +/** + * dify - 应用 Mapper 接口 + * + * @author ssc + */ +public interface WfChatAppMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param model 查询参数 + * @return List + */ + List selectAppPage(IPage page, WfChatAppVO model); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportApp(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAppMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAppMapper.xml new file mode 100644 index 0000000..99b109b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAppMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAssistantMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAssistantMapper.java new file mode 100644 index 0000000..ad360a0 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAssistantMapper.java @@ -0,0 +1,37 @@ +package org.springblade.plugin.workflow.chat.mapper; + +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAssistantEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAssistantVO; +import org.springblade.plugin.workflow.chat.excel.WfChatAssistantExcel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * dify - 智能助理 Mapper 接口 + * + * @author ssc + */ +public interface WfChatAssistantMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param application 查询参数 + * @return List + */ + List selectAssistantPage(IPage page, WfChatAssistantVO application); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportAssistant(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAssistantMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAssistantMapper.xml new file mode 100644 index 0000000..ae26a04 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/mapper/WfChatAssistantMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/dto/WfChatAppDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/dto/WfChatAppDTO.java new file mode 100644 index 0000000..c80e7d8 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/dto/WfChatAppDTO.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.chat.pojo.dto; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; + +import java.io.Serial; + +/** + * dify - 应用 数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfChatAppDTO extends WfChatAppEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/dto/WfChatAssistantDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/dto/WfChatAssistantDTO.java new file mode 100644 index 0000000..0cdef3f --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/dto/WfChatAssistantDTO.java @@ -0,0 +1,19 @@ +package org.springblade.plugin.workflow.chat.pojo.dto; + +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAssistantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * dify - 智能助理 数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfChatAssistantDTO extends WfChatAssistantEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/entity/WfChatAppEntity.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/entity/WfChatAppEntity.java new file mode 100644 index 0000000..0081322 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/entity/WfChatAppEntity.java @@ -0,0 +1,88 @@ +package org.springblade.plugin.workflow.chat.pojo.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; +import org.springblade.core.tool.jackson.Sensitive; +import org.springblade.core.tool.sensitive.SensitiveType; + +import java.io.Serial; + +/** + * dify - 应用 实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_chat_app") +@Schema(description = "Apps对象") +@EqualsAndHashCode(callSuper = true) +public class WfChatAppEntity extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 名称 + */ + @Schema(description = "名称") + private String name; + + /** + * 图片 + */ + @Schema(description = "图片") + private String imgUrl; + + /** + * 应用请求地址 + */ + @Schema(description = "应用请求地址") + private String apiUrl; + + /** + * 应用请求密钥 + */ + @Schema(description = "应用请求密钥") + @Sensitive(type = SensitiveType.KEYS) + private String apiKey; + + /** + * prod应用请求地址 + */ + @Schema(description = "prod应用请求地址") + private String apiUrlProd; + + /** + * prod应用请求密钥 + */ + @Schema(description = "prod应用请求密钥") + @Sensitive(type = SensitiveType.KEYS) + private String apiKeyProd; + + /** + * 类型 workflow工作流 chatflow对话工作流 chatbot对话机器人 agent智能体 completion文本生成应用 + */ + @Schema(description = "类型") + private String type; + + /** + * iframe地址 + */ + @Schema(description = "iframe地址") + private String iframeUrl; + + /** + * prod iframe地址 + */ + @Schema(description = "prod iframe地址") + private String iframeUrlProd; + + /** + * 备注 + */ + @Schema(description = "备注") + private String remark; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/entity/WfChatAssistantEntity.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/entity/WfChatAssistantEntity.java new file mode 100644 index 0000000..dfacc3b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/entity/WfChatAssistantEntity.java @@ -0,0 +1,69 @@ +package org.springblade.plugin.workflow.chat.pojo.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +import java.io.Serial; + +/** + * dify - 智能助理 实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_chat_assistant") +@Schema(description = "Assistant对象") +@EqualsAndHashCode(callSuper = true) +public class WfChatAssistantEntity extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 应用id + */ + @Schema(description = "应用id") + @JsonSerialize(using = ToStringSerializer.class) + private Long appId; + + /** + * 应用类型 + */ + @Schema(description = "应用类型") + private String appType; + + /** + * 名称 + */ + @Schema(description = "名称") + private String name; + + /** + * 图片 + */ + @Schema(description = "图片") + private String imgUrl; + + /** + * 描述 + */ + @Schema(description = "描述") + private String description; + + /** + * 系统提示词 + */ + @Schema(description = "系统提示词") + private String systemPrompt; + + /** + * 类型 + */ + @Schema(description = "类型") + private String type; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatAppVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatAppVO.java new file mode 100644 index 0000000..6b1e80a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatAppVO.java @@ -0,0 +1,19 @@ +package org.springblade.plugin.workflow.chat.pojo.vo; + +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * dify - 应用 视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfChatAppVO extends WfChatAppEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatAssistantVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatAssistantVO.java new file mode 100644 index 0000000..d5d1bf4 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatAssistantVO.java @@ -0,0 +1,22 @@ +package org.springblade.plugin.workflow.chat.pojo.vo; + +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAssistantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * dify - 智能助理 视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfChatAssistantVO extends WfChatAssistantEntity { + @Serial + private static final long serialVersionUID = 1L; + + private WfChatAppEntity app; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatMessageVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatMessageVO.java new file mode 100644 index 0000000..2102fd0 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/pojo/vo/WfChatMessageVO.java @@ -0,0 +1,27 @@ +package org.springblade.plugin.workflow.chat.pojo.vo; + +import io.github.imfangs.dify.client.model.chat.ChatMessage; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class WfChatMessageVO extends ChatMessage { + + Long appId; + + Long assistantId; + + String taskId; + + String messageId; + + String conversationName; + + MultipartFile file; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatAppService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatAppService.java new file mode 100644 index 0000000..068af3b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatAppService.java @@ -0,0 +1,37 @@ +package org.springblade.plugin.workflow.chat.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAppVO; +import org.springblade.plugin.workflow.chat.excel.WfChatAppExcel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; +import java.util.List; + +/** + * dify - 应用 服务类 + * + * @author ssc + */ +public interface IWfChatAppService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param model 查询参数 + * @return IPage + */ + IPage selectAppPage(IPage page, WfChatAppVO model); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportApp(Wrapper queryWrapper); + + void submit(WfChatAppEntity app); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatAssistantService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatAssistantService.java new file mode 100644 index 0000000..5c628bb --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatAssistantService.java @@ -0,0 +1,35 @@ +package org.springblade.plugin.workflow.chat.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAssistantEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAssistantVO; +import org.springblade.plugin.workflow.chat.excel.WfChatAssistantExcel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; +import java.util.List; + +/** + * dify - 智能助理 服务类 + * + * @author ssc + */ +public interface IWfChatAssistantService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param application 查询参数 + * @return IPage + */ + IPage selectAssistantPage(IPage page, WfChatAssistantVO application); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportAssistant(Wrapper queryWrapper); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatService.java new file mode 100644 index 0000000..1553481 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/IWfChatService.java @@ -0,0 +1,67 @@ +package org.springblade.plugin.workflow.chat.service; + +import io.github.imfangs.dify.client.DifyClient; +import io.github.imfangs.dify.client.model.chat.*; +import io.github.imfangs.dify.client.model.file.FileUploadResponse; +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatMessageVO; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; + +public interface IWfChatService { + + /** + * 发送消息 + */ + SseEmitter chatMessage(WfChatMessageVO chatMessage); + + /** + * 停止响应 + */ + void stopMessage(WfChatMessageVO chatMessage); + + /** + * 消息列表 + */ + R messages(WfChatMessageVO chatMessage); + + /** + * 下一步建议 + */ + R messageSuggested(WfChatMessageVO chatMessage); + + /** + * 会话列表 + */ + R conversations(Long appsId, String lastId); + + /** + * 重命名会话 + */ + R renameConversation(WfChatMessageVO chatMessage); + + /** + * 删除会话 + */ + void deleteConversation(WfChatMessageVO chatMessage); + + /** + * 上传文件 + */ + R upload(Long appId, MultipartFile file); + + /** + * 获取应用参数 + */ + R parameters(WfChatMessageVO chatMessage); + + /** + * 获取应用基本信息 + */ + R info(WfChatMessageVO chatMessageVO); + + /** + * 获取dify客户端 + */ + DifyClient getDifyClient(Long appId); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatAppServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatAppServiceImpl.java new file mode 100644 index 0000000..e916265 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatAppServiceImpl.java @@ -0,0 +1,64 @@ +package org.springblade.plugin.workflow.chat.service.impl; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.RequiredArgsConstructor; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.plugin.workflow.chat.core.cache.WfChatCache; +import org.springblade.plugin.workflow.chat.excel.WfChatAppExcel; +import org.springblade.plugin.workflow.chat.mapper.WfChatAppMapper; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAssistantEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAppVO; +import org.springblade.plugin.workflow.chat.service.IWfChatAppService; +import org.springblade.plugin.workflow.chat.service.IWfChatAssistantService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * dify - 应用 服务实现类 + * + * @author ssc + */ +@Service +@RequiredArgsConstructor +public class WfChatAppServiceImpl extends BaseServiceImpl implements IWfChatAppService { + + private final IWfChatAssistantService assistantService; + + @Override + public IPage selectAppPage(IPage page, WfChatAppVO appVO) { + return page.setRecords(baseMapper.selectAppPage(page, appVO)); + } + + + @Override + public List exportApp(Wrapper queryWrapper) { + List appList = baseMapper.exportApp(queryWrapper); + //appList.forEach(app -> { + // app.setTypeName(DictCache.getValue(DictEnum.YES_NO, App.getType())); + //}); + return appList; + } + + @Override + public void submit(WfChatAppEntity appEntity) { + Long id = appEntity.getId(); + if (ObjectUtil.isEmpty(id)) { + this.save(appEntity); + } else { + // 清理缓存 + WfChatCache.clearCache(); + // 更新 + this.updateById(appEntity); + // 更新助手中的应用类型 + WfChatAssistantEntity assistant = new WfChatAssistantEntity(); + assistant.setAppType(appEntity.getType()); + assistantService.update(assistant, new LambdaQueryWrapper() + .eq(WfChatAssistantEntity::getAppId, id)); + } + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatAssistantServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatAssistantServiceImpl.java new file mode 100644 index 0000000..3f17053 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatAssistantServiceImpl.java @@ -0,0 +1,37 @@ +package org.springblade.plugin.workflow.chat.service.impl; + +import org.springblade.plugin.workflow.chat.mapper.WfChatAssistantMapper; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAssistantEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAssistantVO; +import org.springblade.plugin.workflow.chat.excel.WfChatAssistantExcel; +import org.springblade.plugin.workflow.chat.service.IWfChatAssistantService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; +import java.util.List; + +/** + * dify - 智能助理 服务实现类 + * + * @author ssc + */ +@Service +public class WfChatAssistantServiceImpl extends BaseServiceImpl implements IWfChatAssistantService { + + @Override + public IPage selectAssistantPage(IPage page, WfChatAssistantVO chatAssistantVO) { + return page.setRecords(baseMapper.selectAssistantPage(page, chatAssistantVO)); + } + + + @Override + public List exportAssistant(Wrapper queryWrapper) { + List assistantList = baseMapper.exportAssistant(queryWrapper); + //assistantList.forEach(assistant -> { + // assistant.setTypeName(DictCache.getValue(DictEnum.YES_NO, Assistant.getType())); + //}); + return assistantList; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatServiceImpl.java new file mode 100644 index 0000000..605f070 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/service/impl/WfChatServiceImpl.java @@ -0,0 +1,368 @@ +package org.springblade.plugin.workflow.chat.service.impl; + +import io.github.imfangs.dify.client.DifyClient; +import io.github.imfangs.dify.client.DifyClientFactory; +import io.github.imfangs.dify.client.callback.ChatflowStreamCallback; +import io.github.imfangs.dify.client.callback.CompletionStreamCallback; +import io.github.imfangs.dify.client.callback.WorkflowStreamCallback; +import io.github.imfangs.dify.client.enums.ResponseMode; +import io.github.imfangs.dify.client.event.*; +import io.github.imfangs.dify.client.model.DifyConfig; +import io.github.imfangs.dify.client.model.chat.*; +import io.github.imfangs.dify.client.model.completion.CompletionRequest; +import io.github.imfangs.dify.client.model.file.FileUploadResponse; +import io.github.imfangs.dify.client.model.workflow.WorkflowRunRequest; +import lombok.SneakyThrows; +import lombok.extern.log4j.Log4j2; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.chat.core.cache.WfChatCache; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatMessageVO; +import org.springblade.plugin.workflow.chat.service.IWfChatService; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; + +import java.io.File; +import java.util.Arrays; + +@Service +@Log4j2 +public class WfChatServiceImpl implements IWfChatService { + + @Override + @SneakyThrows + public SseEmitter chatMessage(WfChatMessageVO chatMessage) { + SseEmitter emitter = new SseEmitter(30_000L); + DifyClient chatClient = getDifyClient(chatMessage.getAppId()); + if (chatClient == null) { + emitter.send(SseEmitter.event().data(R.fail("参数错误"))); + emitter.complete(); + return emitter; + } + + WfChatAppEntity chatApps = WfChatCache.getChatApp(chatMessage.getAppId()); + + try { + String type = chatApps.getType(); + if (Arrays.asList("chat", "agent", "chatflow").contains(type)) { // 对话型应用 + handleChatMessage(emitter, chatMessage, chatClient); + } else if ("workflow".equals(type)) { // 工作流应用 + handleWorkflowMessage(emitter, chatMessage, chatClient); + } else if ("completion".equals(type)) { // 文本生成应用 + handleCompletionMessage(emitter, chatMessage, chatClient); + } else { + emitter.complete(); + } + } catch (Exception e) { + emitter.completeWithError(e); + } + + emitter.onError(emitter::completeWithError); + emitter.onTimeout(emitter::complete); + + return emitter; + } + + @Override + @SneakyThrows + public void stopMessage(WfChatMessageVO chatMessage) { + DifyClient difyClient = getDifyClient(chatMessage.getAppId()); + if (difyClient == null) { + return; + } + difyClient.stopChatMessage(chatMessage.getTaskId(), WfTaskUtil.getTaskUser()); + } + + @Override + @SneakyThrows + public R messages(WfChatMessageVO chatMessage) { + DifyClient difyClient = getDifyClient(chatMessage.getAppId()); + if (difyClient == null) { + return R.fail("参数错误"); + } + return R.data(difyClient.getMessages(chatMessage.getConversationId(), WfTaskUtil.getTaskUser(), null, 100)); + } + + @Override + @SneakyThrows + public R messageSuggested(WfChatMessageVO chatMessage) { + DifyClient difyClient = getDifyClient(chatMessage.getAppId()); + if (difyClient == null) { + return R.fail("参数错误"); + } + try { + SuggestedQuestionsResponse suggestedQuestions = difyClient.getSuggestedQuestions(chatMessage.getMessageId(), WfTaskUtil.getTaskUser()); + return R.data(suggestedQuestions); + } catch (Exception e) { + return R.data(new SuggestedQuestionsResponse()); + } + } + + @SneakyThrows + @Override + public R conversations(Long appsId, String lastId) { + DifyClient difyClient = getDifyClient(appsId); + if (difyClient == null) { + return R.fail("参数错误"); + } + return R.data(difyClient.getConversations(WfTaskUtil.getTaskUser(), lastId, 20, "-updated_at")); + } + + @Override + @SneakyThrows + public R renameConversation(WfChatMessageVO chatMessage) { + DifyClient difyClient = getDifyClient(chatMessage.getAppId()); + if (difyClient == null) { + return R.fail("参数错误"); + } + return R.data(difyClient.renameConversation(chatMessage.getConversationId(), chatMessage.getConversationName(), chatMessage.getAutoGenerateName(), WfTaskUtil.getTaskUser())); + } + + @Override + @SneakyThrows + public void deleteConversation(WfChatMessageVO chatMessage) { + DifyClient difyClient = getDifyClient(chatMessage.getAppId()); + if (difyClient == null) { + return; + } + difyClient.deleteConversation(chatMessage.getConversationId(), WfTaskUtil.getTaskUser()); + } + + @Override + @SneakyThrows + public R upload(Long appId, MultipartFile multipartFile) { + DifyClient difyClient = getDifyClient(appId); + if (difyClient == null) { + return R.fail("参数错误"); + } + + File file = File.createTempFile("upload_", "_" + multipartFile.getOriginalFilename()); + multipartFile.transferTo(file); + FileUploadResponse fileUploadResponse = difyClient.uploadFile(file, WfTaskUtil.getTaskUser()); + boolean delete = file.delete(); + log.info("============Chat删除临时文件============" + delete); + return R.data(fileUploadResponse); + } + + @Override + @SneakyThrows + public R parameters(WfChatMessageVO chatMessage) { + DifyClient difyClient = getDifyClient(chatMessage.getAppId()); + if (difyClient == null) { + return R.fail("参数错误"); + } + return R.data(difyClient.getAppParameters()); + } + + @Override + @SneakyThrows + public R info(WfChatMessageVO chatMessage) { + DifyClient difyClient = getDifyClient(chatMessage.getAppId()); + if (difyClient == null) { + return R.fail("参数错误"); + } + return R.data(difyClient.getAppInfo()); + } + + @Override + public DifyClient getDifyClient(Long appId) { + if (ObjectUtil.isEmpty(appId)) { + return null; + } + WfChatAppEntity chatApps = WfChatCache.getChatApp(appId); + if (chatApps == null) { + return null; + } + Environment environment = SpringUtil.getContext().getEnvironment(); + boolean isDev = environment.matchesProfiles("dev"); + DifyConfig config = DifyConfig.builder() + .baseUrl(isDev ? chatApps.getApiUrl() : StringUtil.isBlank(chatApps.getApiUrlProd()) ? chatApps.getApiUrl() : chatApps.getApiUrlProd()) + .apiKey(isDev ? chatApps.getApiKey() : StringUtil.isBlank(chatApps.getApiKeyProd()) ? chatApps.getApiKey() : chatApps.getApiKeyProd()) + .connectTimeout(5000) + .readTimeout(60000) + .writeTimeout(30000) + .build(); + return DifyClientFactory.createClient(config); + } + + /** + * 处理对话消息 + */ + private void handleChatMessage(SseEmitter emitter, WfChatMessageVO chatMessage, DifyClient difyClient) throws Exception { + ChatMessage message = ChatMessage.builder() + .query(chatMessage.getQuery()) + .user(WfTaskUtil.getTaskUser()) + .inputs(chatMessage.getInputs()) + .conversationId(chatMessage.getConversationId()) + .files(chatMessage.getFiles()) + .responseMode(ResponseMode.STREAMING) + .build(); + + difyClient.sendChatMessageStream(message, new ChatflowStreamCallback() { + @Override + @SneakyThrows + public void onMessage(MessageEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onAgentMessage(AgentMessageEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onAgentThought(AgentThoughtEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onMessageEnd(MessageEndEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + emitter.complete(); + } + + @Override + @SneakyThrows + public void onWorkflowStarted(WorkflowStartedEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onNodeStarted(NodeStartedEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onNodeFinished(NodeFinishedEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onWorkflowFinished(WorkflowFinishedEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onError(ErrorEvent event) { + emitter.send(SseEmitter.event().data(R.fail(event.getMessage()))); + emitter.complete(); + } + + @Override + @SneakyThrows + public void onException(Throwable throwable) { + emitter.send(SseEmitter.event().data(R.fail(throwable.getMessage()))); + emitter.complete(); + } + }); + } + + private void handleCompletionMessage(SseEmitter emitter, WfChatMessageVO chatMessage, DifyClient difyClient) throws Exception { + CompletionRequest message = CompletionRequest.builder() + .user(WfTaskUtil.getTaskUser()) + .inputs(chatMessage.getInputs()) + .files(chatMessage.getFiles()) + .responseMode(ResponseMode.STREAMING) + .build(); + + difyClient.sendCompletionMessageStream(message, new CompletionStreamCallback() { + @Override + @SneakyThrows + public void onMessage(MessageEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onMessageEnd(MessageEndEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + emitter.complete(); + } + + @Override + @SneakyThrows + public void onError(ErrorEvent event) { + emitter.send(SseEmitter.event().data(R.fail(event.getMessage()))); + emitter.complete(); + } + + @Override + @SneakyThrows + public void onException(Throwable throwable) { + emitter.send(SseEmitter.event().data(R.fail(throwable.getMessage()))); + emitter.complete(); + } + }); + } + + /** + * 处理workflow消息 + */ + private void handleWorkflowMessage(SseEmitter emitter, WfChatMessageVO chatMessage, DifyClient difyClient) throws Exception { + WorkflowRunRequest request = WorkflowRunRequest.builder() + .inputs(chatMessage.getInputs()) + .user(WfTaskUtil.getTaskUser()) + .responseMode(ResponseMode.STREAMING) + .build(); + + difyClient.runWorkflowStream(request, new WorkflowStreamCallback() { + @Override + @SneakyThrows + public void onWorkflowTextChunk(WorkflowTextChunkEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onWorkflowStarted(WorkflowStartedEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onNodeStarted(NodeStartedEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onNodeFinished(NodeFinishedEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + } + + @Override + @SneakyThrows + public void onWorkflowFinished(WorkflowFinishedEvent event) { + emitter.send(SseEmitter.event().data(R.data(event))); + emitter.complete(); + } + + @Override + @SneakyThrows + public void onError(ErrorEvent event) { + emitter.send(SseEmitter.event().data(R.fail(event.getMessage()))); + emitter.complete(); + } + + @Override + @SneakyThrows + public void onException(Throwable throwable) { + emitter.send(SseEmitter.event().data(R.fail(throwable.getMessage()))); + emitter.complete(); + } + }); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/wrapper/WfChatAppWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/wrapper/WfChatAppWrapper.java new file mode 100644 index 0000000..4258d4b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/wrapper/WfChatAppWrapper.java @@ -0,0 +1,33 @@ +package org.springblade.plugin.workflow.chat.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAppEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAppVO; +import java.util.Objects; + +/** + * dify - 应用 包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfChatAppWrapper extends BaseEntityWrapper { + + public static WfChatAppWrapper build() { + return new WfChatAppWrapper(); + } + + @Override + public WfChatAppVO entityVO(WfChatAppEntity appEntity) { + WfChatAppVO chatModelVO = Objects.requireNonNull(BeanUtil.copyProperties(appEntity, WfChatAppVO.class)); + + //User createUser = UserCache.getUser(appEntity.getCreateUser()); + //User updateUser = UserCache.getUser(appEntity.getUpdateUser()); + //modelVO.setCreateUserName(createUser.getName()); + //modelVO.setUpdateUserName(updateUser.getName()); + + return chatModelVO; + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/wrapper/WfChatAssistantWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/wrapper/WfChatAssistantWrapper.java new file mode 100644 index 0000000..4c02bc2 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/chat/wrapper/WfChatAssistantWrapper.java @@ -0,0 +1,35 @@ +package org.springblade.plugin.workflow.chat.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.chat.core.cache.WfChatCache; +import org.springblade.plugin.workflow.chat.pojo.entity.WfChatAssistantEntity; +import org.springblade.plugin.workflow.chat.pojo.vo.WfChatAssistantVO; +import java.util.Objects; + +/** + * dify - 智能助理 包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfChatAssistantWrapper extends BaseEntityWrapper { + + public static WfChatAssistantWrapper build() { + return new WfChatAssistantWrapper(); + } + + @Override + public WfChatAssistantVO entityVO(WfChatAssistantEntity assistant) { + WfChatAssistantVO chatApplicationVO = Objects.requireNonNull(BeanUtil.copyProperties(assistant, WfChatAssistantVO.class)); + chatApplicationVO.setApp(WfChatCache.getChatApp(chatApplicationVO.getAppId())); + + //User createUser = UserCache.getUser(assistant.getCreateUser()); + //User updateUser = UserCache.getUser(assistant.getUpdateUser()); + //applicationVO.setCreateUserName(createUser.getName()); + //applicationVO.setUpdateUserName(updateUser.getName()); + + return chatApplicationVO; + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfCacheConstant.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfCacheConstant.java new file mode 100644 index 0000000..4d7754e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfCacheConstant.java @@ -0,0 +1,12 @@ +package org.springblade.plugin.workflow.core.cache; + +/** + * 缓存名 + * + * @author ssc + */ +public interface WfCacheConstant { + + String WORKFLOW_CACHE = "blade:workflow"; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfCategoryCache.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfCategoryCache.java new file mode 100644 index 0000000..6a145f6 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfCategoryCache.java @@ -0,0 +1,48 @@ +package org.springblade.plugin.workflow.core.cache; + +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.plugin.workflow.design.entity.WfCategory; +import org.springblade.plugin.workflow.design.service.IWfCategoryService; +import org.springblade.plugin.workflow.design.vo.WfCategoryVO; + +import java.util.List; + +import static org.springblade.plugin.workflow.core.cache.WfCacheConstant.WORKFLOW_CACHE; + +/** + * 流程分类缓存 + * + * @author ssc + */ +public class WfCategoryCache { + + private static final String WORKFLOW_CATEGORY_CACHE = "category:"; + private static IWfCategoryService wfCategoryService; + + private static IWfCategoryService getWfCategoryService() { + if (wfCategoryService == null) { + wfCategoryService = SpringUtil.getBean(IWfCategoryService.class); + } + return wfCategoryService; + } + + public static WfCategory getById(Long id) { + return CacheUtil.get(WORKFLOW_CACHE, WORKFLOW_CATEGORY_CACHE, id, () -> getWfCategoryService().getById(id)); + } + + public static void removeById(Long id) { + if (id != null) { + CacheUtil.evict(WORKFLOW_CACHE, WORKFLOW_CATEGORY_CACHE, id); + } + } + + public static List tree() { + return CacheUtil.get(WORKFLOW_CACHE, WORKFLOW_CATEGORY_CACHE, "tree", () -> getWfCategoryService().tree()); + } + + public static void removeTreeCache() { + CacheUtil.evict(WORKFLOW_CACHE, WORKFLOW_CATEGORY_CACHE, "tree"); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfProcessCache.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfProcessCache.java new file mode 100644 index 0000000..39e836a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/cache/WfProcessCache.java @@ -0,0 +1,37 @@ +package org.springblade.plugin.workflow.core.cache; + +import org.flowable.engine.RepositoryService; +import org.flowable.engine.repository.ProcessDefinition; +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.tool.utils.SpringUtil; + +import static org.springblade.plugin.workflow.core.cache.WfCacheConstant.WORKFLOW_CACHE; + +/** + * 流程缓存 + * + * @author ssc + */ +public class WfProcessCache { + + private static final String WORKFLOW_DEFINITION_ID = "processDef:id"; + private static RepositoryService repositoryService; + + private static RepositoryService getRepositoryService() { + if (repositoryService == null) { + repositoryService = SpringUtil.getBean(RepositoryService.class); + } + return repositoryService; + } + + /** + * 获得流程定义对象 + * + * @param processDefinitionId 流程对象id + */ + public static ProcessDefinition getProcessDefinition(String processDefinitionId) { + return getRepositoryService().createProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult(); +// return CacheUtil.get(WORKFLOW_CACHE, WORKFLOW_DEFINITION_ID, processDefinitionId, () -> getRepositoryService().createProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult()); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/config/WfGlobListenerConfig.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/config/WfGlobListenerConfig.java new file mode 100644 index 0000000..07c6f2d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/config/WfGlobListenerConfig.java @@ -0,0 +1,38 @@ +package org.springblade.plugin.workflow.core.config; + +import lombok.AllArgsConstructor; +import org.flowable.common.engine.api.delegate.event.FlowableEngineEventType; +import org.flowable.engine.RuntimeService; +import org.springblade.plugin.workflow.core.listener.WfGlobalListener; +import org.springframework.context.ApplicationListener; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.event.ContextRefreshedEvent; + +/** + * flowable全局监听配置 + * + * @author ssc + */ +@Configuration +@AllArgsConstructor +public class WfGlobListenerConfig implements ApplicationListener { + + private final WfGlobalListener wfGlobalListener; + private final RuntimeService runtimeService; + + @Override + public void onApplicationEvent(ContextRefreshedEvent event) { + // 任务创建时 + runtimeService.addEventListener(wfGlobalListener, FlowableEngineEventType.TASK_CREATED); + // 任务到审核人时 + runtimeService.addEventListener(wfGlobalListener, FlowableEngineEventType.TASK_ASSIGNED); + // 任务完成时 + runtimeService.addEventListener(wfGlobalListener, FlowableEngineEventType.TASK_COMPLETED); + // 流程启动 + runtimeService.addEventListener(wfGlobalListener, FlowableEngineEventType.PROCESS_STARTED); + // 流程结束 + runtimeService.addEventListener(wfGlobalListener, FlowableEngineEventType.PROCESS_COMPLETED); + // 流程删除 - 逻辑删除 + runtimeService.addEventListener(wfGlobalListener, FlowableEngineEventType.PROCESS_CANCELLED); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/config/WfProcessEngineConfig.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/config/WfProcessEngineConfig.java new file mode 100644 index 0000000..62a93e4 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/config/WfProcessEngineConfig.java @@ -0,0 +1,35 @@ +package org.springblade.plugin.workflow.core.config; + +import org.flowable.spring.SpringProcessEngineConfiguration; +import org.flowable.spring.boot.EngineConfigurationConfigurer; +import org.springblade.plugin.workflow.core.factory.WfActivityBehaviorFactory; +import org.springblade.plugin.workflow.core.function.WfVariableDateGreaterThanExpressionFunction; +import org.springblade.plugin.workflow.core.function.WfVariableDateGreaterThanOrEqualExpressionFunction; +import org.springblade.plugin.workflow.core.function.WfVariableDateLessThanExpressionFunction; +import org.springblade.plugin.workflow.core.function.WfVariableDateLessThanOrEqualExpressionFunction; +import org.springframework.context.annotation.Configuration; + +import java.util.List; + +/** + * flowable配置 + * + * @author ssc + */ +@Configuration +public class WfProcessEngineConfig implements EngineConfigurationConfigurer { + + @Override + public void configure(SpringProcessEngineConfiguration springProcessEngineConfiguration) { + // 设置节点人员托管 + springProcessEngineConfiguration.setActivityBehaviorFactory(new WfActivityBehaviorFactory()); + + // 设置自定义函数 + springProcessEngineConfiguration.setCustomFlowableFunctionDelegates(List.of( + new WfVariableDateGreaterThanExpressionFunction(), + new WfVariableDateGreaterThanOrEqualExpressionFunction(), + new WfVariableDateLessThanExpressionFunction(), + new WfVariableDateLessThanOrEqualExpressionFunction() + )); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfExtendConstant.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfExtendConstant.java new file mode 100644 index 0000000..0e109d7 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfExtendConstant.java @@ -0,0 +1,107 @@ +package org.springblade.plugin.workflow.core.constant; + +/** + * 流程扩展字段常量 + */ +public interface WfExtendConstant { + + /** + * 人员 + */ + String ASSIGNEE = "assignee"; + + /** + * 按钮 + */ + String BUTTON = "button"; + + /** + * 流水号 + */ + String SERIAL = "serial"; + + /** + * 默认驳回节点 + */ + String ROLLBACK_NODE = "rollbackNode"; + + /** + * 是否跳过第一节点 + */ + String SKIP_FIRST_NODE = "skipFirstNode"; + + /** + * 任务处理人为发起人时跳过 + */ + String SKIP_WHEN_START_USER = "skipWhenStartUser"; + + /** + * 之前任务已处理过时跳过 + */ + String SKIP_WHEN_ASSIGNEE = "skipWhenAssignee"; + + /** + * 外置表单key + */ + String EX_FORM_KEY = "exFormKey"; + + /** + * 外置表单url + */ + String EX_FORM_URL = "exFormUrl"; + + /** + * 外置app表单url + */ + String EX_APP_FORM_URL = "exAppFormUrl"; + + /** + * 隐藏评论附件选项 + */ + String HIDE_ATTACHMENT = "hideAttachment"; + + /** + * 隐藏抄送人选项 + */ + String HIDE_COPY = "hideCopy"; + + /** + * 隐藏选择下一步审核人选项 + */ + String HIDE_EXAMINE = "hideExamine"; + + /** + * 默认抄送人 + */ + String COPY_USER = "copyUser"; + + /** + * 重新提交回到驳回者 + */ + String BACK_TO_REJECTER = "backToRejecter"; + + /** + * 节点独立表单key + */ + String INDEP_FORM_KEY = "indepFormKey"; + + /** + * 节点独立表单汇总 + */ + String INDEP_FORM_SUMMARY = "indepFormSummary"; + + /** + * 节点独立表单汇总节点 + */ + String INDEP_FORM_SUMMARY_NODE = "indepSummaryNode"; + + /** + * 人员配置交集 + */ + String ASSIGNEE_RETAIN = "assigneeRetain"; + + /** + * 表单属性 + */ + String FORM_PROP = "formProp"; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfProcessConstant.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfProcessConstant.java new file mode 100644 index 0000000..a4fa73d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfProcessConstant.java @@ -0,0 +1,151 @@ +package org.springblade.plugin.workflow.core.constant; + +/** + * 流程常量. + */ +public interface WfProcessConstant { + + String SUFFIX = ".bpmn20.xml"; + + String STATUS_TODO = "todo"; + + String STATUS_CLAIM = "claim"; + + String STATUS_SEND = "send"; + + String STATUS_DONE = "done"; + + String STATUS_FINISHED = "finished"; + + String STATUS_UNFINISHED = "unfinished"; + + String STATUS_TERMINATE = "terminate"; + + String STATUS_WITHDRAW = "withdraw"; + + String STATUS_RECALL = "recall"; + + String STATUS_REJECT = "reject"; + + String STATUS_FINISH = "finish"; + + String STATUS_DELETED = "deleted"; + + String START_EVENT = "startEvent"; + + String END_EVENT = "endEvent"; + + String USER_TASK = "userTask"; + + String HTTP_SERVICE_TASK = "httpServiceTask"; + + String SHELL_SERVICE_TASK = "shellServiceTask"; + + String MAIL_SERVICE_TASK = "mailServiceTask"; + + String SEQUENCE_FLOW = "sequenceFlow"; + + String CANDIDATE = "candidate"; + + String CONNECTOR = "—>"; + + String SPECIAL_GATEWAY_BEGIN_SUFFIX = "_begin"; + + String SPECIAL_GATEWAY_END_SUFFIX = "_end"; + + String COMMENT_TYPE_ASSIGNEE = "assigneeComment"; + + String COMMENT_TYPE_DISPATCH = "dispatchComment"; + + String COMMENT_TYPE_TRANSFER = "transferComment"; + + String COMMENT_TYPE_DELEGATE = "delegateComment"; + + String COMMENT_TYPE_TERMINATE = "terminateComment"; + + String COMMENT_TYPE_WITHDRAW = "withdrawComment"; + + String COMMENT_TYPE_RECALL = "recallComment"; + + String COMMENT_TYPE_ROLLBACK = "rollbackComment"; + + String COMMENT_TYPE_ADD_MULTI_INSTANCE = "addMultiInstanceComment"; + + String COMMENT_TYPE_DELETE_MULTI_INSTANCE = "deleteMultiInstanceComment"; + + String COMMENT_TYPE_DELETE_PROCESS = "deleteProcessComment"; + + String COMMENT_TYPE_SKIP_COMMENT = "skipComment"; + + String COMMENT_TYPE_COMMENT = "comment"; + + /** + * 同意标识 + */ + String PASS_KEY = "pass"; + + /** + * 同意代号 + */ + String PASS_ALIAS = "ok"; + + /** + * 同意默认批复 + */ + String PASS_COMMENT = "同意"; + + /** + * 驳回默认批复 + */ + String NOT_PASS_COMMENT = "驳回"; + + /** + * 创建人变量名 + */ + String TASK_VARIABLE_APPLY_USER = "applyUser"; + + /** + * 创建人名称 + */ + String TASK_VARIABLE_APPLY_USER_NAME = "applyUserName"; + + /** + * 流水号 + */ + String TASK_VARIABLE_SN = "serialNumber"; + + /** + * 外置表单前缀 + */ + String EX_FORM_PREFIX = "wf_ex_"; + + /** + * 节点独立表单 + */ + String INDEP_FORM_PREFIX = "wf_indep_"; + + String TASK_VARIABLE_ASSIGNEE = "wf_assignee"; + + String TASK_VARIABLE_COPY_USER = "copyUser"; + + String TASK_VARIABLE_APPOINT = "wf_appoint"; + + String TASK_VARIABLE_NOTICE = "wf_notice"; + + String TASK_VARIABLE_PROCESS_TERMINATE = "wf_process_terminate"; + + String WITHDRAW_TYPE_START = "wf_withdraw_start"; + + String WITHDRAW_TYPE_END = "wf_withdraw_end"; + + String TASK_VARIABLE_PLATFORM = "wf_platform"; + + String TASK_VARIABLE_FORM_OPTION = "wf_form_option"; + + String TASK_VARIABLE_FORM_VARIABLE = "wf_form_variable"; + + String TASK_VARIABLE_SKIP = "wf_skip"; + + String TASK_VARIABLE_LATEST_TASK_ASSIGNEE = "wf_latest_task_assignee"; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfSerialConstant.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfSerialConstant.java new file mode 100644 index 0000000..7d44e74 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/constant/WfSerialConstant.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.core.constant; + +/** + * 流程流水号常量. + * + * @author ssc + */ +public interface WfSerialConstant { + + String NONE = "none"; + + String DAY = "day"; + + String WEEK = "week"; + + String MONTH = "month"; + + String YEAR = "year"; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/enums/WfProcessStatusEnum.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/enums/WfProcessStatusEnum.java new file mode 100644 index 0000000..60404b0 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/enums/WfProcessStatusEnum.java @@ -0,0 +1,58 @@ +package org.springblade.plugin.workflow.core.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum WfProcessStatusEnum { + + /** + * flowable流程只分为进行中、已结束。其他均为业务状态 + *

+ * 小于50,进行中 + * 大于50,已结束 + */ + RUNNING(1, "running", "进行中"), + REJECT(2, "reject", "驳回"), + RECALL(3, "recall", "撤回"), + DELETE(96, "delete", "删除"), + WITHDRAW(97, "withdraw", "撤销"), + TERMINATE(98, "true", "终止"), + FINISH(99, "finish", "结束"), + ; + + private final Integer code; + private final String status; + private final String name; + + /** + * 根据 status 获取对应的 code + * + * @param status 输入的状态字符串 + * @return 对应的 code,如果未找到返回 -1 + */ + public static Integer getCodeByStatus(String status) { + for (WfProcessStatusEnum value : WfProcessStatusEnum.values()) { + if (value.getStatus().equalsIgnoreCase(status)) { + return value.getCode(); + } + } + return null; + } + + /** + * 根据 code 获取对应的 status + * + * @param code 输入的状态代码 + * @return 对应的 status,如果未找到返回 null + */ + public static String getStatusByCode(int code) { + for (WfProcessStatusEnum value : WfProcessStatusEnum.values()) { + if (value.getCode() == code) { + return value.getStatus(); + } + } + return null; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/factory/WfActivityBehaviorFactory.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/factory/WfActivityBehaviorFactory.java new file mode 100644 index 0000000..09d2d5f --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/factory/WfActivityBehaviorFactory.java @@ -0,0 +1,19 @@ +package org.springblade.plugin.workflow.core.factory; + +import org.flowable.bpmn.model.UserTask; +import org.flowable.engine.impl.bpmn.behavior.UserTaskActivityBehavior; +import org.flowable.engine.impl.bpmn.parser.factory.DefaultActivityBehaviorFactory; +import org.springblade.plugin.workflow.core.handler.WfUserTaskActivityBehavior; + +/** + * 自定义的BehaviorFactory + * + * @author ssc + */ +public class WfActivityBehaviorFactory extends DefaultActivityBehaviorFactory { + + @Override + public UserTaskActivityBehavior createUserTaskActivityBehavior(UserTask userTask) { + return new WfUserTaskActivityBehavior(userTask); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfDayjsToJavaFormatConverter.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfDayjsToJavaFormatConverter.java new file mode 100644 index 0000000..a035606 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfDayjsToJavaFormatConverter.java @@ -0,0 +1,41 @@ +package org.springblade.plugin.workflow.core.function; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * 前端dayjs格式化转java日期格式化 + * + * @author ssc + */ +public class WfDayjsToJavaFormatConverter { + private static final Map FORMAT_MAPPING = new LinkedHashMap<>(); + + static { + // 必须从长匹配到短,否则会误替换 + FORMAT_MAPPING.put("YYYY", "yyyy"); + FORMAT_MAPPING.put("YY", "yy"); + FORMAT_MAPPING.put("DD", "dd"); + FORMAT_MAPPING.put("D", "d"); + FORMAT_MAPPING.put("MM", "MM"); + FORMAT_MAPPING.put("M", "M"); + FORMAT_MAPPING.put("HH", "HH"); + FORMAT_MAPPING.put("H", "H"); + FORMAT_MAPPING.put("hh", "hh"); + FORMAT_MAPPING.put("h", "h"); + FORMAT_MAPPING.put("mm", "mm"); + FORMAT_MAPPING.put("m", "m"); + FORMAT_MAPPING.put("ss", "ss"); + FORMAT_MAPPING.put("s", "s"); + FORMAT_MAPPING.put("A", "a"); + FORMAT_MAPPING.put("a", "a"); + } + + public static String convert(String dayjsFormat) { + String javaFormat = dayjsFormat; + for (Map.Entry entry : FORMAT_MAPPING.entrySet()) { + javaFormat = javaFormat.replace(entry.getKey(), entry.getValue()); + } + return javaFormat; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateGreaterThanExpressionFunction.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateGreaterThanExpressionFunction.java new file mode 100644 index 0000000..ad82876 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateGreaterThanExpressionFunction.java @@ -0,0 +1,52 @@ +package org.springblade.plugin.workflow.core.function; + +import org.flowable.common.engine.api.variable.VariableContainer; +import org.flowable.common.engine.impl.el.function.AbstractFlowableVariableExpressionFunction; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; + +/** + * 日期变量比较 - 大于 + * + * @author ssc + */ +public class WfVariableDateGreaterThanExpressionFunction extends AbstractFlowableVariableExpressionFunction { + + public WfVariableDateGreaterThanExpressionFunction() { + super(Arrays.asList("dateGreaterThan", "dgt"), "dateGreaterThan"); + } + + public static boolean dateGreaterThan(VariableContainer variableContainer, String variableName, Object... values) { + if (values.length != 2) { + return false; + } + Object variableValue; + // ${var:dgt(date, '2008-08-08', 'YYYY-MM-DD')} -> variableName = "date" + // ${var:dgt(table.date, '2008-08-08', 'YYYY-MM-DD')} -> variableName = "2008-08-08" + if (variableContainer.hasVariable(variableName)) { + variableValue = getVariableValue(variableContainer, variableName); + } else { + variableValue = variableName; + } + if (variableValue != null) { + String date = values[0].toString(); + String pattern = WfDayjsToJavaFormatConverter.convert(values[1].toString()); + SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); + try { + Date parse = dateFormat.parse(date); + if (variableValue instanceof Date) { + return ((Date) variableValue).after(parse); + } else if (variableValue instanceof String) { + return dateFormat.parse((String) variableValue).after(parse); + } + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + return false; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateGreaterThanOrEqualExpressionFunction.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateGreaterThanOrEqualExpressionFunction.java new file mode 100644 index 0000000..6adc6d8 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateGreaterThanOrEqualExpressionFunction.java @@ -0,0 +1,53 @@ +package org.springblade.plugin.workflow.core.function; + +import org.flowable.common.engine.api.variable.VariableContainer; +import org.flowable.common.engine.impl.el.function.AbstractFlowableVariableExpressionFunction; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; + +/** + * 日期变量比较 - 大于等于 + * + * @author ssc + */ +public class WfVariableDateGreaterThanOrEqualExpressionFunction extends AbstractFlowableVariableExpressionFunction { + + public WfVariableDateGreaterThanOrEqualExpressionFunction() { + super(Arrays.asList("dateGreaterThanOrEqual", "dgte"), "dateGreaterThanOrEqual"); + } + + public static boolean dateGreaterThanOrEqual(VariableContainer variableContainer, String variableName, Object... values) { + if (values.length != 2) { + return false; + } + Object variableValue; + // ${var:dgte(date, '2008-08-08', 'YYYY-MM-DD')} -> variableName = "date" + // ${var:dgte(table.date, '2008-08-08', 'YYYY-MM-DD')} -> variableName = "2008-08-08" + if (variableContainer.hasVariable(variableName)) { + variableValue = getVariableValue(variableContainer, variableName); + } else { + variableValue = variableName; + } + if (variableValue != null) { + String date = values[0].toString(); + String pattern = WfDayjsToJavaFormatConverter.convert(values[1].toString()); + SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); + try { + Date parse = dateFormat.parse(date); + if (variableValue instanceof Date) { + return ((Date) variableValue).after(parse) || variableValue.equals(parse); + } else if (variableValue instanceof String) { + Date parseVar = dateFormat.parse(variableValue.toString()); + return parseVar.after(parse) || parseVar.equals(parse); + } + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + return false; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateLessThanExpressionFunction.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateLessThanExpressionFunction.java new file mode 100644 index 0000000..f9d43d5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateLessThanExpressionFunction.java @@ -0,0 +1,52 @@ +package org.springblade.plugin.workflow.core.function; + +import org.flowable.common.engine.api.variable.VariableContainer; +import org.flowable.common.engine.impl.el.function.AbstractFlowableVariableExpressionFunction; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; + +/** + * 日期变量比较 - 小于 + * + * @author ssc + */ +public class WfVariableDateLessThanExpressionFunction extends AbstractFlowableVariableExpressionFunction { + + public WfVariableDateLessThanExpressionFunction() { + super(Arrays.asList("dateLessThan", "dateLowerThan", "dlt"), "dateLessThan"); + } + + public static boolean dateLessThan(VariableContainer variableContainer, String variableName, Object... values) { + if (values.length != 2) { + return false; + } + Object variableValue; + // ${var:dlt(date, '2008-08-08', 'YYYY-MM-DD')} -> variableName = "date" + // ${var:dlt(table.date, '2008-08-08', 'YYYY-MM-DD')} -> variableName = "2008-08-08" + if (variableContainer.hasVariable(variableName)) { + variableValue = getVariableValue(variableContainer, variableName); + } else { + variableValue = variableName; + } + if (variableValue != null) { + String date = values[0].toString(); + String pattern = WfDayjsToJavaFormatConverter.convert(values[1].toString()); + SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); + try { + Date parse = dateFormat.parse(date); + if (variableValue instanceof Date) { + return ((Date) variableValue).before(parse); + } else if (variableValue instanceof String) { + return dateFormat.parse((String) variableValue).before(parse); + } + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + return false; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateLessThanOrEqualExpressionFunction.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateLessThanOrEqualExpressionFunction.java new file mode 100644 index 0000000..82aee2d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/function/WfVariableDateLessThanOrEqualExpressionFunction.java @@ -0,0 +1,53 @@ +package org.springblade.plugin.workflow.core.function; + +import org.flowable.common.engine.api.variable.VariableContainer; +import org.flowable.common.engine.impl.el.function.AbstractFlowableVariableExpressionFunction; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; + +/** + * 日期变量比较 - 小于等于 + * + * @author ssc + */ +public class WfVariableDateLessThanOrEqualExpressionFunction extends AbstractFlowableVariableExpressionFunction { + + public WfVariableDateLessThanOrEqualExpressionFunction() { + super(Arrays.asList("dateLessThanOrEqual", "dateLowerThanOrEqual", "dlte"), "dateLessThanOrEqual"); + } + + public static boolean dateLessThanOrEqual(VariableContainer variableContainer, String variableName, Object... values) { + if (values.length != 2) { + return false; + } + Object variableValue; + // ${var:dlte(date, '2008-08-08', 'YYYY-MM-DD')} -> variableName = "date" + // ${var:dlte(table.date, '2008-08-08', 'YYYY-MM-DD')} -> variableName = "2008-08-08" + if (variableContainer.hasVariable(variableName)) { + variableValue = getVariableValue(variableContainer, variableName); + } else { + variableValue = variableName; + } + if (variableValue != null) { + String date = values[0].toString(); + String pattern = WfDayjsToJavaFormatConverter.convert(values[1].toString()); + SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); + try { + Date parse = dateFormat.parse(date); + if (variableValue instanceof Date) { + return ((Date) variableValue).before(parse) || variableValue.equals(parse); + } else if (variableValue instanceof String) { + Date parseVar = dateFormat.parse(variableValue.toString()); + return parseVar.before(parse) || parseVar.equals(parse); + } + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + return false; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfCustomUserHandler.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfCustomUserHandler.java new file mode 100644 index 0000000..d0eff76 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfCustomUserHandler.java @@ -0,0 +1,41 @@ +package org.springblade.plugin.workflow.core.handler; + +import lombok.RequiredArgsConstructor; +import org.flowable.engine.delegate.DelegateExecution; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.user.WfUserCache; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.List; + +/** + * 流转条件/人员配置调用函数示例 + * + * @author ssc + */ +@Component("wfCustomUserHandler") +@RequiredArgsConstructor +public class WfCustomUserHandler { + + public List userList(DelegateExecution execution, String... customParam) { + return Arrays.asList(WfUserCache.getUser(1123598821738675201L), WfUserCache.getUser(1123598821738675202L)); + } + + public List strList(DelegateExecution execution, String... customParam) { + return Arrays.asList("1123598821738675201", "1123598821738675202"); + } + + public List longList(DelegateExecution execution, String... customParam) { + return Arrays.asList(1123598821738675201L, 1123598821738675202L); + } + + public String str(DelegateExecution execution, String... customParam) { + return "1123598821738675201,1123598821738675202"; + } + + public Boolean condition(DelegateExecution execution, String... customParam) { + String param = customParam[0]; + return "对".equals(param); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfMultiInstanceHandler.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfMultiInstanceHandler.java new file mode 100644 index 0000000..762cb07 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfMultiInstanceHandler.java @@ -0,0 +1,42 @@ +package org.springblade.plugin.workflow.core.handler; + +import lombok.AllArgsConstructor; +import org.flowable.engine.delegate.DelegateExecution; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.process.model.WfTaskUser; +import org.springblade.plugin.workflow.process.service.IWfTaskService; +import org.springframework.stereotype.Component; + +import java.util.*; + +/** + * 多实例人员配置处理 + * + * @author ssc + */ +@Component +@AllArgsConstructor +public class WfMultiInstanceHandler { + + private final IWfTaskService wfTaskService; + + public LinkedHashSet getList(DelegateExecution execution) { + LinkedHashSet candidateUserIds = new LinkedHashSet<>(); + + WfTaskUser taskUser = wfTaskService.getTaskUser(execution.getProcessDefinitionId(), execution.getProcessInstanceId(), execution.getCurrentActivityId(), WfTaskUtil.getTaskUser()); + List userList = taskUser.getUserList(); + String assignee = taskUser.getAssignee(); + LinkedHashSet userIds = taskUser.getCandidateUserIds(); + if (ObjectUtil.isNotEmpty(userList)) { + userList.forEach(user -> candidateUserIds.add(String.valueOf(user.getId()))); + } else if (ObjectUtil.isNotEmpty(userIds)) { + candidateUserIds.addAll(userIds); + } else if (StringUtil.isNotBlank(assignee)) { + candidateUserIds.add(assignee); + } + return candidateUserIds; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfUserTaskActivityBehavior.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfUserTaskActivityBehavior.java new file mode 100644 index 0000000..514345f --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/handler/WfUserTaskActivityBehavior.java @@ -0,0 +1,53 @@ +package org.springblade.plugin.workflow.core.handler; + +import org.flowable.bpmn.model.UserTask; +import org.flowable.common.engine.impl.el.ExpressionManager; +import org.flowable.engine.delegate.DelegateExecution; +import org.flowable.engine.impl.bpmn.behavior.UserTaskActivityBehavior; +import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl; +import org.flowable.task.service.TaskService; +import org.flowable.task.service.impl.persistence.entity.TaskEntity; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.process.model.WfTaskUser; +import org.springblade.plugin.workflow.process.service.IWfTaskService; + +import java.util.*; + +/** + * 自定义UserTask节点的Behavior + * + * @author ssc + */ +public class WfUserTaskActivityBehavior extends UserTaskActivityBehavior { + + public WfUserTaskActivityBehavior(UserTask userTask) { + super(userTask); + } + + @Override + protected void handleAssignments(TaskService taskService, String assignee, String owner, List candidateUsers, List candidateGroups, TaskEntity task, ExpressionManager expressionManager, DelegateExecution execution, ProcessEngineConfigurationImpl processEngineConfiguration) { + // 兼容之前的配置 + if (StringUtil.isNotBlank(assignee) || candidateUsers.size() > 0 || candidateGroups.size() > 0) { + super.handleAssignments(taskService, assignee, owner, candidateUsers, candidateGroups, task, expressionManager, execution, processEngineConfiguration); + return; + } + IWfTaskService wfTaskService = SpringUtil.getBean(IWfTaskService.class); + WfTaskUser taskUser = wfTaskService.getTaskUser(task.getProcessDefinitionId(), task.getProcessInstanceId(), task.getTaskDefinitionKey(), WfTaskUtil.getTaskUser()); + + List userList = taskUser.getUserList(); + candidateUsers = new ArrayList<>(taskUser.getCandidateUserIds()); + candidateGroups = new ArrayList<>(taskUser.getCandidateGroupIds()); + assignee = taskUser.getAssignee(); + + if (ObjectUtil.isNotEmpty(userList) && StringUtil.isBlank(assignee)) { + if (userList.size() == 1) { // 唯一审核人 + assignee = String.valueOf(userList.get(0).getId()); + } + } + super.handleAssignments(taskService, assignee, owner, candidateUsers, candidateGroups, task, expressionManager, execution, processEngineConfiguration); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfExecutionListener.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfExecutionListener.java new file mode 100644 index 0000000..1d7f381 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfExecutionListener.java @@ -0,0 +1,24 @@ +package org.springblade.plugin.workflow.core.listener; + +import org.flowable.engine.delegate.DelegateExecution; +import org.springframework.stereotype.Component; + +@Component("WfExecutionListener") +public class WfExecutionListener implements org.flowable.engine.delegate.ExecutionListener { + + @Override + public void notify(DelegateExecution execution) { + String eventName = execution.getEventName(); + switch (eventName) { + case EVENTNAME_START: + System.err.println("执行创建"); + break; + case EVENTNAME_TAKE: + System.err.println("执行到达"); + break; + case EVENTNAME_END: + System.err.println("执行结束"); + break; + } + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfGlobalListener.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfGlobalListener.java new file mode 100644 index 0000000..180b2ac --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfGlobalListener.java @@ -0,0 +1,135 @@ +package org.springblade.plugin.workflow.core.listener; + +import lombok.RequiredArgsConstructor; +import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent; +import org.flowable.engine.delegate.event.AbstractFlowableEngineEventListener; +import org.flowable.engine.delegate.event.FlowableCancelledEvent; +import org.flowable.engine.delegate.event.FlowableProcessStartedEvent; +import org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.task.service.impl.persistence.entity.TaskEntity; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.enums.WfProcessStatusEnum; +import org.springblade.plugin.workflow.process.entity.WfNotice; +import org.springblade.plugin.workflow.process.service.IWfNoticeService; +import org.springblade.plugin.workflow.process.service.IWfTaskService; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * flowable全局监听 + * + * @author ssc + */ +@Component +@RequiredArgsConstructor +public class WfGlobalListener extends AbstractFlowableEngineEventListener { + + private final IWfNoticeService wfNoticeService; + private final IWfTaskService wfTaskService; + + /** + * 任务创建时的监听 + */ + @Override + protected void taskCreated(FlowableEngineEntityEvent event) { + if (event.getEntity() instanceof TaskEntity task) { + Map variables = task.getVariables(); + + WfNotice notice = new WfNotice(); + Object status = variables.get(WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE); + if (status != null) { // 上个节点非审核通过,驳回/撤回等 + notice.setType(WfNotice.getTypeByCode(WfProcessStatusEnum.getCodeByStatus(status.toString()))); + } else { // 上个节点审核通过 + notice.setType(WfNotice.Type.TASK_CREATE); + + Object assigner = variables.get(WfProcessConstant.TASK_VARIABLE_ASSIGNEE); + String appointUser = null; + if (task.getAssignee() == null && assigner != null && !assigner.toString().contains(",")) { // 指定唯一审批人 + appointUser = assigner.toString(); + } + Boolean skip = wfTaskService.checkIsSkip(task, appointUser); + if (skip) { // 跳过的节点不触发后续消息/业务 + return; + } + } + wfNoticeService.sendNotice(notice + .setTask(task) + .setProcessInsId(task.getProcessInstanceId()) + .setVariables(variables)); + } + } + + /** + * 任务正常结束 + * + * @param event {@link FlowableEngineEntityEvent} + */ + @Override + protected void taskCompleted(FlowableEngineEntityEvent event) { + if (event.getEntity() instanceof TaskEntity task) { + // 有跳过标记的任务不触发消息/业务 + Map variables = task.getVariablesLocal(); + if (variables.containsKey(WfProcessConstant.TASK_VARIABLE_SKIP)) { + return; + } + wfNoticeService.sendNotice(new WfNotice() + .setType(WfNotice.Type.TASK_COMPLETE) + .setTask(task) + .setProcessInsId(task.getProcessInstanceId()) + .setVariables(task.getVariables())); + } + } + + /** + * 流程创建 + * + * @param event {@link FlowableProcessStartedEvent} + */ + @Override + protected void processStarted(FlowableProcessStartedEvent event) { + if (event.getEntity() instanceof ExecutionEntityImpl executionEntity) { + wfNoticeService.sendNotice(new WfNotice() + .setType(WfNotice.Type.START) + .setProcessInstance(executionEntity.getProcessInstance()) + .setVariables(executionEntity.getVariables())); + } + } + + /** + * 流程结束 + * + * @param event {@link FlowableEngineEntityEvent} + */ + @Override + protected void processCompleted(FlowableEngineEntityEvent event) { + if (event.getEntity() instanceof ProcessInstance processInstance) { + Map variables = processInstance.getProcessVariables(); + + WfNotice notice = new WfNotice(); + Object status = variables.get(WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE); + if (status != null) { // 非正常结束,撤销/终结等 + notice.setType(WfNotice.getTypeByCode(WfProcessStatusEnum.getCodeByStatus(status.toString()))); + } else { // 正常结束 + notice.setType(WfNotice.Type.FINISH); + } + wfNoticeService.sendNotice(notice + .setProcessInstance(processInstance) + .setVariables(variables)); + } + } + + /** + * 流程删除,逻辑删除时触发 + * + * @param event {@link FlowableCancelledEvent} + */ + @Override + protected void processCancelled(FlowableCancelledEvent event) { + wfNoticeService.sendNotice(new WfNotice() + .setType(WfNotice.Type.DELETE_PROCESS) + .setProcessInsId(event.getProcessInstanceId())); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfTaskListener.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfTaskListener.java new file mode 100644 index 0000000..7d452a9 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/listener/WfTaskListener.java @@ -0,0 +1,28 @@ +package org.springblade.plugin.workflow.core.listener; + +import org.flowable.task.service.delegate.DelegateTask; +import org.springframework.stereotype.Component; + +@Component("wfTaskListener") +public class WfTaskListener implements org.flowable.engine.delegate.TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + System.err.println(delegateTask.getEventName()); + String eventName = delegateTask.getEventName(); + switch (eventName) { + case EVENTNAME_CREATE: + System.err.println("任务创建"); + break; + case EVENTNAME_ASSIGNMENT: + System.err.println("任务分配审核人"); + break; + case EVENTNAME_COMPLETE: + System.err.println("任务完成"); + break; + case EVENTNAME_DELETE: + System.err.println("任务删除"); + break; + } + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/query/WfProcessDefinitionQuery.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/query/WfProcessDefinitionQuery.java new file mode 100644 index 0000000..190a68f --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/query/WfProcessDefinitionQuery.java @@ -0,0 +1,476 @@ +package org.springblade.plugin.workflow.core.query; + +import org.flowable.common.engine.api.FlowableException; +import org.flowable.common.engine.api.FlowableIllegalArgumentException; +import org.flowable.common.engine.impl.db.SuspensionState; +import org.flowable.common.engine.impl.interceptor.CommandContext; +import org.flowable.common.engine.impl.interceptor.CommandExecutor; +import org.flowable.common.engine.impl.query.AbstractQuery; +import org.flowable.engine.impl.ProcessDefinitionQueryProperty; +import org.flowable.engine.impl.util.CommandContextUtil; +import org.flowable.engine.repository.ProcessDefinition; + +import java.io.Serial; +import java.util.Collection; +import java.util.List; +import java.util.Set; + +public class WfProcessDefinitionQuery extends AbstractQuery { + + @Serial + private static final long serialVersionUID = 1L; + protected String id; + protected Set ids; + protected String category; + protected String categoryLike; + protected String categoryNotEquals; + protected String name; + protected String nameLike; + protected String deploymentId; + protected Set deploymentIds; + protected String key; + protected String keyLike; + protected String resourceName; + protected String resourceNameLike; + protected Integer version; + protected Integer versionGt; + protected Integer versionGte; + protected Integer versionLt; + protected Integer versionLte; + protected boolean latest; + protected SuspensionState suspensionState; + protected String authorizationUserId; + protected Collection authorizationGroups; + protected boolean authorizationGroupsSet; + protected String procDefId; + protected String tenantId; + protected String tenantIdLike; + protected boolean withoutTenantId; + protected String engineVersion; + protected String locale; + protected boolean withLocalizationFallback; + protected String platform; + + protected String eventSubscriptionName; + protected String eventSubscriptionType; + + public WfProcessDefinitionQuery() { + } + + public WfProcessDefinitionQuery(CommandContext commandContext) { + super(commandContext); + } + + public WfProcessDefinitionQuery(CommandExecutor commandExecutor) { + super(commandExecutor); + } + + public WfProcessDefinitionQuery platform(String platform) { + this.platform = platform; + return this; + } + + public WfProcessDefinitionQuery processDefinitionId(String processDefinitionId) { + this.id = processDefinitionId; + return this; + } + + public WfProcessDefinitionQuery processDefinitionIds(Set processDefinitionIds) { + this.ids = processDefinitionIds; + return this; + } + + public WfProcessDefinitionQuery processDefinitionCategory(String category) { + if (category == null) { + throw new FlowableIllegalArgumentException("category is null"); + } + this.category = category; + return this; + } + + public WfProcessDefinitionQuery processDefinitionCategoryLike(String categoryLike) { + if (categoryLike == null) { + throw new FlowableIllegalArgumentException("categoryLike is null"); + } + this.categoryLike = categoryLike; + return this; + } + + public WfProcessDefinitionQuery processDefinitionCategoryNotEquals(String categoryNotEquals) { + if (categoryNotEquals == null) { + throw new FlowableIllegalArgumentException("categoryNotEquals is null"); + } + this.categoryNotEquals = categoryNotEquals; + return this; + } + + public WfProcessDefinitionQuery processDefinitionName(String name) { + if (name == null) { + throw new FlowableIllegalArgumentException("name is null"); + } + this.name = name; + return this; + } + + public WfProcessDefinitionQuery processDefinitionNameLike(String nameLike) { + if (nameLike == null) { + throw new FlowableIllegalArgumentException("nameLike is null"); + } + this.nameLike = nameLike; + return this; + } + + public WfProcessDefinitionQuery deploymentId(String deploymentId) { + if (deploymentId == null) { + throw new FlowableIllegalArgumentException("id is null"); + } + this.deploymentId = deploymentId; + return this; + } + + public WfProcessDefinitionQuery deploymentIds(Set deploymentIds) { + if (deploymentIds == null) { + throw new FlowableIllegalArgumentException("ids are null"); + } + this.deploymentIds = deploymentIds; + return this; + } + + public WfProcessDefinitionQuery processDefinitionKey(String key) { + if (key == null) { + throw new FlowableIllegalArgumentException("key is null"); + } + this.key = key; + return this; + } + + public WfProcessDefinitionQuery processDefinitionKeyLike(String keyLike) { + if (keyLike == null) { + throw new FlowableIllegalArgumentException("keyLike is null"); + } + this.keyLike = keyLike; + return this; + } + + public WfProcessDefinitionQuery processDefinitionResourceName(String resourceName) { + if (resourceName == null) { + throw new FlowableIllegalArgumentException("resourceName is null"); + } + this.resourceName = resourceName; + return this; + } + + public WfProcessDefinitionQuery processDefinitionResourceNameLike(String resourceNameLike) { + if (resourceNameLike == null) { + throw new FlowableIllegalArgumentException("resourceNameLike is null"); + } + this.resourceNameLike = resourceNameLike; + return this; + } + + public WfProcessDefinitionQuery processDefinitionVersion(Integer version) { + checkVersion(version); + this.version = version; + return this; + } + + public WfProcessDefinitionQuery processDefinitionVersionGreaterThan(Integer processDefinitionVersion) { + checkVersion(processDefinitionVersion); + this.versionGt = processDefinitionVersion; + return this; + } + + public WfProcessDefinitionQuery processDefinitionVersionGreaterThanOrEquals(Integer processDefinitionVersion) { + checkVersion(processDefinitionVersion); + this.versionGte = processDefinitionVersion; + return this; + } + + public WfProcessDefinitionQuery processDefinitionVersionLowerThan(Integer processDefinitionVersion) { + checkVersion(processDefinitionVersion); + this.versionLt = processDefinitionVersion; + return this; + } + + public WfProcessDefinitionQuery processDefinitionVersionLowerThanOrEquals(Integer processDefinitionVersion) { + checkVersion(processDefinitionVersion); + this.versionLte = processDefinitionVersion; + return this; + } + + protected void checkVersion(Integer version) { + if (version == null) { + throw new FlowableIllegalArgumentException("version is null"); + } else if (version <= 0) { + throw new FlowableIllegalArgumentException("version must be positive"); + } + } + + public WfProcessDefinitionQuery latestVersion() { + this.latest = true; + return this; + } + + public WfProcessDefinitionQuery active() { + this.suspensionState = SuspensionState.ACTIVE; + return this; + } + + public WfProcessDefinitionQuery suspended() { + this.suspensionState = SuspensionState.SUSPENDED; + return this; + } + + public WfProcessDefinitionQuery processDefinitionTenantId(String tenantId) { + if (tenantId == null) { + throw new FlowableIllegalArgumentException("processDefinition tenantId is null"); + } + this.tenantId = tenantId; + return this; + } + + public WfProcessDefinitionQuery processDefinitionTenantIdLike(String tenantIdLike) { + if (tenantIdLike == null) { + throw new FlowableIllegalArgumentException("process definition tenantId is null"); + } + this.tenantIdLike = tenantIdLike; + return this; + } + + public WfProcessDefinitionQuery processDefinitionWithoutTenantId() { + this.withoutTenantId = true; + return this; + } + + public WfProcessDefinitionQuery processDefinitionEngineVersion(String engineVersion) { + this.engineVersion = engineVersion; + return this; + } + + public WfProcessDefinitionQuery messageEventSubscription(String messageName) { + return eventSubscription("message", messageName); + } + + public WfProcessDefinitionQuery messageEventSubscriptionName(String messageName) { + return eventSubscription("message", messageName); + } + + public WfProcessDefinitionQuery locale(String locale) { + this.locale = locale; + return this; + } + + public WfProcessDefinitionQuery withLocalizationFallback() { + this.withLocalizationFallback = true; + return this; + } + + public WfProcessDefinitionQuery processDefinitionStarter(String procDefId) { + this.procDefId = procDefId; + return this; + } + + public WfProcessDefinitionQuery eventSubscription(String eventType, String eventName) { + if (eventName == null) { + throw new FlowableIllegalArgumentException("event name is null"); + } + if (eventType == null) { + throw new FlowableException("event type is null"); + } + this.eventSubscriptionType = eventType; + this.eventSubscriptionName = eventName; + return this; + } + + public Collection getAuthorizationGroups() { + if (authorizationGroupsSet) { + // if authorizationGroupsSet is true then startableByUserOrGroups was called + // and the groups passed in that methods have precedence + return authorizationGroups; + } else if (authorizationUserId == null) { + return null; + } + return CommandContextUtil.getProcessEngineConfiguration().getCandidateManager().getGroupsForCandidateUser(authorizationUserId); + } + + public WfProcessDefinitionQuery startableByUser(String userId) { + if (userId == null) { + throw new FlowableIllegalArgumentException("userId is null"); + } + this.authorizationUserId = userId; + return this; + } + + public WfProcessDefinitionQuery startableByUserOrGroups(String userId, Collection groups) { + if (userId == null && (groups == null || groups.isEmpty())) { + throw new FlowableIllegalArgumentException("userId is null and groups are null or empty"); + } + this.authorizationUserId = userId; + this.authorizationGroups = groups; + this.authorizationGroupsSet = true; + return this; + } + + // sorting //////////////////////////////////////////// + + public WfProcessDefinitionQuery orderByDeploymentId() { + return orderBy(ProcessDefinitionQueryProperty.DEPLOYMENT_ID); + } + + public WfProcessDefinitionQuery orderByProcessDefinitionKey() { + return orderBy(ProcessDefinitionQueryProperty.PROCESS_DEFINITION_KEY); + } + + public WfProcessDefinitionQuery orderByProcessDefinitionCategory() { + return orderBy(ProcessDefinitionQueryProperty.PROCESS_DEFINITION_CATEGORY); + } + + public WfProcessDefinitionQuery orderByProcessDefinitionId() { + return orderBy(ProcessDefinitionQueryProperty.PROCESS_DEFINITION_ID); + } + + public WfProcessDefinitionQuery orderByProcessDefinitionVersion() { + return orderBy(ProcessDefinitionQueryProperty.PROCESS_DEFINITION_VERSION); + } + + public WfProcessDefinitionQuery orderByProcessDefinitionName() { + return orderBy(ProcessDefinitionQueryProperty.PROCESS_DEFINITION_NAME); + } + + public WfProcessDefinitionQuery orderByTenantId() { + return orderBy(ProcessDefinitionQueryProperty.PROCESS_DEFINITION_TENANT_ID); + } + + @Override + public long executeCount(CommandContext commandContext) { + return (long) CommandContextUtil.getDbSqlSession(commandContext).selectOne("selectWfProcessDefinitionCountByQueryCriteria", this); + } + + @Override + @SuppressWarnings("unchecked") + public List executeList(CommandContext commandContext) { + return CommandContextUtil.getDbSqlSession(commandContext).selectList("selectWfProcessDefinitionsByQueryCriteria", this); + } + + // getters //////////////////////////////////////////// + + public String getDeploymentId() { + return deploymentId; + } + + public Set getDeploymentIds() { + return deploymentIds; + } + + public String getId() { + return id; + } + + public Set getIds() { + return ids; + } + + public String getName() { + return name; + } + + public String getNameLike() { + return nameLike; + } + + public String getKey() { + return key; + } + + public String getKeyLike() { + return keyLike; + } + + public Integer getVersion() { + return version; + } + + public Integer getVersionGt() { + return versionGt; + } + + public Integer getVersionGte() { + return versionGte; + } + + public Integer getVersionLt() { + return versionLt; + } + + public Integer getVersionLte() { + return versionLte; + } + + public boolean isLatest() { + return latest; + } + + public String getCategory() { + return category; + } + + public String getCategoryLike() { + return categoryLike; + } + + public String getResourceName() { + return resourceName; + } + + public String getResourceNameLike() { + return resourceNameLike; + } + + public SuspensionState getSuspensionState() { + return suspensionState; + } + + public void setSuspensionState(SuspensionState suspensionState) { + this.suspensionState = suspensionState; + } + + public String getCategoryNotEquals() { + return categoryNotEquals; + } + + public String getTenantId() { + return tenantId; + } + + public String getTenantIdLike() { + return tenantIdLike; + } + + public boolean isWithoutTenantId() { + return withoutTenantId; + } + + public String getEngineVersion() { + return engineVersion; + } + + public String getAuthorizationUserId() { + return authorizationUserId; + } + + public String getProcDefId() { + return procDefId; + } + + public String getEventSubscriptionName() { + return eventSubscriptionName; + } + + public String getEventSubscriptionType() { + return eventSubscriptionType; + } + + public boolean isIncludeAuthorization() { + return authorizationUserId != null || (authorizationGroups != null && !authorizationGroups.isEmpty()); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfTokenUser.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfTokenUser.java new file mode 100644 index 0000000..01bdfe8 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfTokenUser.java @@ -0,0 +1,12 @@ +package org.springblade.plugin.workflow.core.user; + +import org.springblade.core.secure.BladeUser; + +/** + * 系统用户token信息 + * 统一用户入口,防止更改包名的情况再次出现 + * + * @author ssc + */ +public class WfTokenUser extends BladeUser { +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUser.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUser.java new file mode 100644 index 0000000..c32fb5d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUser.java @@ -0,0 +1,17 @@ +package org.springblade.plugin.workflow.core.user; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.system.pojo.entity.User; + +/** + * 系统用户 + * 统一用户入口,防止更改包名的情况再次出现 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfUser extends User { + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUserCache.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUserCache.java new file mode 100644 index 0000000..e55d5b0 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUserCache.java @@ -0,0 +1,87 @@ +package org.springblade.plugin.workflow.core.user; + +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.constant.BladeConstant; +import org.springblade.core.tool.utils.*; +import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.User; +import org.springframework.cache.Cache; +import org.springframework.lang.Nullable; + +import java.lang.reflect.Field; +import java.util.concurrent.Callable; + +import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE; + +/** + * 系统用户 + * 统一用户入口,防止更改包名的情况再次出现 + * + * @author ssc + */ +public class WfUserCache { + + private static final String USER_CACHE_ID = "user:id:"; + + private static IUserClient userClient; + + private static IUserClient getUserClient() { + if (userClient == null) { + userClient = SpringUtil.getBean(IUserClient.class); + } + return userClient; + } + + /** + * 获取用户 + * + * @param userId 用户id + */ + public static WfUser getUser(Long userId) { + return getUser(userId, AuthUtil.getTenantId()); + } + + /** + * 获取用户 + * + * @param userId 用户id + * @param tenantId 租户id + */ + public static WfUser getUser(Long userId, String tenantId) { + User user = get(USER_CACHE, USER_CACHE_ID, userId, () -> { + R result = getUserClient().userInfoById(userId); + return result.getData(); + }, tenantId); + return BeanUtil.copyProperties(user, WfUser.class); + } + + @Nullable + @SuppressWarnings("unchecked") + public static T get(String cacheName, String keyPrefix, Object key, Callable valueLoader, String tenantId) { + if (Func.hasEmpty(cacheName, keyPrefix, key)) { + return null; + } + try { + Cache.ValueWrapper valueWrapper = CacheUtil.getCache(cacheName, tenantId).get(keyPrefix.concat(String.valueOf(key))); + Object value = null; + if (valueWrapper == null) { + T call = valueLoader.call(); + if (ObjectUtil.isNotEmpty(call)) { + Field field = ReflectUtil.getField(call.getClass(), BladeConstant.DB_PRIMARY_KEY); + if (ObjectUtil.isNotEmpty(field) && ObjectUtil.isEmpty(ClassUtil.getMethod(call.getClass(), BladeConstant.DB_PRIMARY_KEY_METHOD).invoke(call))) { + return null; + } + CacheUtil.getCache(cacheName, tenantId).put(keyPrefix.concat(String.valueOf(key)), call); + value = call; + } + } else { + value = valueWrapper.get(); + } + return (T) value; + } catch (Exception ignore) { + return null; + } + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUserService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUserService.java new file mode 100644 index 0000000..23aea5c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/user/WfUserService.java @@ -0,0 +1,77 @@ +package org.springblade.plugin.workflow.core.user; + +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.system.pojo.entity.User; +import org.springblade.system.feign.IUserSearchClient; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 系统用户 + * 统一用户入口,防止更改包名的情况再次出现 + * + * @author ssc + */ +@Service +public class WfUserService { + + private static IUserSearchClient userSearchService; + + private static IUserSearchClient getUserSearchService() { + if (userSearchService == null) { + userSearchService = SpringUtil.getBean(IUserSearchClient.class); + } + return userSearchService; + } + + public List listByUser(List userId) { + R> r = getUserSearchService().listByUser(Func.join(userId)); + if (r == null) { + return new ArrayList<>(); + } + // 根据传入的id重新排序 + Map userMap = r.getData().stream() + .collect(Collectors.toMap(User::getId, Function.identity())); + + return userId.stream() + .map(id -> { + User user = userMap.get(id); + return user != null ? BeanUtil.copyProperties(user, WfUser.class) : null; + }) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + } + + public List listByDept(List deptId) { + R> r = getUserSearchService().listByDept(Func.join(deptId)); + if (r == null) { + return new ArrayList<>(); + } + return BeanUtil.copyProperties(r.getData(), WfUser.class); + } + + public List listByPost(List postId) { + R> r = getUserSearchService().listByPost(Func.join(postId)); + if (r == null) { + return new ArrayList<>(); + } + return BeanUtil.copyProperties(r.getData(), WfUser.class); + } + + public List listByRole(List roleId) { + R> r = getUserSearchService().listByRole(Func.join(roleId)); + if (r == null) { + return new ArrayList<>(); + } + return BeanUtil.copyProperties(r.getData(), WfUser.class); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/ObjectUtil.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/ObjectUtil.java new file mode 100644 index 0000000..a97b383 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/ObjectUtil.java @@ -0,0 +1,18 @@ +package org.springblade.plugin.workflow.core.utils; + +import org.springframework.util.ObjectUtils; + +import java.util.stream.Stream; + +/** + * 扩展ObjectUtil + * + * @author ssc + */ +public class ObjectUtil extends org.springblade.core.tool.utils.ObjectUtil { + + public static boolean isAnyEmpty(Object... obj) { + return isEmpty(obj) || Stream.of(obj).anyMatch(ObjectUtils::isEmpty); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfModelUtil.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfModelUtil.java new file mode 100644 index 0000000..24a4f4b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfModelUtil.java @@ -0,0 +1,531 @@ +package org.springblade.plugin.workflow.core.utils; + +import org.flowable.bpmn.converter.BpmnXMLConverter; +import org.flowable.bpmn.model.*; +import org.flowable.bpmn.model.Process; +import org.flowable.common.engine.impl.util.io.StringStreamSource; +import org.flowable.engine.form.FormProperty; +import org.flowable.engine.impl.form.FormPropertyHandler; +import org.flowable.engine.impl.form.FormPropertyImpl; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; + +import java.util.*; + +/** + * 模型工具类 + * + * @author ssc + */ +public class WfModelUtil { + + /** + * xml转bpmnModel对象 + * + * @param xml xml + * @return bpmnModel对象 + */ + public static BpmnModel getBpmnModel(String xml) { + BpmnXMLConverter converter = new BpmnXMLConverter(); + return converter.convertToBpmnModel(new StringStreamSource(xml), false, false); + } + + /** + * 获取开始节点 + * + * @param model bpmnModel对象 + * @return 开始节点 + */ + public static StartEvent getStartEvent(BpmnModel model) { + Process process = model.getMainProcess(); + StartEvent event = (StartEvent) process.getFlowElement("startEvent_1"); + if (event == null) { + Collection elements = process.getFlowElements(); + for (FlowElement element : elements) { + if (element instanceof StartEvent) { + return (StartEvent) element; + } + } + } + return event; + } + + /** + * 获取开始节点 + * + * @param xml xml + * @return 开始节点 + */ + public static StartEvent getStartEvent(String xml) { + BpmnModel model = getBpmnModel(xml); + Process process = model.getMainProcess(); + StartEvent event = (StartEvent) process.getFlowElement("startEvent_1"); + if (event == null) { + Collection elements = process.getFlowElements(); + for (FlowElement element : elements) { + if (element instanceof StartEvent) { + return (StartEvent) element; + } + } + } + return event; + } + + /** + * 获取开始节点扩展元素 + * + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getStartEventExtensionElements(BpmnModel model, String key) { + StartEvent event = getStartEvent(model); + if (event != null) { + return event.getExtensionElements().get(key); + } + return null; + } + + /** + * 获取开始节点扩展元素属性 + * + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static Map> getStartEventExtensionElementAttributes(BpmnModel model, String key) { + List extensionElements = getStartEventExtensionElements(model, key); + if (extensionElements != null && extensionElements.size() > 0) { + return extensionElements.get(0).getAttributes(); + } + return null; + } + + /** + * 获取第一个用户节点 + * + * @param model bpmnModel对象 + * @return 第一个用户节点 + */ + public static UserTask getUserTask(BpmnModel model) { + Process process = model.getMainProcess(); + Collection elements = process.getFlowElements(); + for (FlowElement element : elements) { + if (element instanceof UserTask) { + return (UserTask) element; + } + } + return null; + } + + /** + * 获取第一个用户节点 + * + * @param xml xml + * @return 第一个用户节点 + */ + public static UserTask getUserTask(String xml) { + BpmnModel model = getBpmnModel(xml); + Process process = model.getMainProcess(); + Collection elements = process.getFlowElements(); + for (FlowElement element : elements) { + if (element instanceof UserTask) { + return (UserTask) element; + } + } + return null; + } + + /** + * 获取第一个用户节点扩展元素 + * + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getUserTaskExtensionElements(BpmnModel model, String key) { + UserTask userTask = getUserTask(model); + if (userTask != null) { + return userTask.getExtensionElements().get(key); + } + return null; + } + + /** + * 获取第一个用户节点扩展属性 + * + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getUserTaskExtensionAttributes(BpmnModel model, String key) { + UserTask userTask = getUserTask(model); + if (userTask != null) { + return userTask.getAttributes().get(key); + } + return null; + } + + /** + * 获取第一个用户节点扩展属性 + * + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static String getUserTaskExtensionAttribute(BpmnModel model, String key) { + List attributes = getUserTaskExtensionAttributes(model, key); + if (attributes != null && attributes.size() > 0) { + return attributes.get(0).getValue(); + } + return null; + } + + /** + * 获取用户节点 + * + * @param taskKey 任务key + * @param model bpmnModel对象 + * @return 用户节点 + */ + public static UserTask getUserTaskByKey(String taskKey, BpmnModel model) { + if (StringUtil.isBlank(taskKey)) { + return getUserTask(model); + } + Process process = model.getMainProcess(); + FlowElement flowElement = process.getFlowElement(taskKey, true); + if (flowElement instanceof UserTask) { + return (UserTask) flowElement; + } else { // 子流程中查找 + Collection flowElements = process.getFlowElements(); + for (FlowElement element : flowElements) { + if (element instanceof SubProcess) { + SubProcess subProcess = (SubProcess) element; + flowElement = subProcess.getFlowElement(taskKey); + if (flowElement instanceof UserTask) { + return (UserTask) flowElement; + } + } + } + } + return null; + } + + /** + * 获取用户节点扩展元素 + * + * @param taskKey 任务key + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getUserTaskExtensionElements(String taskKey, BpmnModel model, String key) { + UserTask userTask = getUserTaskByKey(taskKey, model); + if (userTask != null) { + return userTask.getExtensionElements().get(key); + } + return null; + } + + /** + * 获取用户节点扩展属性 + * + * @param taskKey 任务key + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getUserTaskExtensionAttributes(String taskKey, BpmnModel model, String key) { + UserTask userTask = getUserTaskByKey(taskKey, model); + if (userTask != null) { + return userTask.getAttributes().get(key); + } + return null; + } + + /** + * 获取用户节点扩展属性 + * + * @param taskKey 任务key + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static String getUserTaskExtensionAttribute(String taskKey, BpmnModel model, String key) { + List attributes = getUserTaskExtensionAttributes(taskKey, model, key); + if (attributes != null && attributes.size() > 0) { + return attributes.get(0).getValue(); + } + return null; + } + + /** + * 获取根节点扩展元素列表 + * + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getProcessExtensionElements(BpmnModel model, String key) { + Process process = model.getMainProcess(); + return process.getExtensionElements().get(key); + } + + /** + * 获取根节点扩展元素属性 + * + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static Map> getProcessExtensionElementAttributes(BpmnModel model, String key) { + List elements = getProcessExtensionElements(model, key); + if (elements != null && elements.size() > 0) { + return elements.get(0).getAttributes(); + } + return null; + } + + /** + * 获取根节点扩展属性列表 + * + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getProcessExtensionAttributes(BpmnModel model, String key) { + return model.getMainProcess().getAttributes().get(key); + } + + /** + * 获取根节点扩展属性 + * + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static String getProcessExtensionAttribute(BpmnModel model, String key) { + List attributes = getProcessExtensionAttributes(model, key); + if (attributes != null && attributes.size() > 0) { + return attributes.get(0).getValue(); + } + return null; + } + + /** + * 获取子流程节点 + * + * @param taskKey key + * @param model bpmnModel + */ + public static SubProcess getSubProcessByKey(String taskKey, BpmnModel model) { + Process process = model.getMainProcess(); + FlowElement flowElement = process.getFlowElement(taskKey, true); + if (flowElement instanceof SubProcess) { + return (SubProcess) flowElement; + } else { // 子流程中查找 + Collection flowElements = process.getFlowElements(); + for (FlowElement element : flowElements) { + if (element instanceof SubProcess) { + SubProcess subProcess = (SubProcess) element; + flowElement = subProcess.getFlowElement(taskKey); + if (flowElement instanceof SubProcess) { + return (SubProcess) flowElement; + } + } + } + } + return null; + } + + /** + * 获取子流程节点扩展元素 + * + * @param subKey 子流程key + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getSubProcessExtensionElements(String subKey, BpmnModel model, String key) { + SubProcess subProcess = getSubProcessByKey(subKey, model); + if (subProcess != null) { + return subProcess.getExtensionElements().get(key); + } + return null; + } + + /** + * 获取子流程节点扩展属性 + * + * @param subKey 子流程key + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getSubProcessExtensionAttributes(String subKey, BpmnModel model, String key) { + SubProcess subProcess = getSubProcessByKey(subKey, model); + if (subProcess != null) { + return subProcess.getAttributes().get(key); + } + return null; + } + + /** + * 获取子流程节点扩展属性 + * + * @param subKey 子流程key + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static String getSubProcessExtensionAttribute(String subKey, BpmnModel model, String key) { + List attributes = getSubProcessExtensionAttributes(subKey, model, key); + if (attributes != null && attributes.size() > 0) { + return attributes.get(0).getValue(); + } + return null; + } + + /** + * 获取结束节点 + * + * @param model bpmnModel对象 + */ + public static EndEvent getEndEvent(BpmnModel model) { + Collection elements = model.getMainProcess().getFlowElements(); + for (FlowElement element : elements) { + if (element instanceof EndEvent) { + return (EndEvent) element; + } + } + return null; + } + + /** + * 获取调用活动节点 + * + * @param taskKey key + * @param model bpmnModel + */ + public static CallActivity getCallActivityByKey(String taskKey, BpmnModel model) { + Process process = model.getMainProcess(); + FlowElement flowElement = process.getFlowElement(taskKey, true); + if (flowElement instanceof CallActivity) { + return (CallActivity) flowElement; + } else { // 子流程中查找 + Collection flowElements = process.getFlowElements(); + for (FlowElement element : flowElements) { + if (element instanceof SubProcess) { + SubProcess subProcess = (SubProcess) element; + flowElement = subProcess.getFlowElement(taskKey); + if (flowElement instanceof CallActivity) { + return (CallActivity) flowElement; + } + } + } + } + return null; + } + + /** + * 获取调用活动节点扩展元素 + * + * @param subKey 调用活动key + * @param model bpmnModel对象 + * @param key 扩展元素key + */ + public static List getCallActivityExtensionElements(String subKey, BpmnModel model, String key) { + CallActivity callActivity = getCallActivityByKey(subKey, model); + if (callActivity != null) { + return callActivity.getExtensionElements().get(key); + } + return null; + } + + public static List getStartFormProp(BpmnModel bpmnModel) { + List formExtension = WfModelUtil.getStartEventExtensionElements(bpmnModel, WfExtendConstant.FORM_PROP); + return convertFormProperty(formExtension); + } + + public static List getUserTaskFormProp(String taskKey, BpmnModel bpmnModel) { + List formExtension = WfModelUtil.getUserTaskExtensionElements(taskKey, bpmnModel, WfExtendConstant.FORM_PROP); + return convertFormProperty(formExtension); + } + + private static List convertFormProperty(List formExtension) { + if (formExtension != null && !formExtension.isEmpty()) { + List formProperties = new ArrayList<>(); + formExtension.forEach(ele -> { + Map> attributes = ele.getAttributes(); + FormPropertyHandler handler = new FormPropertyHandler(); + for (List value : attributes.values()) { + ExtensionAttribute extensionAttribute = value.get(0); + switch (extensionAttribute.getName()) { + case "id": + handler.setId(extensionAttribute.getValue()); + break; + case "name": + handler.setName(extensionAttribute.getValue()); + break; + case "readable": + handler.setReadable(Boolean.parseBoolean(extensionAttribute.getValue())); + break; + case "writable": + handler.setWritable(Boolean.parseBoolean(extensionAttribute.getValue())); + break; + case "required": + handler.setRequired(Boolean.parseBoolean(extensionAttribute.getValue())); + break; + } + } + FormPropertyImpl formProperty = new FormPropertyImpl(handler); + formProperties.add(formProperty); + }); + return formProperties; + } + return null; + } + + /** + * 是否在并行/相容网关中 + */ + public static boolean isInParallelGateway(FlowNode node, BpmnModel model) { + return hasUpstreamForkGateway(node, model) && + hasDownstreamJoinGateway(node, model); + } + + static boolean hasUpstreamForkGateway(FlowNode node, BpmnModel model) { + Queue queue = new LinkedList<>(); + Set visited = new HashSet<>(); + queue.add(node); + + while (!queue.isEmpty()) { + FlowNode current = queue.poll(); + if (!visited.add(current.getId())) continue; + + for (SequenceFlow flow : current.getIncomingFlows()) { + FlowElement source = model.getMainProcess().getFlowElement(flow.getSourceRef()); + + if ((source instanceof ParallelGateway || source instanceof InclusiveGateway) && + ((Gateway) source).getOutgoingFlows().size() > 1) { + return true; + } + + if (source instanceof FlowNode) { + queue.add((FlowNode) source); + } + } + } + return false; + } + + static boolean hasDownstreamJoinGateway(FlowNode node, BpmnModel model) { + Queue queue = new LinkedList<>(); + Set visited = new HashSet<>(); + queue.add(node); + + while (!queue.isEmpty()) { + FlowNode current = queue.poll(); + if (!visited.add(current.getId())) continue; + + for (SequenceFlow flow : current.getOutgoingFlows()) { + FlowElement target = model.getMainProcess().getFlowElement(flow.getTargetRef()); + + if ((target instanceof ParallelGateway || target instanceof InclusiveGateway) && + ((Gateway) target).getIncomingFlows().size() > 1) { + return true; + } + + if (target instanceof FlowNode) { + queue.add((FlowNode) target); + } + } + } + return false; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfSearchUtil.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfSearchUtil.java new file mode 100644 index 0000000..86cc672 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfSearchUtil.java @@ -0,0 +1,307 @@ +package org.springblade.plugin.workflow.core.utils; + +import org.flowable.common.engine.api.query.Query; +import org.flowable.engine.history.HistoricProcessInstanceQuery; +import org.flowable.task.api.TaskQuery; +import org.flowable.task.api.history.HistoricTaskInstanceQuery; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.process.model.WfProcess; + +/** + * 表单搜索条件工具类 + * + * @author ssc + */ +public class WfSearchUtil { + + private static final String CONDITION_EQUAL = "equal"; + private static final String CONDITION_NOT_EQUAL = "notEqual"; + private static final String CONDITION_LIKE = "like"; + private static final String CONDITION_EXISTS = "exists"; + private static final String CONDITION_NOT_EXISTS = "notExists"; + private static final String CONDITION_GREATER_THAN = "greaterThan"; + private static final String CONDITION_LESS_THAN = "lessThan"; + private static final String CONDITION_GREATER_THAN_OR_EQUAL = "greaterThanOrEqual"; + private static final String CONDITION_LESS_THAN_OR_EQUAL = "lessThanOrEqual"; + + public static void buildSearchQuery(Query query, WfProcess process) { + if (query instanceof HistoricTaskInstanceQuery) { // 我的已办 + buildHistoricTaskQuery((HistoricTaskInstanceQuery) query, process); + } else if (query instanceof HistoricProcessInstanceQuery) { // 我的请求、办结 + buildHistoricProcessQuery((HistoricProcessInstanceQuery) query, process); + } else if (query instanceof TaskQuery) { // 我的待办、待签 + buildTaskQuery((TaskQuery) query, process); + } + } + + private static void buildHistoricTaskQuery(HistoricTaskInstanceQuery query, WfProcess process) { + if (StringUtil.isNotBlank(process.getProcessDefinitionName())) { // 流程名称 + query.processDefinitionNameLike("%" + process.getProcessDefinitionName() + "%"); + } + if (StringUtil.isNotBlank(process.getProcessDefinitionKey())) { // 流程标识 + query.processDefinitionKey(process.getProcessDefinitionKey()); + } + if (StringUtil.isNotBlank(process.getSerialNumber())) { // 流水号 + query.processVariableValueLike(WfProcessConstant.TASK_VARIABLE_SN, "%" + process.getSerialNumber() + "%"); + } + if (StringUtil.isNotBlank(process.getStartUsername())) { // 发起人 + query.processVariableValueLike(WfProcessConstant.TASK_VARIABLE_APPLY_USER_NAME, "%" + process.getStartUsername() + "%"); + } + if (StringUtil.isNotBlank(process.getCategory())) { // 分类 + query.processCategoryIn(Func.toStrList(process.getCategory())); + } + if (StringUtil.isNotBlank(process.getStartTimeRange())) { // 开始时间 + String[] dates = Func.toStrArray(process.getStartTimeRange()); + if (dates.length == 2) { + query.taskCreatedBefore(Func.parseDate(dates[1], DateUtil.PATTERN_DATETIME)); + query.taskCreatedAfter(Func.parseDate(dates[0], DateUtil.PATTERN_DATETIME)); + } + } + if (StringUtil.isNotBlank(process.getFormSearch())) { // 流程变量 + for (String search : process.getFormSearch().split(",")) { + String[] arr = search.split(":"); + if (arr.length == 2 || arr.length == 3 || arr.length == 4) { + String column = arr[0]; + String condition = arr[1]; + Object value = getValue(arr); + switch (condition) { + case CONDITION_EQUAL: + query.processVariableValueEquals(column, value); + break; + case CONDITION_NOT_EQUAL: + query.processVariableValueNotEquals(column, value); + break; + case CONDITION_LIKE: + query.processVariableValueLike(column, "%" + value + "%"); + break; + case CONDITION_EXISTS: + query.processVariableExists(column); + break; + case CONDITION_NOT_EXISTS: + query.processVariableNotExists(column); + break; + case CONDITION_GREATER_THAN: + query.processVariableValueGreaterThan(column, value); + break; + case CONDITION_LESS_THAN: + query.processVariableValueLessThan(column, value); + break; + case CONDITION_GREATER_THAN_OR_EQUAL: + query.processVariableValueGreaterThanOrEqual(column, value); + break; + case CONDITION_LESS_THAN_OR_EQUAL: + query.processVariableValueLessThanOrEqual(column, value); + break; + default: + break; + } + } + } + } + + } + + private static void buildTaskQuery(TaskQuery query, WfProcess process) { + if (StringUtil.isNotBlank(process.getProcessDefinitionName())) { // 流程名称 + query.processDefinitionNameLike("%" + process.getProcessDefinitionName() + "%"); + } + if (StringUtil.isNotBlank(process.getProcessDefinitionKey())) { // 流程标识 + query.processDefinitionKey(process.getProcessDefinitionKey()); + } + if (StringUtil.isNotBlank(process.getSerialNumber())) { // 流水号 + query.processVariableValueLike(WfProcessConstant.TASK_VARIABLE_SN, "%" + process.getSerialNumber() + "%"); + } + if (StringUtil.isNotBlank(process.getStartUsername())) { // 发起人 + query.processVariableValueLike(WfProcessConstant.TASK_VARIABLE_APPLY_USER_NAME, "%" + process.getStartUsername() + "%"); + } + if (StringUtil.isNotBlank(process.getCategory())) { // 分类 + query.processCategoryIn(Func.toStrList(process.getCategory())); + } + if (StringUtil.isNotBlank(process.getStartTimeRange())) { // 开始时间 + String[] dates = Func.toStrArray(process.getStartTimeRange()); + if (dates.length == 2) { + query.taskCreatedBefore(Func.parseDate(dates[1], DateUtil.PATTERN_DATETIME)); + query.taskCreatedAfter(Func.parseDate(dates[0], DateUtil.PATTERN_DATETIME)); + } + } + if (StringUtil.isNotBlank(process.getTaskName())) { // 任务名称 + query.taskNameLike("%" + process.getTaskName() + "%"); + } + if (StringUtil.isNotBlank(process.getAssignee())) { // 审核人/候选人 + query.taskCandidateOrAssigned(process.getAssignee()); + } + if (StringUtil.isNotBlank(process.getFormSearch())) { // 流程变量 + for (String search : process.getFormSearch().split(",")) { + String[] arr = search.split(":"); + if (arr.length == 2 || arr.length == 3 || arr.length == 4) { + String column = arr[0]; + String condition = arr[1]; + Object value = getValue(arr); + switch (condition) { + case CONDITION_EQUAL: + query.processVariableValueEquals(column, value); + break; + case CONDITION_NOT_EQUAL: + query.processVariableValueNotEquals(column, value); + break; + case CONDITION_LIKE: + query.processVariableValueLike(column, "%" + value + "%"); + break; + case CONDITION_EXISTS: + query.processVariableExists(column); + break; + case CONDITION_NOT_EXISTS: + query.processVariableNotExists(column); + break; + case CONDITION_GREATER_THAN: + query.processVariableValueGreaterThan(column, value); + break; + case CONDITION_LESS_THAN: + query.processVariableValueLessThan(column, value); + break; + case CONDITION_GREATER_THAN_OR_EQUAL: + query.processVariableValueGreaterThanOrEqual(column, value); + break; + case CONDITION_LESS_THAN_OR_EQUAL: + query.processVariableValueLessThanOrEqual(column, value); + break; + default: + break; + } + } + } + } + + } + + private static void buildHistoricProcessQuery(HistoricProcessInstanceQuery query, WfProcess process) { + if (StringUtil.isNotBlank(process.getProcessDefinitionName())) { // 流程名称 + query.processInstanceNameLike("%" + process.getProcessDefinitionName() + "%"); + } + if (StringUtil.isNotBlank(process.getProcessDefinitionKey())) { // 流程标识 + query.processDefinitionKey(process.getProcessDefinitionKey()); + } + if (StringUtil.isNotBlank(process.getSerialNumber())) { // 流水号 + query.variableValueLike(WfProcessConstant.TASK_VARIABLE_SN, "%" + process.getSerialNumber() + "%"); + } + if (StringUtil.isNotBlank(process.getStartUsername())) { // 申请人 + query.variableValueLike(WfProcessConstant.TASK_VARIABLE_APPLY_USER_NAME, "%" + process.getStartUsername() + "%"); + } + if (StringUtil.isNotBlank(process.getCategory())) { // 分类 + query.processDefinitionCategory(process.getCategory()); + } + if (StringUtil.isNotBlank(process.getStartTimeRange())) { // 开始时间 + String[] dates = Func.toStrArray(process.getStartTimeRange()); + if (dates.length == 2) { + query.startedAfter(Func.parseDate(dates[0], DateUtil.PATTERN_DATETIME)); + query.startedBefore(Func.parseDate(dates[1], DateUtil.PATTERN_DATETIME)); + } + } + if (StringUtil.isNotBlank(process.getEndTimeRange())) { // 结束时间 + String[] dates = Func.toStrArray(process.getEndTimeRange()); + if (dates.length == 2) { + query.finishedAfter(Func.parseDate(dates[0], DateUtil.PATTERN_DATETIME)); + query.finishedBefore(Func.parseDate(dates[1], DateUtil.PATTERN_DATETIME)); + } + } + if (process.getProcessIsFinished() != null) { // 流程状态 + switch (process.getProcessIsFinished()) { + case WfProcessConstant.STATUS_UNFINISHED: + query.unfinished().notDeleted(); + break; + case WfProcessConstant.STATUS_FINISHED: + query.finished() +// .notDeleted() // 排除删除 +// .variableNotExists(WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE) // 排除终结/撤销/撤回/驳回等 + ; + break; + case WfProcessConstant.STATUS_TERMINATE: + query.finished().notDeleted(); + query.variableValueEquals(WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE, "true"); + break; + case WfProcessConstant.STATUS_WITHDRAW: + query.finished().notDeleted(); + query.variableValueEquals(WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE, WfProcessConstant.STATUS_WITHDRAW); + break; + case WfProcessConstant.STATUS_REJECT: + query.unfinished().notDeleted(); + query.variableValueEquals(WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE, WfProcessConstant.STATUS_REJECT); + break; + case WfProcessConstant.STATUS_RECALL: + query.unfinished().notDeleted(); + query.variableValueEquals(WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE, WfProcessConstant.STATUS_RECALL); + break; + case WfProcessConstant.STATUS_DELETED: + query.deleted(); + break; + } + } + if (StringUtil.isNotBlank(process.getFormSearch())) { // 流程变量 + for (String search : process.getFormSearch().split(",")) { + String[] arr = search.split(":"); + if (arr.length == 2 || arr.length == 3 || arr.length == 4) { + String column = arr[0]; + String condition = arr[1]; + Object value = getValue(arr); + switch (condition) { + case CONDITION_EQUAL: + query.variableValueEquals(column, value); + break; + case CONDITION_NOT_EQUAL: + query.variableValueNotEquals(column, value); + break; + case CONDITION_LIKE: + query.variableValueLike(column, "%" + value + "%"); + break; + case CONDITION_EXISTS: + query.variableExists(column); + break; + case CONDITION_NOT_EXISTS: + query.variableNotExists(column); + break; + case CONDITION_GREATER_THAN: + query.variableValueGreaterThan(column, value); + break; + case CONDITION_LESS_THAN: + query.variableValueLessThan(column, value); + break; + case CONDITION_GREATER_THAN_OR_EQUAL: + query.variableValueGreaterThanOrEqual(column, value); + break; + case CONDITION_LESS_THAN_OR_EQUAL: + query.variableValueLessThanOrEqual(column, value); + break; + default: + break; + } + } + } + } + } + + private static Object getValue(String[] arr) { + Object value = null; + String type = "string"; + if (arr.length == 3 || arr.length == 4) { + if (arr.length == 4) type = arr[3]; + switch (type) { + case "integer": + value = Integer.parseInt(arr[2]); + break; + case "double": + value = Double.parseDouble(arr[2]); + break; + case "long": + value = Long.parseLong(arr[2]); + break; + default: + value = arr[2]; + break; + } + } + return value; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfTaskUtil.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfTaskUtil.java new file mode 100644 index 0000000..da4d2f7 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/core/utils/WfTaskUtil.java @@ -0,0 +1,86 @@ + +package org.springblade.plugin.workflow.core.utils; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.user.WfTokenUser; + +import java.util.*; + +/** + * 工作流任务工具类 + * + * @author Chill + */ +public class WfTaskUtil { + + /** + * 获取任务用户格式 + * + * @return taskUser + */ + public static String getTaskUser() { + return AuthUtil.getUserId() + ""; + } + + + /** + * 获取用户主键 + * + * @param taskUser 任务用户 + * @return userId + */ + public static Long getUserId(String taskUser) { + return Func.toLong(taskUser); + } + + /** + * 获取用户组格式 + * + * @return candidateGroup + */ + public static String getCandidateGroup() { + // 候选组支持角色、部门、岗位 + BladeUser user = AuthUtil.getUser(); + if (user == null) return ""; + String roleId = user.getRoleId(); + String deptId = user.getDeptId(); + String postId = user.getPostId(); + List list = new ArrayList<>(); + if (StringUtil.isNotBlank(roleId)) list.addAll(Arrays.asList(roleId.split(","))); + if (StringUtil.isNotBlank(deptId)) list.addAll(Arrays.asList(deptId.split(","))); + if (StringUtil.isNotBlank(postId)) list.addAll(Arrays.asList(postId.split(","))); + return StringUtil.join(list, ","); + } + + /** + * 获取用户昵称 + * + * @return nickName + */ + public static String getNickName() { + return AuthUtil.getNickName(); + } + + /** + * 获取租户id + * + * @return tenantId + */ + public static String getTenantId() { + return AuthUtil.getTenantId(); + } + + /** + * 获取当前登录用户 + * + * @return 登录用户信息 + */ + public static WfTokenUser getTokenUser() { + return BeanUtil.copyProperties(AuthUtil.getUser(), WfTokenUser.class); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/controller/WfProcessLeaveController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/controller/WfProcessLeaveController.java new file mode 100644 index 0000000..db0f1ca --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/controller/WfProcessLeaveController.java @@ -0,0 +1,100 @@ +package org.springblade.plugin.workflow.demo.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.demo.entity.WfProcessLeave; +import org.springblade.plugin.workflow.demo.vo.WfProcessLeaveVO; +import org.springblade.plugin.workflow.demo.wrapper.WfProcessLeaveWrapper; +import org.springblade.plugin.workflow.demo.service.IWfProcessLeaveService; +import org.springblade.core.boot.ctrl.BladeController; + +/** + * 请假流程业务示例 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/process/leave") +@Tag(name = "请假流程业务示例", description = "请假流程业务示例接口") +public class WfProcessLeaveController extends BladeController { + + private final IWfProcessLeaveService wfProcessLeaveService; + + /** + * 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入wfProcessLeave") + public R detail(WfProcessLeave wfProcessLeave) { + WfProcessLeave detail = wfProcessLeaveService.getOne(Condition.getQueryWrapper(wfProcessLeave)); + return R.data(WfProcessLeaveWrapper.build().entityVO(detail)); + } + + /** + * 分页 请假流程业务示例 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入wfProcessLeave") + public R> list(WfProcessLeave wfProcessLeave, Query query) { + IPage pages = wfProcessLeaveService.page(Condition.getPage(query), Condition.getQueryWrapper(wfProcessLeave) + .orderByDesc("id")); + return R.data(WfProcessLeaveWrapper.build().pageVO(pages)); + } + + /** + * 新增 请假流程业务示例 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入wfProcessLeave") + public R save(@RequestBody WfProcessLeave wfProcessLeave) { + return R.status(wfProcessLeaveService.save(wfProcessLeave)); + } + + /** + * 修改 请假流程业务示例 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入wfProcessLeave") + public R update(@RequestBody WfProcessLeave wfProcessLeave) { + return R.status(wfProcessLeaveService.updateById(wfProcessLeave)); + } + + /** + * 新增或修改 请假流程业务示例 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入wfProcessLeave") + public R submit(@RequestBody WfProcessLeave wfProcessLeave) { + wfProcessLeaveService.saveOrUpdate(wfProcessLeave); + return R.data(wfProcessLeave); + } + + + /** + * 删除 请假流程业务示例 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfProcessLeaveService.deleteLogic(Func.toLongList(ids))); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/dto/WfProcessLeaveDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/dto/WfProcessLeaveDTO.java new file mode 100644 index 0000000..d7caf3d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/dto/WfProcessLeaveDTO.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.demo.dto; + +import org.springblade.plugin.workflow.demo.entity.WfProcessLeave; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 请假流程业务示例数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfProcessLeaveDTO extends WfProcessLeave { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/entity/WfProcessLeave.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/entity/WfProcessLeave.java new file mode 100644 index 0000000..52cb58f --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/entity/WfProcessLeave.java @@ -0,0 +1,66 @@ +package org.springblade.plugin.workflow.demo.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import org.springblade.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 请假流程业务示例实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_process_leave") +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfProcessLeave对象", description = "请假流程业务示例") +public class WfProcessLeave extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 流程实例id + */ + @Schema(description = "流程实例id") + private String processInsId; + /** + * 流程定义id + */ + @Schema(description = "流程定义id") + private String processDefId; + + @Schema(description = "外置表单key") + private String formKey; + + @Schema(description = "外置表单url") + private String formUrl; + + @Schema(description = "当前节点") + private String currentNode; + /** + * 时间范围 + */ + @Schema(description = "时间范围") + private String datetime; + /** + * 请假天数 + */ + @Schema(description = "请假天数") + private Integer days; + /** + * 请假理由 + */ + @Schema(description = "请假理由") + private String reason; + /** + * 附件 + */ + @Schema(description = "附件") + private String attachment; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/mapper/WfProcessLeaveMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/mapper/WfProcessLeaveMapper.java new file mode 100644 index 0000000..24c8225 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/mapper/WfProcessLeaveMapper.java @@ -0,0 +1,13 @@ +package org.springblade.plugin.workflow.demo.mapper; + +import org.springblade.plugin.workflow.demo.entity.WfProcessLeave; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 请假流程业务示例 Mapper 接口 + * + * @author ssc + */ +public interface WfProcessLeaveMapper extends BaseMapper { + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/mapper/WfProcessLeaveMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/mapper/WfProcessLeaveMapper.xml new file mode 100644 index 0000000..e1f527c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/mapper/WfProcessLeaveMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/service/IWfProcessLeaveService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/service/IWfProcessLeaveService.java new file mode 100644 index 0000000..a240ea7 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/service/IWfProcessLeaveService.java @@ -0,0 +1,15 @@ +package org.springblade.plugin.workflow.demo.service; + +import org.springblade.core.mp.base.BaseService; +import org.springblade.plugin.workflow.demo.entity.WfProcessLeave; +import org.springblade.plugin.workflow.process.dto.WfNoticeDTO; + +/** + * 请假流程业务示例 服务类 + * + * @author ssc + */ +public interface IWfProcessLeaveService extends BaseService { + + void businessWithNotice(WfNoticeDTO notice); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/service/impl/WfProcessLeaveServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/service/impl/WfProcessLeaveServiceImpl.java new file mode 100644 index 0000000..3bd67cc --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/service/impl/WfProcessLeaveServiceImpl.java @@ -0,0 +1,89 @@ +package org.springblade.plugin.workflow.demo.service.impl; + +import com.alibaba.fastjson2.JSON; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.flowable.engine.RuntimeService; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.task.api.Task; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.plugin.workflow.demo.entity.WfProcessLeave; +import org.springblade.plugin.workflow.demo.mapper.WfProcessLeaveMapper; +import org.springblade.plugin.workflow.demo.service.IWfProcessLeaveService; +import org.springblade.plugin.workflow.process.dto.WfNoticeDTO; +import org.springblade.plugin.workflow.process.entity.WfNotice; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +import static org.springblade.plugin.workflow.process.entity.WfNotice.Type.*; + +/** + * 请假流程业务示例 服务实现类 + * + * @author ssc + */ +@Service +@RequiredArgsConstructor +public class WfProcessLeaveServiceImpl extends BaseServiceImpl implements IWfProcessLeaveService { + + private final RuntimeService runtimeService; + + @Override + public void businessWithNotice(WfNoticeDTO notice) { + WfNotice.Type type = notice.getType(); + ProcessInstance processInstance = notice.getProcessInstance(); + Task task = notice.getTask(); + Map variables = notice.getVariables(); + + String processInsId = processInstance.getProcessInstanceId(); + + // 发起,插入数据 + if (START == type) { + WfProcessLeave leave = JSON.parseObject(JSON.toJSONString(variables), WfProcessLeave.class); + leave.setProcessInsId(processInsId); + leave.setProcessDefId(processInstance.getProcessDefinitionId()); + leave.setCreateUser(AuthUtil.getUserId()); + leave.setCreateDept(Func.firstLong(AuthUtil.getDeptId())); + leave.setUpdateUser(AuthUtil.getUserId()); + leave.setStatus(1); + + save(leave); + // 保存的ID存入流程 + runtimeService.updateBusinessKey(processInsId, leave.getId() + ""); + } + // 任务结束 + else if (TASK_COMPLETE == type) { + String id = processInstance.getBusinessKey(); + if (StringUtils.isNotBlank(id)) { + assert task != null; + WfProcessLeave leave = JSON.parseObject(JSON.toJSONString(variables), WfProcessLeave.class); + leave.setCurrentNode(task.getName()); + leave.setId(Long.valueOf(id)); + leave.setStatus(1); + updateById(leave); + } + } + // 流程删除 + else if (DELETE_PROCESS == type) { + String id = processInstance.getBusinessKey(); + if (StringUtils.isNotBlank(id)) { + deleteLogic(List.of(NumberUtils.toLong(id))); + } + } + else { + String id = processInstance.getBusinessKey(); + if (StringUtils.isNotBlank(id)) { + WfProcessLeave leave = new WfProcessLeave(); + leave.setId(Long.valueOf(id)); + leave.setCurrentNode(task == null ? "结束": task.getName()); + leave.setStatus(type.getCode()); + updateById(leave); + } + } + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/vo/WfProcessLeaveVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/vo/WfProcessLeaveVO.java new file mode 100644 index 0000000..3773f50 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/vo/WfProcessLeaveVO.java @@ -0,0 +1,26 @@ +package org.springblade.plugin.workflow.demo.vo; + +import org.springblade.plugin.workflow.demo.entity.WfProcessLeave; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 请假流程业务示例视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfProcessLeaveVO对象", description = "请假流程业务示例") +public class WfProcessLeaveVO extends WfProcessLeave { + @Serial + private static final long serialVersionUID = 1L; + + private String creator; + + private String creatorDept; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/wrapper/WfProcessLeaveWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/wrapper/WfProcessLeaveWrapper.java new file mode 100644 index 0000000..85ea263 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/demo/wrapper/WfProcessLeaveWrapper.java @@ -0,0 +1,57 @@ +package org.springblade.plugin.workflow.demo.wrapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.user.WfUserCache; +import org.springblade.plugin.workflow.demo.entity.WfProcessLeave; +import org.springblade.plugin.workflow.demo.vo.WfProcessLeaveVO; +import org.springblade.system.cache.SysCache; +import org.springblade.system.pojo.entity.Dept; + +import java.util.List; +import java.util.Objects; + +/** + * 请假流程业务示例包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfProcessLeaveWrapper extends BaseEntityWrapper { + + public static WfProcessLeaveWrapper build() { + return new WfProcessLeaveWrapper(); + } + + @Override + public WfProcessLeaveVO entityVO(WfProcessLeave wfProcessLeave) { + WfProcessLeaveVO wfProcessLeaveVO = Objects.requireNonNull(BeanUtil.copyProperties(wfProcessLeave, WfProcessLeaveVO.class)); + + //User createUser = UserCache.getUser(wfProcessLeave.getCreateUser()); + //User updateUser = UserCache.getUser(wfProcessLeave.getUpdateUser()); + //wfProcessLeaveVO.setCreateUserName(createUser.getName()); + //wfProcessLeaveVO.setUpdateUserName(updateUser.getName()); + + return wfProcessLeaveVO; + } + + @Override + public IPage pageVO(IPage pages) { + List records = this.listVO(pages.getRecords()); + records.forEach(r -> { + WfUser user = WfUserCache.getUser(r.getCreateUser()); + if (user != null) { + r.setCreator(user.getName()); + } + Dept dept = SysCache.getDept(r.getCreateDept()); + if (dept != null) { + r.setCreatorDept(dept.getDeptName()); + } + }); + IPage pageVo = new Page<>(pages.getCurrent(), pages.getSize(), pages.getTotal()); + pageVo.setRecords(records); + return pageVo; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfButtonController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfButtonController.java new file mode 100644 index 0000000..a8a77bd --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfButtonController.java @@ -0,0 +1,111 @@ +package org.springblade.plugin.workflow.design.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.design.entity.WfButton; +import org.springblade.plugin.workflow.design.vo.WfButtonVO; +import org.springblade.plugin.workflow.design.wrapper.WfButtonWrapper; +import org.springblade.plugin.workflow.design.service.IWfButtonService; +import org.springblade.core.boot.ctrl.BladeController; + +/** + * 流程按钮 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/button") +@Tag(name = "流程按钮", description = "流程按钮接口") +public class WfButtonController extends BladeController { + + private final IWfButtonService wfButtonService; + + /** + * 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入wfButton") + public R detail(WfButton wfButton) { + WfButton detail = wfButtonService.getOne(Condition.getQueryWrapper(wfButton)); + return R.data(WfButtonWrapper.build().entityVO(detail)); + } + + /** + * 分页 流程按钮 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入wfButton") + public R> list(WfButton wfButton, Query query) { + IPage pages = wfButtonService.page(Condition.getPage(query), Condition.getQueryWrapper(wfButton)); + return R.data(WfButtonWrapper.build().pageVO(pages)); + } + + + /** + * 自定义分页 流程按钮 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入wfButton") + public R> page(WfButtonVO wfButton, Query query) { + IPage pages = wfButtonService.selectWfButtonPage(Condition.getPage(query), wfButton); + return R.data(pages); + } + + /** + * 新增 流程按钮 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入wfButton") + public R save(@RequestBody WfButton wfButton) { + return R.status(wfButtonService.save(wfButton)); + } + + /** + * 修改 流程按钮 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入wfButton") + public R update(@RequestBody WfButton wfButton) { + return R.status(wfButtonService.updateById(wfButton)); + } + + /** + * 新增或修改 流程按钮 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入wfButton") + public R submit(@RequestBody WfButton wfButton) { + return R.status(wfButtonService.saveOrUpdate(wfButton)); + } + + + /** + * 删除 流程按钮 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfButtonService.deleteLogic(Func.toLongList(ids))); + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfCategoryController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfCategoryController.java new file mode 100644 index 0000000..d99f682 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfCategoryController.java @@ -0,0 +1,136 @@ + +package org.springblade.plugin.workflow.design.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.constant.BladeConstant; +import org.springblade.core.tool.utils.Func; +import org.springblade.plugin.workflow.core.cache.WfCategoryCache; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.design.entity.WfCategory; +import org.springblade.plugin.workflow.design.vo.WfCategoryVO; +import org.springblade.plugin.workflow.design.wrapper.WfCategoryWrapper; +import org.springblade.plugin.workflow.design.service.IWfCategoryService; +import org.springblade.core.boot.ctrl.BladeController; + +import java.util.Map; + +/** + * 流程分类 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/category") +@Tag(name = "流程分类", description = "流程分类接口") +public class WfCategoryController extends BladeController { + + private final IWfCategoryService wfCategoryService; + + @GetMapping("tree") + @Operation(summary = "树形结构") + public R tree() { + if (WfTaskUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) { + WfCategoryCache.removeTreeCache(); + return R.data(wfCategoryService.tree()); + } + return R.data(WfCategoryCache.tree()); + } + + @GetMapping("allTree") + @Operation(summary = "树形结构") + public R allTree() { + return R.data(wfCategoryService.allTree()); + } + + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入wfCategory") + public R detail(WfCategory category) { + WfCategory detail = wfCategoryService.getOne(Condition.getQueryWrapper(category)); + return R.data(WfCategoryWrapper.build().entityVO(detail)); + } + + /** + * 分页 流程分类 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入wfCategory") + public R> list(@Parameter(hidden = true) @RequestParam Map category, Query query) { + IPage pages = wfCategoryService.page(Condition.getPage(query), Condition.getQueryWrapper(category, WfCategory.class).orderByAsc("sort").orderByDesc("id")); + return R.data(WfCategoryWrapper.build().pageVO(pages)); + } + + + /** + * 自定义分页 流程分类 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入wfCategory") + public R> page(WfCategoryVO category, Query query) { + IPage pages = wfCategoryService.selectWfCategoryPage(Condition.getPage(query), category); + return R.data(pages); + } + + /** + * 新增 流程分类 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入wfCategory") + public R save(@RequestBody WfCategory category) { + WfCategoryCache.removeTreeCache(); + return R.status(wfCategoryService.save(category)); + } + + /** + * 修改 流程分类 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入wfCategory") + public R update(@RequestBody WfCategory category) { + WfCategoryCache.removeTreeCache(); + WfCategoryCache.removeById(category.getId()); + return R.status(wfCategoryService.updateById(category)); + } + + /** + * 新增或修改 流程分类 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入wfCategory") + public R submit(@RequestBody WfCategory category) { + WfCategoryCache.removeTreeCache(); + WfCategoryCache.removeById(category.getId()); + return R.status(wfCategoryService.saveOrUpdate(category)); + } + + + /** + * 删除 流程分类 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + WfCategoryCache.removeTreeCache(); + return R.status(wfCategoryService.deleteLogic(Func.toLongList(ids))); + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfConditionController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfConditionController.java new file mode 100644 index 0000000..1f8433d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfConditionController.java @@ -0,0 +1,118 @@ + +package org.springblade.plugin.workflow.design.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.design.entity.WfCondition; +import org.springblade.plugin.workflow.design.vo.WfConditionVO; +import org.springblade.plugin.workflow.design.wrapper.WfConditionWrapper; +import org.springblade.plugin.workflow.design.service.IWfConditionService; +import org.springblade.core.boot.ctrl.BladeController; + +/** + * 流程表达式 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/condition") +@Tag(name = "流程表达式", description = "流程表达式接口") +public class WfConditionController extends BladeController { + + private final IWfConditionService wfConditionService; + + /** + * 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入wfCondition") + public R detail(WfCondition wfCondition) { + WfCondition detail = wfConditionService.getOne(Condition.getQueryWrapper(wfCondition)); + return R.data(WfConditionWrapper.build().entityVO(detail)); + } + + /** + * 分页 流程表达式 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入wfCondition") + public R> list(WfCondition wfCondition, Query query) { + IPage pages = wfConditionService.page(Condition.getPage(query), Condition.getQueryWrapper(wfCondition)); + return R.data(WfConditionWrapper.build().pageVO(pages)); + } + + + /** + * 自定义分页 流程表达式 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入wfCondition") + public R> page(WfConditionVO wfCondition, Query query) { + IPage pages = wfConditionService.selectWfConditionPage(Condition.getPage(query), wfCondition); + return R.data(pages); + } + + /** + * 新增 流程表达式 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入wfCondition") + public R save(@RequestBody WfCondition wfCondition) { + return R.status(wfConditionService.save(wfCondition)); + } + + /** + * 修改 流程表达式 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入wfCondition") + public R update(@RequestBody WfCondition wfCondition) { + return R.status(wfConditionService.updateById(wfCondition)); + } + + /** + * 新增或修改 流程表达式 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入wfCondition") + public R submit(@RequestBody WfCondition wfCondition) { + boolean b; + try { + b = wfConditionService.saveOrUpdate(wfCondition); + } catch (Exception e) { + return R.fail(String.format("相同类型的表达式:%s 已存在", wfCondition.getExpression())); + } + return R.status(b); + } + + + /** + * 删除 流程表达式 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfConditionService.deleteLogic(Func.toLongList(ids))); + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfDeploymentController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfDeploymentController.java new file mode 100644 index 0000000..fa29a6f --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfDeploymentController.java @@ -0,0 +1,64 @@ +package org.springblade.plugin.workflow.design.controller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.design.entity.WfProcessDef; +import org.springblade.plugin.workflow.design.service.IWfDesignService; +import org.springframework.web.bind.annotation.*; + +@RestController +@AllArgsConstructor +@RequestMapping("/design/deployment") +@Tag(name = "流程部署") +public class WfDeploymentController { + + private final IWfDesignService flowDesignService; + + @GetMapping("list") + @Operation(summary = "分页") + public R list(WfProcessDef wfProcessDef, Query query) { + return R.data(flowDesignService.deploymentPage(wfProcessDef, query)); + } + + @PostMapping("remove") + @Operation(summary = "删除") + public R remove(@RequestBody String body) { + JSONObject data = JSON.parseObject(body); + String id = data.getString("deploymentId"); + + flowDesignService.deleteDeployment(id); + return R.success("操作成功"); + } + + @PostMapping("changeStatus") + @Operation(summary = "改变部署流程状态") + public R changeStatus(@RequestBody String body) { + JSONObject data = JSON.parseObject(body); + + String id = data.getString("id"); + String status = data.getString("status"); + + flowDesignService.changeDeploymentStatus(id, status); + + return R.success("操作成功"); + } + + @PostMapping("changeCategory") + @Operation(summary = "改变部署流程分类") + public R changeCategory(@RequestBody String body) { + JSONObject data = JSON.parseObject(body); + + String id = data.getString("deploymentId"); + String category = data.getString("category"); + + flowDesignService.changeDeploymentCategory(id, category); + + return R.success("操作成功"); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormController.java new file mode 100644 index 0000000..bac4503 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormController.java @@ -0,0 +1,102 @@ +package org.springblade.plugin.workflow.design.controller; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import lombok.AllArgsConstructor; +import org.apache.commons.lang3.math.NumberUtils; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.plugin.workflow.design.entity.WfForm; +import org.springblade.plugin.workflow.design.service.IWfFormDefaultValuesService; +import org.springblade.plugin.workflow.design.service.IWfFormService; +import org.springblade.plugin.workflow.design.vo.WfFormVO; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +@AllArgsConstructor +@RequestMapping("/design/form") +@Tag(name = "流程表单") +public class WfFormController { + + private final IWfFormService formService; + private final IWfFormDefaultValuesService formDefaultValuesService; + + @GetMapping("detail") + @Operation(summary = "详情") + @Parameters({ + @Parameter(name = "id", description = "id", required = true), + }) + public R detail(@Parameter(hidden = true) WfForm form) { + return R.data(formService.getOne(Condition.getQueryWrapper(form))); + } + + @GetMapping("list") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = "key", description = "表单key"), + @Parameter(name = "name", description = "表单名称"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R list(@Parameter(hidden = true) @RequestParam Map form, Query query) { + Object categoryIdEqual = form.get("categoryId_equal"); + if (categoryIdEqual != null) { + form.put("categoryId_equal", NumberUtils.toLong(categoryIdEqual.toString())); + } + return R.data(formService.page(Condition.getPage(query), Condition.getQueryWrapper(form, WfForm.class).orderByDesc("update_time"))); + } + + @PostMapping("submit") + @Operation(summary = "新增或修改") + @Parameters({ + @Parameter(name = "id", description = "id,有值=修改,无值=新增"), + @Parameter(name = "key", description = "表单key", required = true), + @Parameter(name = "name", description = "表单名称", required = true), + @Parameter(name = "content", description = "表单JSON", required = true), + @Parameter(name = "newVersion", description = "是否新版本"), + }) + public R submit(@Parameter(hidden = true) @RequestBody WfFormVO form) { + if (ObjectUtil.isEmpty(form.getId())) { + return (R) formService.create(form); + } else { + return R.data(formService.edit(form)); + } + } + + @PostMapping("remove") + @Operation(summary = "删除") + public R remove(@Parameter(hidden = true) @RequestBody WfFormVO form) { + formService.remove(form); + return R.success("操作成功"); + } + + @GetMapping("listType") + @Operation(summary = "字段类型默认值列表") + public R listType() { + return R.data(formDefaultValuesService.listType()); + } + + @PostMapping("changeCategory") + @Operation(summary = "修改分类") + @Parameters({ + @Parameter(name = "ids", description = "ids", required = true), + @Parameter(name = "category", description = "分类id", required = true), + }) + public R changeCategory(@Parameter(hidden = true) @RequestBody JSONObject body) { + String ids = body.getString("ids"); + Long categoryId = body.getLong("category"); + if (org.springblade.plugin.workflow.core.utils.ObjectUtil.isAnyEmpty(ids, categoryId)) { + return R.fail("参数错误"); + } + formService.changeCategory(ids, categoryId); + return R.success("修改成功"); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormDefaultValuesController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormDefaultValuesController.java new file mode 100644 index 0000000..0d4eb83 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormDefaultValuesController.java @@ -0,0 +1,69 @@ +package org.springblade.plugin.workflow.design.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.design.entity.WfFormDefaultValues; +import org.springblade.plugin.workflow.design.vo.WfFormDefaultValuesVO; +import org.springblade.plugin.workflow.design.wrapper.WfFormDefaultValuesWrapper; +import org.springblade.plugin.workflow.design.service.IWfFormDefaultValuesService; +import org.springblade.core.boot.ctrl.BladeController; + +/** + * 流程表单字段默认值 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/form/default-values") +@Tag(name = "流程表单字段默认值", description = "流程表单字段默认值接口") +public class WfFormDefaultValuesController extends BladeController { + + private final IWfFormDefaultValuesService wfFormDefaultValuesService; + + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入wfFormDefaultValues") + public R> list(WfFormDefaultValues wfFormDefaultValues, Query query) { + IPage pages = wfFormDefaultValuesService.page(Condition.getPage(query), Condition.getQueryWrapper(wfFormDefaultValues)); + return R.data(WfFormDefaultValuesWrapper.build().pageVO(pages)); + } + + + @GetMapping("/listType") + @ApiOperationSupport(order = 3) + @Operation(summary = "字段类型") + public R listType() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("field_type fieldType").groupBy("field_type"); + return R.data(wfFormDefaultValuesService.list(wrapper)); + } + + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入wfFormDefaultValues") + public R submit(@RequestBody WfFormDefaultValues wfFormDefaultValues) { + return R.status(wfFormDefaultValuesService.saveOrUpdate(wfFormDefaultValues)); + } + + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfFormDefaultValuesService.deleteLogic(Func.toLongList(ids))); + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormHistoryController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormHistoryController.java new file mode 100644 index 0000000..e2c8af0 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormHistoryController.java @@ -0,0 +1,63 @@ +package org.springblade.plugin.workflow.design.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.design.entity.WfFormHistory; +import org.springblade.plugin.workflow.design.vo.WfFormHistoryVO; +import org.springblade.plugin.workflow.design.wrapper.WfFormHistoryWrapper; +import org.springblade.plugin.workflow.design.service.IWfFormHistoryService; +import org.springblade.core.boot.ctrl.BladeController; + +/** + * 流程表单 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/form/history") +@Tag(name = "流程表单 - 历史") +public class WfFormHistoryController extends BladeController { + + private final IWfFormHistoryService wfFormHistoryService; + + /** + * 分页 流程表单 + */ + @GetMapping("/list") + @Operation(summary = "分页", description = "传入wfFormHistory") + public R> list(WfFormHistory wfFormHistory, Query query) { + IPage pages = wfFormHistoryService.page(Condition.getPage(query), Condition.getQueryWrapper(wfFormHistory).orderByDesc("version")); + return R.data(WfFormHistoryWrapper.build().pageVO(pages)); + } + + /** + * 删除 流程表单 + */ + @PostMapping("/remove") + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfFormHistoryService.deleteLogic(Func.toLongList(ids))); + } + + @PostMapping("/setMainVersion") + @Operation(summary = "设为主版本") + @Parameters({ + @Parameter(name = "id", description = "历史表单id"), + }) + public R setMainVersion(@Parameter(hidden = true) @RequestBody WfFormHistory formHistory) { + return (R) wfFormHistoryService.setMainVersion(formHistory); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormThemeController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormThemeController.java new file mode 100644 index 0000000..7685617 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormThemeController.java @@ -0,0 +1,107 @@ +package org.springblade.plugin.workflow.design.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.design.entity.WfFormTheme; +import org.springblade.plugin.workflow.design.vo.WfFormThemeVO; +import org.springblade.plugin.workflow.design.wrapper.WfFormThemeWrapper; +import org.springblade.plugin.workflow.design.service.IWfFormThemeService; +import org.springblade.core.boot.ctrl.BladeController; +import java.util.Map; + +/** + * 表单 - 主题 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/form/theme") +@Tag(name = "表单 - 主题", description = "表单 - 主题接口") +public class WfFormThemeController extends BladeController { + + private final IWfFormThemeService wfFormThemeService; + + /** + * 表单 - 主题 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入wfFormTheme") + public R detail(WfFormTheme wfFormTheme) { + WfFormTheme detail = wfFormThemeService.getOne(Condition.getQueryWrapper(wfFormTheme)); + return R.data(WfFormThemeWrapper.build().entityVO(detail)); + } + /** + * 表单 - 主题 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入wfFormTheme") + public R> list(@Parameter(hidden = true) @RequestParam Map wfFormTheme, Query query) { + IPage pages = wfFormThemeService.page(Condition.getPage(query), Condition.getQueryWrapper(wfFormTheme, WfFormTheme.class)); + return R.data(WfFormThemeWrapper.build().pageVO(pages)); + } + + /** + * 表单 - 主题 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入wfFormTheme") + public R> page(WfFormThemeVO wfFormTheme, Query query) { + IPage pages = wfFormThemeService.selectWfFormThemePage(Condition.getPage(query), wfFormTheme); + return R.data(pages); + } + + /** + * 表单 - 主题 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入wfFormTheme") + public R save(@RequestBody WfFormTheme wfFormTheme) { + return R.status(wfFormThemeService.save(wfFormTheme)); + } + + /** + * 表单 - 主题 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入wfFormTheme") + public R update(@RequestBody WfFormTheme wfFormTheme) { + return R.status(wfFormThemeService.updateById(wfFormTheme)); + } + + /** + * 表单 - 主题 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入wfFormTheme") + public R submit(@RequestBody WfFormTheme wfFormTheme) { + return R.status(wfFormThemeService.saveOrUpdate(wfFormTheme)); + } + + /** + * 表单 - 主题 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfFormThemeService.deleteLogic(Func.toLongList(ids))); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormVariableController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormVariableController.java new file mode 100644 index 0000000..3e74fd2 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfFormVariableController.java @@ -0,0 +1,106 @@ +package org.springblade.plugin.workflow.design.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.design.entity.WfFormVariable; +import org.springblade.plugin.workflow.design.vo.WfFormVariableVO; +import org.springblade.plugin.workflow.design.wrapper.WfFormVariableWrapper; +import org.springblade.plugin.workflow.design.service.IWfFormVariableService; +import org.springblade.core.boot.ctrl.BladeController; +import java.util.Map; + +/** + * 流程表单 - 历史变量 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/form/variable") +@Tag(name = "流程表单 - 历史变量", description = "流程表单 - 历史变量接口") +public class WfFormVariableController extends BladeController { + + private final IWfFormVariableService wfFormVariableService; + + /** + * 流程表单 - 历史变量 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入wfFormVariable") + public R detail(WfFormVariable wfFormVariable) { + WfFormVariable detail = wfFormVariableService.getOne(Condition.getQueryWrapper(wfFormVariable)); + return R.data(WfFormVariableWrapper.build().entityVO(detail)); + } + + /** + * 流程表单 - 历史变量 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入wfFormVariable") + public R> list(@Parameter(hidden = true) @RequestParam Map wfFormVariable, Query query) { + IPage pages = wfFormVariableService.page(Condition.getPage(query), Condition.getQueryWrapper(wfFormVariable, WfFormVariable.class)); + return R.data(WfFormVariableWrapper.build().pageVO(pages)); + } + + /** + * 流程表单 - 历史变量 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入wfFormVariable") + public R> page(WfFormVariableVO wfFormVariable, Query query) { + IPage pages = wfFormVariableService.selectWfFormVariablePage(Condition.getPage(query), wfFormVariable); + return R.data(pages); + } + + /** + * 流程表单 - 历史变量 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入wfFormVariable") + public R save(@RequestBody WfFormVariable wfFormVariable) { + return R.status(wfFormVariableService.save(wfFormVariable)); + } + + /** + * 流程表单 - 历史变量 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入wfFormVariable") + public R update(@RequestBody WfFormVariable wfFormVariable) { + return R.status(wfFormVariableService.updateById(wfFormVariable)); + } + + /** + * 流程表单 - 历史变量 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入wfFormVariable") + public R submit(@RequestBody WfFormVariable wfFormVariable) { + return R.status(wfFormVariableService.saveOrUpdate(wfFormVariable)); + } + + /** + * 流程表单 - 历史变量 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfFormVariableService.deleteLogic(Func.toLongList(ids))); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfListenerController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfListenerController.java new file mode 100644 index 0000000..e3c7608 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfListenerController.java @@ -0,0 +1,107 @@ +package org.springblade.plugin.workflow.design.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.design.entity.WfListenerEntity; +import org.springblade.plugin.workflow.design.vo.WfListenerVO; +import org.springblade.plugin.workflow.design.wrapper.WfListenerWrapper; +import org.springblade.plugin.workflow.design.service.IWfListenerService; +import org.springblade.core.boot.ctrl.BladeController; +import java.util.Map; + +/** + * 任务/执行监听器 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/listener") +@Tag(name = "任务/执行监听器", description = "任务/执行监听器接口") +public class WfListenerController extends BladeController { + + private final IWfListenerService wfListenerService; + + /** + * 任务/执行监听器 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入wfListener") + public R detail(WfListenerEntity wfListener) { + WfListenerEntity detail = wfListenerService.getOne(Condition.getQueryWrapper(wfListener)); + return R.data(WfListenerWrapper.build().entityVO(detail)); + } + /** + * 任务/执行监听器 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入wfListener") + public R> list(@Parameter(hidden = true) @RequestParam Map wfListener, Query query) { + IPage pages = wfListenerService.page(Condition.getPage(query), Condition.getQueryWrapper(wfListener, WfListenerEntity.class)); + return R.data(WfListenerWrapper.build().pageVO(pages)); + } + + /** + * 任务/执行监听器 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入wfListener") + public R> page(WfListenerVO wfListener, Query query) { + IPage pages = wfListenerService.selectWfListenerPage(Condition.getPage(query), wfListener); + return R.data(pages); + } + + /** + * 任务/执行监听器 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入wfListener") + public R save(@RequestBody WfListenerEntity wfListener) { + return R.status(wfListenerService.save(wfListener)); + } + + /** + * 任务/执行监听器 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入wfListener") + public R update(@RequestBody WfListenerEntity wfListener) { + return R.status(wfListenerService.updateById(wfListener)); + } + + /** + * 任务/执行监听器 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入wfListener") + public R submit(@RequestBody WfListenerEntity wfListener) { + return R.status(wfListenerService.saveOrUpdate(wfListener)); + } + + /** + * 任务/执行监听器 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfListenerService.deleteLogic(Func.toLongList(ids))); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelController.java new file mode 100644 index 0000000..cc1987a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelController.java @@ -0,0 +1,135 @@ +package org.springblade.plugin.workflow.design.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import org.flowable.bpmn.exceptions.XMLException; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.constant.BladeConstant; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.design.entity.WfModel; +import org.springblade.plugin.workflow.design.service.IWfModelService; +import org.springblade.plugin.workflow.design.vo.WfModelVO; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +@AllArgsConstructor +@RequestMapping("/design/model") +@Tag(name = "流程模型") +public class WfModelController { + + private final IWfModelService modelService; + + @GetMapping("detail") + @Operation(summary = "详情") + public R detail(WfModel model) { + if (!WfTaskUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) { + model.setTenantId(WfTaskUtil.getTenantId()); + } + return R.data(modelService.detail(model)); + } + + @GetMapping("list") + @Operation(summary = "分页") + public R list(@Parameter(hidden = true) @RequestParam Map model, Query query) { + Object category = model.get("categoryId_equal"); + if (category != null) { + model.put("categoryId_equal", Long.valueOf(category.toString())); + } + if (!WfTaskUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) { + model.put("tenantId_equal", WfTaskUtil.getTenantId()); + } + QueryWrapper wrapper = Condition.getQueryWrapper(model, WfModel.class); + wrapper.select("id,model_key modelKey,name,description,version,category_id categoryId,icon") + .orderByDesc("last_updated"); + IPage pages = modelService.page(Condition.getPage(query), wrapper); + return R.data(pages); + } + + @PostMapping("submit") + @Operation(summary = "新增或修改") + public R submit(@RequestBody WfModelVO model) { + if (StringUtil.isBlank(model.getId())) { + try { + return R.data(modelService.saveModel(model)); + } catch (XMLException xmlException) { + return R.fail("请查看文档配置xss拦截"); + } catch (DuplicateKeyException duplicateKeyException) { + return R.fail(String.format("当前流程key:%s 已存在", model.getModelKey())); + } catch (Exception e) { + return R.fail("未知错误:" + e.getLocalizedMessage()); + } + } else { + try { + return R.data(modelService.updateModel(model)); + } catch (XMLException xmlException) { + return R.fail("请查看文档配置xss拦截"); + } catch (Exception e) { + return R.fail("未知错误:" + e.getLocalizedMessage()); + } + } + } + + @PostMapping("remove") + @Operation(summary = "删除") + public R remove(@RequestBody WfModelVO wfModel) { + modelService.remove(wfModel); + return R.success("操作成功"); + } + + @PostMapping("deploy") + @Operation(summary = "部署") + public R deploy(@RequestBody WfModelVO modelVo) { + WfModel model = modelService.getById(modelVo.getId()); + if (model == null) { + return R.fail("查询不到此模型"); + } + + return R.data(modelService.deploy(modelVo)); + } + + @PostMapping("changeCategory") + @Operation(summary = "修改分类") + @Parameters({ + @Parameter(name = "ids", description = "ids", required = true), + @Parameter(name = "category", description = "分类id", required = true), + }) + public R changeCategory(@Parameter(hidden = true) @RequestBody JSONObject body) { + String ids = body.getString("ids"); + Long categoryId = body.getLong("category"); + if (ObjectUtil.isAnyEmpty(ids, categoryId)) { + return R.fail("参数错误"); + } + modelService.changeCategory(ids, categoryId); + return R.success("修改成功"); + } + + @PostMapping("changeIcon") + @Operation(summary = "修改图标") + @Parameters({ + @Parameter(name = "id", description = "id", required = true), + @Parameter(name = "icon", description = "图标", required = true), + }) + public R changeIcon(@Parameter(hidden = true) @RequestBody JSONObject body) { + String id = body.getString("id"); + String icon = body.getString("icon"); + if (ObjectUtil.isAnyEmpty(id, icon)) { + return R.fail("参数错误"); + } + modelService.changeIcon(id, icon); + return R.success("修改成功"); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelHistoryController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelHistoryController.java new file mode 100644 index 0000000..270064a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelHistoryController.java @@ -0,0 +1,47 @@ +package org.springblade.plugin.workflow.design.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springblade.plugin.workflow.design.entity.WfModelHistory; +import org.springblade.plugin.workflow.design.service.IWfModelHistoryService; +import org.springframework.web.bind.annotation.*; + +@RestController +@AllArgsConstructor +@RequestMapping("/design/model/history") +@Tag(name = "流程模型 - 历史") +public class WfModelHistoryController { + + private final IWfModelHistoryService wfModelHistoryService; + + @GetMapping("list") + @Operation(summary = "分页") + public R list(WfModelHistory modelHistory, Query query) { + IPage pages = wfModelHistoryService.page(Condition.getPage(query), Condition.getQueryWrapper(modelHistory).orderByDesc("version")); + return R.data(pages); + } + + @PostMapping("remove") + @Operation(summary = "删除") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfModelHistoryService.removeByIds(Func.toStrList(ids))); + } + + @PostMapping("setMainVersion") + @Operation(summary = "设置主版本") + @Parameters({ + @Parameter(name = "id", description = "历史模型id"), + }) + public R setMainVersion(@RequestBody WfModelHistory modelHistory) { + return (R) wfModelHistoryService.setMainVersion(modelHistory); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelScopeController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelScopeController.java new file mode 100644 index 0000000..58a780d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfModelScopeController.java @@ -0,0 +1,53 @@ +package org.springblade.plugin.workflow.design.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; + +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.design.vo.WfModelScopeVO; +import org.springframework.web.bind.annotation.*; +import org.springblade.plugin.workflow.design.entity.WfModelScope; +import org.springblade.plugin.workflow.design.service.IWfModelScopeService; +import org.springblade.core.boot.ctrl.BladeController; + +/** + * 流程模型权限 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/model/scope") +@Tag(name = "流程模型权限", description = "流程模型权限接口") +public class WfModelScopeController extends BladeController { + + private final IWfModelScopeService wfModelScopeService; + + @GetMapping("list") + @Operation(summary = "列表") + @Parameters({ + @Parameter(name = "modelId", description = "模型id"), + }) + public R list(@Parameter(hidden = true) WfModelScope modelScope) { + if (ObjectUtil.isAnyEmpty(modelScope.getModelId())) { + return R.fail("参数错误"); + } + return R.data(wfModelScopeService.list(new LambdaQueryWrapper().eq(WfModelScope::getModelId, modelScope.getModelId()))); + } + + + @PostMapping("submit") + @Operation(summary = "保存") + @Parameters({ + @Parameter(name = "modelId", description = "模型id"), + }) + public R submit(@RequestBody WfModelScopeVO wfModelScope) { + wfModelScopeService.submit(wfModelScope); + return R.success("操作成功"); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfSerialController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfSerialController.java new file mode 100644 index 0000000..823f4d5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/controller/WfSerialController.java @@ -0,0 +1,101 @@ + +package org.springblade.plugin.workflow.design.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.design.entity.WfSerial; +import org.springblade.plugin.workflow.design.vo.WfSerialVO; +import org.springblade.plugin.workflow.design.wrapper.WfSerialWrapper; +import org.springblade.plugin.workflow.design.service.IWfSerialService; +import org.springblade.core.boot.ctrl.BladeController; + +/** + * 流程流水号 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/design/serial") +@Tag(name = "流程流水号", description = "流程流水号接口") +public class WfSerialController extends BladeController { + + private final IWfSerialService wfSerialService; + + /** + * 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入wfSerial") + public R detail(WfSerial wfSerial) { + WfSerial detail = wfSerialService.getOne(Condition.getQueryWrapper(wfSerial)); + return R.data(WfSerialWrapper.build().entityVO(detail)); + } + + /** + * 分页 流程流水号 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入wfSerial") + public R> list(WfSerial wfSerial, Query query) { + IPage pages = wfSerialService.page(Condition.getPage(query), Condition.getQueryWrapper(wfSerial)); + return R.data(WfSerialWrapper.build().pageVO(pages)); + } + + + /** + * 新增 流程流水号 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入wfSerial") + public R save(@RequestBody WfSerial wfSerial) { + return R.status(wfSerialService.save(wfSerial)); + } + + /** + * 修改 流程流水号 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入wfSerial") + public R update(@RequestBody WfSerial wfSerial) { + return R.status(wfSerialService.updateById(wfSerial)); + } + + /** + * 新增或修改 流程流水号 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入wfSerial") + public R submit(@RequestBody WfSerial wfSerial) { + return R.status(wfSerialService.saveOrUpdate(wfSerial)); + } + + + /** + * 删除 流程流水号 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfSerialService.deleteLogic(Func.toLongList(ids))); + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfButtonDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfButtonDTO.java new file mode 100644 index 0000000..c33374d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfButtonDTO.java @@ -0,0 +1,21 @@ + +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfButton; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程按钮数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfButtonDTO extends WfButton { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfCategoryDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfCategoryDTO.java new file mode 100644 index 0000000..4aaabfc --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfCategoryDTO.java @@ -0,0 +1,21 @@ + +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfCategory; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程分类数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfCategoryDTO extends WfCategory { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfConditionDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfConditionDTO.java new file mode 100644 index 0000000..7762388 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfConditionDTO.java @@ -0,0 +1,21 @@ + +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfCondition; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程表达式数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfConditionDTO extends WfCondition { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormDefaultValuesDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormDefaultValuesDTO.java new file mode 100644 index 0000000..d96bf15 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormDefaultValuesDTO.java @@ -0,0 +1,21 @@ + +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfFormDefaultValues; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程表单字段默认值数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfFormDefaultValuesDTO extends WfFormDefaultValues { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormHistoryDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormHistoryDTO.java new file mode 100644 index 0000000..84a34a3 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormHistoryDTO.java @@ -0,0 +1,21 @@ + +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfFormHistory; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程表单数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfFormHistoryDTO extends WfFormHistory { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormThemeDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormThemeDTO.java new file mode 100644 index 0000000..3c17add --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormThemeDTO.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfFormTheme; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 表单 - 主题 数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfFormThemeDTO extends WfFormTheme { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormVariableDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormVariableDTO.java new file mode 100644 index 0000000..f9b1d8a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfFormVariableDTO.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfFormVariable; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程表单 - 历史变量 数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfFormVariableDTO extends WfFormVariable { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfListenerDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfListenerDTO.java new file mode 100644 index 0000000..e3d6910 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfListenerDTO.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfListenerEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 任务/执行监听器 数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfListenerDTO extends WfListenerEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfModelScopeDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfModelScopeDTO.java new file mode 100644 index 0000000..f43fde8 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfModelScopeDTO.java @@ -0,0 +1,21 @@ + +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfModelScope; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程模型权限数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfModelScopeDTO extends WfModelScope { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfSerialDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfSerialDTO.java new file mode 100644 index 0000000..25e226c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/dto/WfSerialDTO.java @@ -0,0 +1,21 @@ + +package org.springblade.plugin.workflow.design.dto; + +import org.springblade.plugin.workflow.design.entity.WfSerial; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程流水号数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfSerialDTO extends WfSerial { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfButton.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfButton.java new file mode 100644 index 0000000..dc1bdc0 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfButton.java @@ -0,0 +1,38 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springblade.core.tenant.mp.TenantEntity; + +import java.io.Serial; + +/** + * 流程按钮实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_button") +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfButton对象", description = "流程按钮") +public class WfButton extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "key") + private String buttonKey; + + @Schema(description = "名称") + private String name; + + @Schema(description = "默认是否显示") + private Boolean display; + + @Schema(description = "排序") + private Integer sort; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfCategory.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfCategory.java new file mode 100644 index 0000000..c0ba11e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfCategory.java @@ -0,0 +1,42 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springblade.core.tenant.mp.TenantEntity; + +import java.io.Serial; + +/** + * 流程分类实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_category") +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfCategory对象", description = "流程分类") +public class WfCategory extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 分类名称 + */ + @Schema(description = "分类名称") + private String name; + /** + * 上级id + */ + @Schema(description = "上级id") + private Long pid; + /** + * 排序 + */ + @Schema(description = "排序") + private Integer sort; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfCondition.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfCondition.java new file mode 100644 index 0000000..9cfdc98 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfCondition.java @@ -0,0 +1,43 @@ + +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import org.springblade.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程表达式实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_condition") +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfCondition对象", description = "流程表达式") +public class WfCondition extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 名称 + */ + @Schema(description = "名称") + private String name; + /** + * 表达式 + */ + @Schema(description = "表达式") + private String expression; + /** + * 类型 + */ + @Schema(description = "类型") + private String type; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfDeploymentForm.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfDeploymentForm.java new file mode 100644 index 0000000..895de0b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfDeploymentForm.java @@ -0,0 +1,49 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; + +/** + * 流程部署 - 表单 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("blade_wf_deployment_form") +@Schema(name = "流程部署 - 表单") +public class WfDeploymentForm extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "流程部署id") + private String deploymentId; + + @Schema(description = "表单key") + private String formKey; + + @Schema(description = "表单内容") + private String content; + + @Schema(description = "app表单内容") + private String appContent; + + @Schema(description = "节点key") + private String taskKey; + + @Schema(description = "节点名称") + private String taskName; + + @Schema(description = "表名") + private String tableName; + + @Schema(description = "表注释") + private String tableComment; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfForm.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfForm.java new file mode 100644 index 0000000..f70291c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfForm.java @@ -0,0 +1,49 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +import java.io.Serial; + +/** + * 流程表单 + * + * @author ssc + */ +@Data +@TableName("blade_wf_form") +@EqualsAndHashCode(callSuper = true) +@Schema(name = "流程表单") +public class WfForm extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "表单key") + private String formKey; + + @Schema(description = "表单名称") + private String name; + + @Schema(description = "内容") + private String content; + + @Schema(description = "app内容") + private String appContent; + + @Schema(description = "版本") + private Integer version; + + @Schema(description = "分类id") + @JsonSerialize(using = ToStringSerializer.class) + private Long categoryId; + + @Schema(description = "备注") + private String remark; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormDefaultValues.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormDefaultValues.java new file mode 100644 index 0000000..7a67cf0 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormDefaultValues.java @@ -0,0 +1,34 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springblade.core.tenant.mp.TenantEntity; + +import java.io.Serial; + +/** + * 流程表单字段默认值实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_form_default_values") +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfFormDefaultValues对象", description = "流程表单字段默认值") +public class WfFormDefaultValues extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "名称") + private String name; + + @Schema(description = "内容") + private String content; + + @Schema(description = "字段类型") + private String fieldType; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormHistory.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormHistory.java new file mode 100644 index 0000000..ef5307f --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormHistory.java @@ -0,0 +1,54 @@ + +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import org.springblade.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程表单实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_form_history") +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfFormHistory对象", description = "流程表单") +public class WfFormHistory extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "表单id") + private Long formId; + + @Schema(description = "表单key") + private String formKey; + + @Schema(description = "表单名称") + private String name; + + @Schema(description = "表单内容") + private String content; + + @Schema(description = "app表单内容") + private String appContent; + + @Schema(description = "版本") + private Integer version; + + @Schema(description = "分类id") + @JsonSerialize(using = ToStringSerializer.class) + private Long categoryId; + + @Schema(description = "备注") + private String remark; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormTheme.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormTheme.java new file mode 100644 index 0000000..de65ffa --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormTheme.java @@ -0,0 +1,126 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +/** + * 表单 - 主题 实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_form_theme") +@Schema(name = "WfFormTheme对象", description = "表单 - 主题") +@EqualsAndHashCode(callSuper = true) +public class WfFormTheme extends TenantEntity { + + /** + * 名称 + */ + @Schema(description = "名称") + private String name; + /** + * 主题key + */ + @Schema(description = "主题key") + private String themeKey; + /** + * 边框宽度 + */ + @Schema(description = "边框宽度") + private String borderWidth; + /** + * 边框颜色 + */ + @Schema(description = "边框颜色") + private String borderColor; + /** + * label字体颜色 + */ + @Schema(description = "label字体颜色") + private String labelColor; + /** + * label背景颜色 + */ + @Schema(description = "label背景颜色") + private String labelBg; + /** + * label宽度 + */ + @Schema(description = "label宽度") + private String labelWidth; + /** + * label字体大小 + */ + @Schema(description = "label字体大小") + private String labelFontSize; + /** + * value字体颜色 + */ + @Schema(description = "value字体颜色") + private String valueColor; + /** + * value背景颜色 + */ + @Schema(description = "value背景颜色") + private String valueBg; + /** + * value字体大小 + */ + @Schema(description = "value字体大小") + private String valueFontSize; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field0; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field1; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field2; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field3; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field4; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field5; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field6; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field7; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field8; + /** + * 预留字段 + */ + @Schema(description = "预留字段") + private String field9; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormVariable.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormVariable.java new file mode 100644 index 0000000..ba4ab4c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfFormVariable.java @@ -0,0 +1,56 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +/** + * 流程表单 - 历史变量 实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_form_variable") +@Schema(name = "WfFormVariable对象", description = "流程表单 - 历史变量") +@EqualsAndHashCode(callSuper = true) +public class WfFormVariable extends TenantEntity { + + /** + * 流程实例id + */ + @Schema(description = "流程实例id") + private String processInsId; + /** + * 流程部署id + */ + @Schema(description = "流程部署id") + private String deploymentId; + /** + * 任务id + */ + @Schema(description = "任务id") + private String taskId; + /** + * 任务节点key + */ + @Schema(description = "任务节点key") + private String taskDefKey; + /** + * 任务节点名称 + */ + @Schema(description = "任务节点名称") + private String taskName; + /** + * 表单js + */ + @Schema(description = "表单js") + private String formOption; + /** + * 表单值 + */ + @Schema(description = "表单值") + private String formVariable; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfListenerEntity.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfListenerEntity.java new file mode 100644 index 0000000..2827b52 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfListenerEntity.java @@ -0,0 +1,42 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import java.util.Date; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +/** + * 任务/执行监听器 实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_listener") +@Schema(name = "WfListener对象", description = "任务/执行监听器") +@EqualsAndHashCode(callSuper = true) +public class WfListenerEntity extends TenantEntity { + + /** + * 分类 1任务 2执行 + */ + @Schema(description = "分类 1任务 2执行") + private String category; + /** + * 事件 + */ + @Schema(description = "事件") + private String event; + /** + * 监听类型 + */ + @Schema(description = "监听类型") + private String type; + /** + * 值 + */ + @Schema(description = "值") + private String val; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModel.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModel.java new file mode 100644 index 0000000..77fad13 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModel.java @@ -0,0 +1,88 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * 流程模型定义 + * + * @author ssc + */ +@Data +@TableName("ACT_DE_MODEL") +@Schema(name = "流程模型定义") +public class WfModel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + public static final int MODEL_TYPE_BPMN = 0; + public static final int MODEL_TYPE_FORM = 2; + public static final int MODEL_TYPE_APP = 3; + public static final int MODEL_TYPE_DECISION_TABLE = 4; + public static final int MODEL_TYPE_CMMN = 5; + + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + @Schema(description = "模型名称") + private String name; + + @Schema(description = "模型key") + private String modelKey; + + @Schema(description = "表单key") + private String formKey; + + @Schema(description = "分类id") + @JsonSerialize(using = ToStringSerializer.class) + private Long categoryId; + + @Schema(description = "模型描述") + private String description; + + @Schema(description = "创建时间") + private Date created; + @Schema(description = "更新时间") + private Date lastUpdated; + + @Schema(description = "创建人") + private String createdBy; + + @Schema(description = "更新人") + private String lastUpdatedBy; + + @Schema(description = "版本") + private Integer version; + + @Schema(description = "模型编辑器json,可用于flowable-ui") + private String modelEditorJson; + + @Schema(description = "模型评论") + private String modelComment; + + @Schema(description = "模型类型") + private Integer modelType; + + @Schema(description = "租户id") + private String tenantId; + + @Schema(description = "缩略图") + private byte[] thumbnail; + + @Schema(description = "流程设计器xml") + private String modelXml; + + @Schema(description = "图标") + private String icon; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModelHistory.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModelHistory.java new file mode 100644 index 0000000..3d764dd --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModelHistory.java @@ -0,0 +1,83 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * 流程模型定义历史 + * + * @author ssc + */ +@Data +@TableName("ACT_DE_MODEL_HISTORY") +@Schema(name = "流程模型定义历史") +public class WfModelHistory implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + @Schema(description = "模型名称") + private String name; + + @Schema(description = "模型key") + private String modelKey; + + @Schema(description = "表单key") + private String formKey; + + @Schema(description = "分类id") + @JsonSerialize(using = ToStringSerializer.class) + private Long categoryId; + + @Schema(description = "模型描述") + private String description; + + @Schema(description = "模型评论") + private String modelComment; + + @Schema(description = "创建时间") + private Date created; + + @Schema(description = "更新时间") + private Date lastUpdated; + + @Schema(description = "创建人") + private String createdBy; + + @Schema(description = "更新人") + private String lastUpdatedBy; + + @Schema(description = "版本") + private Integer version; + + @Schema(description = "模型类型") + private Integer modelType; + + @Schema(description = "移除时间") + private Date removalDate; + + @Schema(description = "流程设计器xml") + private String modelXml; + + @Schema(description = "模型编辑器json,可用于flowable-ui") + private String modelEditorJson; + + @Schema(description = "模型id") + private String modelId; + + @Schema(description = "租户id") + private String tenantId; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModelScope.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModelScope.java new file mode 100644 index 0000000..15a9d5e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfModelScope.java @@ -0,0 +1,47 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 流程模型权限实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_model_scope") +@Schema(name = "WfModelScope对象", description = "流程模型权限") +public class WfModelScope implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @Schema(description = "模型id") + private String modelId; + + @Schema(description = "模型key") + private String modelKey; + + @Schema(description = "类型 user用户 role角色 dept部门 post职位") + private String type; + + @Schema(description = "用户/角色/部门/职位 id集合") + private String val; + + @Schema(description = "用户/角色/部门/职位 name集合") + private String text; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfProcessDef.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfProcessDef.java new file mode 100644 index 0000000..a19eccb --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfProcessDef.java @@ -0,0 +1,85 @@ +package org.springblade.plugin.workflow.design.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntityImpl; + +import java.io.Serializable; +import java.util.Date; + +/** + * 流程定义 + */ +@Data +@Schema(name = "流程定义") +public class WfProcessDef implements Serializable { + + private String id; + + @Schema(description = "租户id") + private String tenantId; + + @Schema(description = "流程名称") + private String name; + + @Schema(description = "流程key") + private String key; + + @Schema(description = "流程分类") + private String category; + + @Schema(description = "流程状态") + private Integer status; + + @Schema(description = "版本") + private Integer version; + + @Schema(description = "部署时间") + private Date deployTime; + + @Schema(description = "部署id") + private String deploymentId; + + @Schema(description = "表单key") + private String formKey; + + @Schema(description = "表单url") + private String formUrl; + + @Schema(description = "app表单url") + private String appFormUrl; + + @Schema(description = "开启流程权限") + private Boolean scope; + + @Schema(description = "默认抄送人") + private String copyUser; + + @Schema(description = "默认抄送人名称") + private String copyUserName; + + @Schema(description = "隐藏抄送人选项") + private Boolean hideCopy; + + @Schema(description = "隐藏选择下一步审核人选项") + private Boolean hideExamine; + + @Schema(description = "平台") + private String platform; + + @Schema(description = "图标") + private String icon; + + public WfProcessDef() { + } + + public WfProcessDef(ProcessDefinitionEntityImpl entity) { + this.id = entity.getId(); + this.tenantId = entity.getTenantId(); + this.name = entity.getName(); + this.key = entity.getKey(); + this.category = entity.getCategory(); + this.status = entity.getSuspensionState(); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfSerial.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfSerial.java new file mode 100644 index 0000000..fd4048c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/entity/WfSerial.java @@ -0,0 +1,53 @@ +package org.springblade.plugin.workflow.design.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import org.springblade.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程流水号实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_serial") +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfSerial对象", description = "流程流水号") +public class WfSerial extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "部署id") + private String deploymentId; + + @Schema(description = "名称") + private String name; + + @Schema(description = "前缀") + private String prefix; + + @Schema(description = "日期格式化") + private String dateFormat; + + @Schema(description = "后缀位数") + private Integer suffixLength; + + @Schema(description = "初始数值") + private Integer startSequence; + + @Schema(description = "连接符") + private String connector; + + @Schema(description = "当前序列") + private Integer currentSequence; + + @Schema(description = "重置周期 none不重置 day天 week周 month月 year年") + private String cycle; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfButtonMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfButtonMapper.java new file mode 100644 index 0000000..6de2a2c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfButtonMapper.java @@ -0,0 +1,27 @@ + +package org.springblade.plugin.workflow.design.mapper; + +import org.springblade.plugin.workflow.design.entity.WfButton; +import org.springblade.plugin.workflow.design.vo.WfButtonVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 流程按钮 Mapper 接口 + * + * @author ssc + */ +public interface WfButtonMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param wfButton + * @return + */ + List selectWfButtonPage(IPage page, WfButtonVO wfButton); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfButtonMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfButtonMapper.xml new file mode 100644 index 0000000..da90b23 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfButtonMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfCategoryMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfCategoryMapper.java new file mode 100644 index 0000000..05d1e6c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfCategoryMapper.java @@ -0,0 +1,27 @@ + +package org.springblade.plugin.workflow.design.mapper; + +import org.springblade.plugin.workflow.design.entity.WfCategory; +import org.springblade.plugin.workflow.design.vo.WfCategoryVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 流程分类 Mapper 接口 + * + * @author ssc + */ +public interface WfCategoryMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param wfCategory + * @return + */ + List selectWfCategoryPage(IPage page, WfCategoryVO wfCategory); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfCategoryMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfCategoryMapper.xml new file mode 100644 index 0000000..e7d4247 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfCategoryMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfConditionMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfConditionMapper.java new file mode 100644 index 0000000..e081f2b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfConditionMapper.java @@ -0,0 +1,27 @@ + +package org.springblade.plugin.workflow.design.mapper; + +import org.springblade.plugin.workflow.design.entity.WfCondition; +import org.springblade.plugin.workflow.design.vo.WfConditionVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 流程表达式 Mapper 接口 + * + * @author ssc + */ +public interface WfConditionMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param wfCondition + * @return + */ + List selectWfConditionPage(IPage page, WfConditionVO wfCondition); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfConditionMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfConditionMapper.xml new file mode 100644 index 0000000..c36623c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfConditionMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfDeploymentFormMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfDeploymentFormMapper.java new file mode 100644 index 0000000..2dde611 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfDeploymentFormMapper.java @@ -0,0 +1,11 @@ +package org.springblade.plugin.workflow.design.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.plugin.workflow.design.entity.WfDeploymentForm; + +/** + * Mapper 接口 + */ +public interface WfDeploymentFormMapper extends BaseMapper { + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfDeploymentFormMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfDeploymentFormMapper.xml new file mode 100644 index 0000000..57d1546 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfDeploymentFormMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormDefaultValuesMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormDefaultValuesMapper.java new file mode 100644 index 0000000..d4bd136 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormDefaultValuesMapper.java @@ -0,0 +1,27 @@ + +package org.springblade.plugin.workflow.design.mapper; + +import org.springblade.plugin.workflow.design.entity.WfFormDefaultValues; +import org.springblade.plugin.workflow.design.vo.WfFormDefaultValuesVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 流程表单字段默认值 Mapper 接口 + * + * @author ssc + */ +public interface WfFormDefaultValuesMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param wfFormDefaultValues + * @return + */ + List selectWfFormDefaultValuesPage(IPage page, WfFormDefaultValuesVO wfFormDefaultValues); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormDefaultValuesMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormDefaultValuesMapper.xml new file mode 100644 index 0000000..6ce8ac9 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormDefaultValuesMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormHistoryMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormHistoryMapper.java new file mode 100644 index 0000000..b62c3c5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormHistoryMapper.java @@ -0,0 +1,30 @@ + +package org.springblade.plugin.workflow.design.mapper; + +import org.apache.ibatis.annotations.Param; +import org.springblade.plugin.workflow.design.entity.WfFormHistory; +import org.springblade.plugin.workflow.design.vo.WfFormHistoryVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 流程表单 Mapper 接口 + * + * @author ssc + */ +public interface WfFormHistoryMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param wfFormHistory + * @return + */ + List selectWfFormHistoryPage(IPage page, WfFormHistoryVO wfFormHistory); + + void removeByFormId(@Param("id") Long id); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormHistoryMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormHistoryMapper.xml new file mode 100644 index 0000000..a1796e9 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormHistoryMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + DELETE + FROM blade_wf_form_history + WHERE form_id = #{id} + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormMapper.java new file mode 100644 index 0000000..0e9d60d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormMapper.java @@ -0,0 +1,13 @@ +package org.springblade.plugin.workflow.design.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.plugin.workflow.design.entity.WfForm; + +/** + * Mapper 接口 + * + * @since 2020-10-28 + */ +public interface WfFormMapper extends BaseMapper { + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormMapper.xml new file mode 100644 index 0000000..07cab36 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormThemeMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormThemeMapper.java new file mode 100644 index 0000000..f36ab9a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormThemeMapper.java @@ -0,0 +1,25 @@ +package org.springblade.plugin.workflow.design.mapper; + +import org.springblade.plugin.workflow.design.entity.WfFormTheme; +import org.springblade.plugin.workflow.design.vo.WfFormThemeVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * 表单 - 主题 Mapper 接口 + * + * @author ssc + */ +public interface WfFormThemeMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param wfFormTheme + * @return + */ + List selectWfFormThemePage(IPage page, WfFormThemeVO wfFormTheme); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormThemeMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormThemeMapper.xml new file mode 100644 index 0000000..6f3b16f --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormThemeMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormVariableMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormVariableMapper.java new file mode 100644 index 0000000..6e009f9 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormVariableMapper.java @@ -0,0 +1,26 @@ +package org.springblade.plugin.workflow.design.mapper; + +import org.springblade.plugin.workflow.design.entity.WfFormVariable; +import org.springblade.plugin.workflow.design.vo.WfFormVariableVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 流程表单 - 历史变量 Mapper 接口 + * + * @author ssc + */ +public interface WfFormVariableMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param wfFormVariable + * @return + */ + List selectWfFormVariablePage(IPage page, WfFormVariableVO wfFormVariable); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormVariableMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormVariableMapper.xml new file mode 100644 index 0000000..a55aa91 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfFormVariableMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfListenerMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfListenerMapper.java new file mode 100644 index 0000000..a34bb2e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfListenerMapper.java @@ -0,0 +1,25 @@ +package org.springblade.plugin.workflow.design.mapper; + +import org.springblade.plugin.workflow.design.entity.WfListenerEntity; +import org.springblade.plugin.workflow.design.vo.WfListenerVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * 任务/执行监听器 Mapper 接口 + * + * @author ssc + */ +public interface WfListenerMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param wfListener + * @return + */ + List selectWfListenerPage(IPage page, WfListenerVO wfListener); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfListenerMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfListenerMapper.xml new file mode 100644 index 0000000..2819ec4 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfListenerMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelHistoryMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelHistoryMapper.java new file mode 100644 index 0000000..0b76b49 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelHistoryMapper.java @@ -0,0 +1,13 @@ +package org.springblade.plugin.workflow.design.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springblade.plugin.workflow.design.entity.WfModelHistory; + +/** + * Mapper 接口 + */ +public interface WfModelHistoryMapper extends BaseMapper { + + void removeByModelId(@Param("id") String id); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelHistoryMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelHistoryMapper.xml new file mode 100644 index 0000000..97f9320 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelHistoryMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + DELETE + FROM ACT_DE_MODEL_HISTORY + WHERE model_id = #{id} + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelMapper.java new file mode 100644 index 0000000..bdbccd9 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelMapper.java @@ -0,0 +1,15 @@ +package org.springblade.plugin.workflow.design.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; +import org.springblade.plugin.workflow.design.entity.WfModel; + +/** + * Mapper 接口 + */ +public interface WfModelMapper extends BaseMapper { + + @Update("UPDATE ACT_RE_PROCDEF SET CATEGORY_ = #{category} where DEPLOYMENT_ID_ = #{deploymentId}") + void changeProcDefCategory(@Param("deploymentId") String deploymentId, @Param("category") String category); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelMapper.xml new file mode 100644 index 0000000..74ca7bf --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelScopeMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelScopeMapper.java new file mode 100644 index 0000000..8afd2d4 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelScopeMapper.java @@ -0,0 +1,17 @@ +package org.springblade.plugin.workflow.design.mapper; + +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Param; +import org.springblade.plugin.workflow.design.entity.WfModelScope; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 流程模型权限 Mapper 接口 + * + * @author ssc + */ +public interface WfModelScopeMapper extends BaseMapper { + + @Delete("DELETE FROM ACT_RU_IDENTITYLINK WHERE PROC_DEF_ID_ = #{processDefId}") + void deleteIdentityLinkByDefId(@Param("processDefId") String processDefId); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelScopeMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelScopeMapper.xml new file mode 100644 index 0000000..f199aa5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfModelScopeMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfSerialMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfSerialMapper.java new file mode 100644 index 0000000..72e1556 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfSerialMapper.java @@ -0,0 +1,17 @@ +package org.springblade.plugin.workflow.design.mapper; + +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; +import org.springblade.plugin.workflow.design.entity.WfSerial; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 流程流水号 Mapper 接口 + * + * @author ssc + */ +public interface WfSerialMapper extends BaseMapper { + + @Update("UPDATE blade_wf_serial SET current_sequence = start_sequence WHERE cycle = #{cycle}") + void resetSN(@Param("cycle") String cycle); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfSerialMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfSerialMapper.xml new file mode 100644 index 0000000..3aa3cf4 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/mapper/WfSerialMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfButtonService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfButtonService.java new file mode 100644 index 0000000..5dc0aa1 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfButtonService.java @@ -0,0 +1,30 @@ + +package org.springblade.plugin.workflow.design.service; + +import org.springblade.plugin.workflow.design.entity.WfButton; +import org.springblade.plugin.workflow.design.vo.WfButtonVO; +import org.springblade.core.mp.base.BaseService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; +import java.util.concurrent.Future; + +/** + * 流程按钮 服务类 + * + * @author ssc + */ +public interface IWfButtonService extends BaseService { + + /** + * 自定义分页 + * + * @param page + * @param wfButton + * @return + */ + IPage selectWfButtonPage(IPage page, WfButtonVO wfButton); + + Future> getButtonByTaskId(String taskId); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfCategoryService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfCategoryService.java new file mode 100644 index 0000000..b0d526a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfCategoryService.java @@ -0,0 +1,31 @@ + +package org.springblade.plugin.workflow.design.service; + +import org.springblade.plugin.workflow.design.entity.WfCategory; +import org.springblade.plugin.workflow.design.vo.WfCategoryVO; +import org.springblade.core.mp.base.BaseService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 流程分类 服务类 + * + * @author ssc + */ +public interface IWfCategoryService extends BaseService { + + /** + * 自定义分页 + * + * @param page + * @param wfCategory + * @return + */ + IPage selectWfCategoryPage(IPage page, WfCategoryVO wfCategory); + + List tree(); + + List allTree(); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfConditionService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfConditionService.java new file mode 100644 index 0000000..039d539 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfConditionService.java @@ -0,0 +1,25 @@ + +package org.springblade.plugin.workflow.design.service; + +import org.springblade.plugin.workflow.design.entity.WfCondition; +import org.springblade.plugin.workflow.design.vo.WfConditionVO; +import org.springblade.core.mp.base.BaseService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +/** + * 流程表达式 服务类 + * + * @author ssc + */ +public interface IWfConditionService extends BaseService { + + /** + * 自定义分页 + * + * @param page + * @param wfCondition + * @return + */ + IPage selectWfConditionPage(IPage page, WfConditionVO wfCondition); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfDeploymentFormService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfDeploymentFormService.java new file mode 100644 index 0000000..eb4a5a3 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfDeploymentFormService.java @@ -0,0 +1,13 @@ +package org.springblade.plugin.workflow.design.service; + +import org.springblade.core.mp.base.BaseService; +import org.springblade.plugin.workflow.design.entity.WfDeploymentForm; + +/** + * 部署表单 服务类 + * + * @author ssc + */ +public interface IWfDeploymentFormService extends BaseService { + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfDesignService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfDesignService.java new file mode 100644 index 0000000..5e8ec73 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfDesignService.java @@ -0,0 +1,21 @@ +package org.springblade.plugin.workflow.design.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.springblade.core.mp.support.Query; +import org.springblade.plugin.workflow.design.entity.WfModel; +import org.springblade.plugin.workflow.design.entity.WfProcessDef; + +/** + * 服务类 + */ +public interface IWfDesignService extends IService { + + IPage deploymentPage(WfProcessDef processDef, Query query); + + void changeDeploymentStatus(String processId, String status); + + void changeDeploymentCategory(String deploymentId, String category); + + void deleteDeployment(String deploymentId); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormDefaultValuesService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormDefaultValuesService.java new file mode 100644 index 0000000..2e00833 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormDefaultValuesService.java @@ -0,0 +1,14 @@ +package org.springblade.plugin.workflow.design.service; + +import org.springblade.plugin.workflow.design.entity.WfFormDefaultValues; +import org.springblade.core.mp.base.BaseService; + +/** + * 流程表单字段默认值 服务类 + * + * @author ssc + */ +public interface IWfFormDefaultValuesService extends BaseService { + + Object listType(); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormHistoryService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormHistoryService.java new file mode 100644 index 0000000..584c243 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormHistoryService.java @@ -0,0 +1,14 @@ +package org.springblade.plugin.workflow.design.service; + +import org.springblade.plugin.workflow.design.entity.WfFormHistory; +import org.springblade.core.mp.base.BaseService; + +/** + * 流程表单 服务类 + * + * @author ssc + */ +public interface IWfFormHistoryService extends BaseService { + + Object setMainVersion(WfFormHistory formHistory); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormService.java new file mode 100644 index 0000000..3786776 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormService.java @@ -0,0 +1,59 @@ +package org.springblade.plugin.workflow.design.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.flowable.bpmn.model.FlowElement; +import org.springblade.core.mp.base.BaseService; +import org.springblade.plugin.workflow.design.entity.WfDeploymentForm; +import org.springblade.plugin.workflow.design.entity.WfForm; +import org.springblade.plugin.workflow.design.vo.WfFormVO; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Future; + +/** + * 服务类 + * + * @since 2020-10-28 + */ +public interface IWfFormService extends BaseService { + + /** + * 详情查询 + */ + WfForm getOne(WfForm wfForm); + + /** + * 列表查询 + */ + IPage page(IPage page, WfForm wfForm); + + /** + * select下拉使用 + */ + List list(WfForm wfForm); + + Map getFormByProcessDefKey(String processDefKey); + + Map getFormByProcessDefId(String processDefId); + + Future> getFormByTaskId(String taskId); + + Object create(WfForm form); + + WfForm edit(WfFormVO form); + + void remove(WfFormVO form); + + void saveDeploymentForm(String formKey, String deployId, String tenantId); + + void saveDeploymentForm(String formKey, String deployId, String tenantId, List forms); + + void saveIndepDeploymentForm(Collection elements, String deployId, String tenantId); + + void saveIndepDeploymentForm(Collection elements, String deployId, String tenantId, List forms); + + void changeCategory(String ids, Long categoryId); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormThemeService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormThemeService.java new file mode 100644 index 0000000..3c151a3 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormThemeService.java @@ -0,0 +1,24 @@ +package org.springblade.plugin.workflow.design.service; + +import org.springblade.plugin.workflow.design.entity.WfFormTheme; +import org.springblade.plugin.workflow.design.vo.WfFormThemeVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +/** + * 表单 - 主题 服务类 + * + * @author ssc + */ +public interface IWfFormThemeService extends BaseService { + /** + * 自定义分页 + * + * @param page + * @param wfFormTheme + * @return + */ + IPage selectWfFormThemePage(IPage page, WfFormThemeVO wfFormTheme); + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormVariableService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormVariableService.java new file mode 100644 index 0000000..c9b4129 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfFormVariableService.java @@ -0,0 +1,35 @@ +package org.springblade.plugin.workflow.design.service; + +import org.flowable.bpmn.model.StartEvent; +import org.flowable.task.api.Task; +import org.springblade.plugin.workflow.design.entity.WfFormVariable; +import org.springblade.plugin.workflow.design.vo.WfFormVariableVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +import javax.annotation.Nullable; +import java.util.Map; + +/** + * 流程表单 - 历史变量 服务类 + * + * @author ssc + */ +public interface IWfFormVariableService extends BaseService { + + /** + * 自定义分页 + */ + IPage selectWfFormVariablePage(IPage page, WfFormVariableVO wfFormVariable); + + /** + * 保存表单变量 + * + * @param processInsId 流程实例id + * @param task 任务实例 + * @param startEvent 开始节点 + * @param variables 变量 + * @param createUser 创建人 + */ + void saveFormVariable(String processInsId, @Nullable Task task, StartEvent startEvent, Map variables, Long createUser); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfListenerService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfListenerService.java new file mode 100644 index 0000000..41bfc81 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfListenerService.java @@ -0,0 +1,23 @@ +package org.springblade.plugin.workflow.design.service; + +import org.springblade.plugin.workflow.design.entity.WfListenerEntity; +import org.springblade.plugin.workflow.design.vo.WfListenerVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +/** + * 任务/执行监听器 服务类 + * + * @author ssc + */ +public interface IWfListenerService extends BaseService { + /** + * 自定义分页 + * + * @param page + * @param wfListener + * @return + */ + IPage selectWfListenerPage(IPage page, WfListenerVO wfListener); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelHistoryService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelHistoryService.java new file mode 100644 index 0000000..b25390d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelHistoryService.java @@ -0,0 +1,15 @@ +package org.springblade.plugin.workflow.design.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.flowable.engine.repository.Deployment; +import org.springblade.plugin.workflow.design.entity.WfModel; +import org.springblade.plugin.workflow.design.entity.WfModelHistory; +import org.springblade.plugin.workflow.design.vo.WfModelVO; + +/** + * 服务类 + */ +public interface IWfModelHistoryService extends IService { + + Object setMainVersion(WfModelHistory modelHistory); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelScopeService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelScopeService.java new file mode 100644 index 0000000..6cc2043 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelScopeService.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.design.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.springblade.plugin.workflow.design.entity.WfModelScope; +import org.springblade.plugin.workflow.design.vo.WfModelScopeVO; + +/** + * 流程模型权限 服务类 + * + * @author ssc + */ +public interface IWfModelScopeService extends IService { + + void submit(WfModelScopeVO wfModelScope); + + void saveDeploymentScope(String modelId, String deploymentId); + + void deleteByModelId(String modelId); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelService.java new file mode 100644 index 0000000..e3bb783 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfModelService.java @@ -0,0 +1,27 @@ +package org.springblade.plugin.workflow.design.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.flowable.engine.repository.Deployment; +import org.springblade.plugin.workflow.design.entity.WfModel; +import org.springblade.plugin.workflow.design.vo.WfModelVO; + +/** + * 服务类 + */ +public interface IWfModelService extends IService { + + WfModelVO detail(WfModel model); + + WfModel saveModel(WfModel model); + + WfModel updateModel(WfModelVO model); + + Deployment deploy(WfModelVO model); + + void remove(WfModelVO model); + + void changeCategory(String ids, Long categoryId); + + void changeIcon(String id, String icon); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfSerialService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfSerialService.java new file mode 100644 index 0000000..a7c6540 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/IWfSerialService.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.design.service; + +import org.flowable.bpmn.model.BpmnModel; +import org.springblade.plugin.workflow.design.entity.WfSerial; +import org.springblade.core.mp.base.BaseService; + +/** + * 流程流水号 服务类 + * + * @author ssc + */ +public interface IWfSerialService extends BaseService { + + void create(BpmnModel model, String deploymentId); + + String getNextSN(BpmnModel model, String deploymentId); + + void resetSN(String type); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfButtonServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfButtonServiceImpl.java new file mode 100644 index 0000000..2139206 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfButtonServiceImpl.java @@ -0,0 +1,80 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import lombok.AllArgsConstructor; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.ExtensionAttribute; +import org.flowable.bpmn.model.ExtensionElement; +import org.flowable.engine.HistoryService; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.repository.ProcessDefinition; +import org.flowable.task.api.history.HistoricTaskInstance; +import org.springblade.plugin.workflow.core.cache.WfProcessCache; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.design.entity.WfButton; +import org.springblade.plugin.workflow.design.vo.WfButtonVO; +import org.springblade.plugin.workflow.design.mapper.WfButtonMapper; +import org.springblade.plugin.workflow.design.service.IWfButtonService; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.AsyncResult; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Future; + +/** + * 流程按钮 服务实现类 + * + * @author ssc + */ +@Service +@AllArgsConstructor +public class WfButtonServiceImpl extends BaseServiceImpl implements IWfButtonService { + + private final HistoryService historyService; + private final RepositoryService repositoryService; + + @Override + public IPage selectWfButtonPage(IPage page, WfButtonVO wfButton) { + return page.setRecords(baseMapper.selectWfButtonPage(page, wfButton)); + } + + @Async + @Override + public Future> getButtonByTaskId(String taskId) { + HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery() + .taskId(taskId) + .singleResult(); + + if (task == null) { + return new AsyncResult<>(new ArrayList<>()); + } + + ProcessDefinition processDefinition = WfProcessCache.getProcessDefinition(task.getProcessDefinitionId()); + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinition.getId()); + List elementList = WfModelUtil.getUserTaskExtensionElements(task.getTaskDefinitionKey(), bpmnModel, WfExtendConstant.BUTTON); + if (elementList == null || elementList.size() == 0) { + return new AsyncResult<>(new ArrayList<>()); + } + + List buttonList = new ArrayList<>(); + elementList.forEach(ele -> { + WfButton button = new WfButton(); + Map> attributes = ele.getAttributes(); + boolean display = Boolean.parseBoolean(attributes.get("display").get(0).getValue()); + + if (display) { + button.setName(attributes.get("label").get(0).getValue()); + button.setButtonKey(attributes.get("prop").get(0).getValue()); + buttonList.add(button); + } + }); + + return new AsyncResult<>(buttonList); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfCategoryServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfCategoryServiceImpl.java new file mode 100644 index 0000000..a3df178 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfCategoryServiceImpl.java @@ -0,0 +1,73 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springblade.plugin.workflow.design.entity.WfCategory; +import org.springblade.plugin.workflow.design.vo.WfCategoryVO; +import org.springblade.plugin.workflow.design.mapper.WfCategoryMapper; +import org.springblade.plugin.workflow.design.service.IWfCategoryService; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.plugin.workflow.design.wrapper.WfCategoryWrapper; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 流程分类 服务实现类 + * + * @author ssc + */ +@Service +public class WfCategoryServiceImpl extends BaseServiceImpl implements IWfCategoryService { + + @Override + public IPage selectWfCategoryPage(IPage page, WfCategoryVO wfCategory) { + return page.setRecords(baseMapper.selectWfCategoryPage(page, wfCategory)); + } + + @Override + public List tree() { + List list = WfCategoryWrapper.build().listVO(this.list(new LambdaQueryWrapper() + .orderByAsc(WfCategory::getSort) + .eq(WfCategory::getStatus, "1"))); + + Map> categoryMap = list.stream().collect(Collectors.groupingBy(WfCategoryVO::getPid)); + + return getCategoryTree(0L, categoryMap); + } + + @Override + public List allTree() { + List list = WfCategoryWrapper.build().listVO(this.list(new LambdaQueryWrapper() + .orderByAsc(WfCategory::getSort))); + + Map> categoryMap = list.stream().collect(Collectors.groupingBy(WfCategoryVO::getPid)); + + return getCategoryTree(0L, categoryMap); + } + + private List getCategoryTree(Long parentId, Map> categoryMap) { + List list = new ArrayList<>(); + List categoryList = categoryMap.get(parentId); + if (categoryList != null && categoryList.size() > 0) { + categoryList.forEach(category -> { + WfCategoryVO vo = new WfCategoryVO(); + List children = getCategoryTree(category.getId(), categoryMap); + if (children.size() > 0) { + vo.setChildren(children); + } + vo.setId(category.getId()); + vo.setPid(parentId); + vo.setName(category.getName()); + vo.setSort(category.getSort()); + vo.setStatus(category.getStatus()); + list.add(vo); + }); + } + return list; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfConditionServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfConditionServiceImpl.java new file mode 100644 index 0000000..646b909 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfConditionServiceImpl.java @@ -0,0 +1,25 @@ + +package org.springblade.plugin.workflow.design.service.impl; + +import org.springblade.plugin.workflow.design.entity.WfCondition; +import org.springblade.plugin.workflow.design.vo.WfConditionVO; +import org.springblade.plugin.workflow.design.mapper.WfConditionMapper; +import org.springblade.plugin.workflow.design.service.IWfConditionService; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; + +/** + * 流程表达式 服务实现类 + * + * @author ssc + */ +@Service +public class WfConditionServiceImpl extends BaseServiceImpl implements IWfConditionService { + + @Override + public IPage selectWfConditionPage(IPage page, WfConditionVO wfCondition) { + return page.setRecords(baseMapper.selectWfConditionPage(page, wfCondition)); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfDeploymentFormServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfDeploymentFormServiceImpl.java new file mode 100644 index 0000000..fe573be --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfDeploymentFormServiceImpl.java @@ -0,0 +1,17 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.plugin.workflow.design.entity.WfDeploymentForm; +import org.springblade.plugin.workflow.design.mapper.WfDeploymentFormMapper; +import org.springblade.plugin.workflow.design.service.IWfDeploymentFormService; +import org.springframework.stereotype.Service; + +/** + * 部署表单 服务实现类 + * + * @author ssc + */ +@Service +public class WfDeploymentFormServiceImpl extends BaseServiceImpl implements IWfDeploymentFormService { + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfDesignServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfDesignServiceImpl.java new file mode 100644 index 0000000..f83f690 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfDesignServiceImpl.java @@ -0,0 +1,203 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.ExtensionAttribute; +import org.flowable.common.engine.impl.db.SuspensionState; +import org.flowable.engine.ProcessEngineConfiguration; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntityImpl; +import org.flowable.engine.repository.Deployment; +import org.flowable.engine.repository.ProcessDefinition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.query.WfProcessDefinitionQuery; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.design.entity.*; +import org.springblade.plugin.workflow.design.mapper.WfDeploymentFormMapper; +import org.springblade.plugin.workflow.design.mapper.WfFormVariableMapper; +import org.springblade.plugin.workflow.design.mapper.WfModelMapper; +import org.springblade.plugin.workflow.design.mapper.WfSerialMapper; +import org.springblade.plugin.workflow.design.service.IWfDesignService; +import org.springblade.plugin.workflow.process.entity.WfCopy; +import org.springblade.plugin.workflow.process.mapper.WfCopyMapper; +import org.springblade.plugin.workflow.process.service.IWfLowcodeService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + +/** + * 服务实现类 + */ +@Service +@AllArgsConstructor +public class WfDesignServiceImpl extends ServiceImpl implements IWfDesignService { + + private final WfDeploymentFormMapper wfDeploymentFormMapper; + private final WfSerialMapper wfSerialMapper; + private final WfCopyMapper wfCopyMapper; + private final WfFormVariableMapper wfFormVariableMapper; + private final RepositoryService repositoryService; + private final ProcessEngineConfiguration processEngineConfiguration; + + private final IWfLowcodeService wfLowcodeService; + + @Override + public IPage deploymentPage(WfProcessDef process, Query query) { + IPage page = new Page<>(); + + WfProcessDefinitionQuery processDefinitionQuery = new WfProcessDefinitionQuery(processEngineConfiguration.getCommandExecutor()) + .latestVersion() + .orderByProcessDefinitionKey() + .processDefinitionTenantId(WfTaskUtil.getTenantId()) + .asc(); + + if (ObjectUtil.isNotEmpty(process.getStatus()) && process.getStatus() == 1) { + processDefinitionQuery.active(); + } + if (StringUtils.isNotEmpty(process.getCategory())) { + processDefinitionQuery.processDefinitionCategory(process.getCategory()); + } + if (StringUtil.isNotBlank(process.getName())) { + processDefinitionQuery.processDefinitionNameLike("%" + process.getName() + "%"); + } + if (StringUtil.isNotBlank(process.getKey())) { + processDefinitionQuery.processDefinitionKeyLike("%" + process.getKey() + "%"); + } + if (ObjectUtil.isNotEmpty(process.getScope()) && process.getScope()) { + List scopeAll = new ArrayList<>(Collections.singletonList("WF_ALL")); + scopeAll.addAll(Arrays.asList(WfTaskUtil.getCandidateGroup().split(","))); + processDefinitionQuery.startableByUserOrGroups(WfTaskUtil.getTaskUser(), scopeAll); + } + if (StringUtil.isNotBlank(process.getPlatform())) { + processDefinitionQuery.platform(process.getPlatform()); + } + + long count = processDefinitionQuery.count(); + if (count > 0) { + List processDefinitionList; + if (query != null && query.getSize() != -1) { + processDefinitionList = processDefinitionQuery.listPage(Func.toInt((query.getCurrent() - 1) * query.getSize()), Func.toInt(query.getSize())); + } else { + processDefinitionList = processDefinitionQuery.list(); + } + List list = new ArrayList<>(); + + processDefinitionList.forEach(processDefinition -> { + Deployment d = repositoryService.createDeploymentQuery().deploymentId(processDefinition.getDeploymentId()).singleResult(); + WfProcessDef processDef = new WfProcessDef(); + processDef.setId(processDefinition.getId()); + processDef.setName(processDefinition.getName()); + processDef.setKey(processDefinition.getKey()); + processDef.setVersion(processDefinition.getVersion()); + processDef.setStatus(((ProcessDefinitionEntityImpl) processDefinition).getSuspensionState()); + processDef.setCategory(d.getCategory()); + processDef.setDeployTime(d.getDeploymentTime()); + processDef.setDeploymentId(d.getId()); + + try { + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinition.getId()); + Map> exFormKey = WfModelUtil.getStartEventExtensionElementAttributes(bpmnModel, WfExtendConstant.EX_FORM_KEY); + if (exFormKey != null) { + String value = exFormKey.get("value").get(0).getValue(); + if (StringUtil.isNotBlank(value)) { + processDef.setFormKey(WfProcessConstant.EX_FORM_PREFIX + value); + } + } + + Map> exFormUrl = WfModelUtil.getStartEventExtensionElementAttributes(bpmnModel, WfExtendConstant.EX_FORM_URL); + if (exFormUrl != null) { + String value = exFormUrl.get("value").get(0).getValue(); + if (StringUtil.isNotBlank(value)) { + processDef.setFormUrl(value); + } + } + + Map> exAppFormUrl = WfModelUtil.getStartEventExtensionElementAttributes(bpmnModel, WfExtendConstant.EX_APP_FORM_URL); + if (exAppFormUrl != null) { + String value = exAppFormUrl.get("value").get(0).getValue(); + if (StringUtil.isNotBlank(value)) { + processDef.setAppFormUrl(value); + } + } + } catch (Exception ignore) { + } + // 流程图标 + try { + WfModel model = this.getOne(new LambdaQueryWrapper() + .eq(WfModel::getModelKey, processDefinition.getKey()) + .eq(WfModel::getTenantId, processDefinition.getTenantId())); + processDef.setIcon(model.getIcon()); + } catch (Exception ignore) { + + } + + list.add(processDef); + }); + page.setRecords(list); + } + page.setTotal(count); + return page; + } + + @Override + public void changeDeploymentStatus(String id, String status) { + if (status.equals(SuspensionState.SUSPENDED.toString())) { + repositoryService.suspendProcessDefinitionById(id, true, null); + } else if (status.equals(SuspensionState.ACTIVE.toString())) { + repositoryService.activateProcessDefinitionById(id, true, null); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void changeDeploymentCategory(String deploymentId, String category) { + String[] arr = deploymentId.split(","); + for (String id : arr) { + repositoryService.setDeploymentCategory(id, category); + this.baseMapper.changeProcDefCategory(id, category); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteDeployment(String deploymentId) { + repositoryService.deleteDeployment(deploymentId, true); + + // 删除流水号 + WfSerial serial = new WfSerial(); + serial.setDeploymentId(deploymentId); + wfSerialMapper.delete(new QueryWrapper<>(serial)); + + // 删除抄送流程 + WfCopy copy = new WfCopy(); + copy.setDeploymentId(deploymentId); + wfCopyMapper.delete(new QueryWrapper<>(copy)); + + // 删除流程表单变量 + wfFormVariableMapper.delete(new LambdaQueryWrapper() + .eq(WfFormVariable::getDeploymentId, deploymentId)); + + // 删除数据表 - 低代码方式 + List list = wfDeploymentFormMapper.selectList(new LambdaQueryWrapper() + .eq(WfDeploymentForm::getDeploymentId, deploymentId)); + wfLowcodeService.dropTable(list); + + // 删除部署表单 + wfDeploymentFormMapper.delete(new LambdaQueryWrapper() + .eq(WfDeploymentForm::getDeploymentId, deploymentId)); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormDefaultValuesServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormDefaultValuesServiceImpl.java new file mode 100644 index 0000000..43f8a31 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormDefaultValuesServiceImpl.java @@ -0,0 +1,34 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import org.springblade.plugin.workflow.design.entity.WfFormDefaultValues; +import org.springblade.plugin.workflow.design.mapper.WfFormDefaultValuesMapper; +import org.springblade.plugin.workflow.design.service.IWfFormDefaultValuesService; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 流程表单字段默认值 服务实现类 + * + * @author ssc + */ +@Service +public class WfFormDefaultValuesServiceImpl extends BaseServiceImpl implements IWfFormDefaultValuesService { + + @Override + public Object listType() { + Map> map = this.list().stream().collect(Collectors.groupingBy(WfFormDefaultValues::getFieldType)); + Map result = new HashMap<>(); + map.keySet().forEach(s -> result.put(s, map.get(s).stream().map(v -> { + Map m = new HashMap<>(); + m.put("label", v.getName()); + m.put("value", v.getContent()); + return m; + }).collect(Collectors.toList()))); + return result; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormHistoryServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormHistoryServiceImpl.java new file mode 100644 index 0000000..85e01da --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormHistoryServiceImpl.java @@ -0,0 +1,56 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import lombok.AllArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfForm; +import org.springblade.plugin.workflow.design.entity.WfFormHistory; +import org.springblade.plugin.workflow.design.mapper.WfFormHistoryMapper; +import org.springblade.plugin.workflow.design.service.IWfFormHistoryService; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.plugin.workflow.design.service.IWfFormService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 流程表单 服务实现类 + * + * @author ssc + */ +@Service +@AllArgsConstructor +public class WfFormHistoryServiceImpl extends BaseServiceImpl implements IWfFormHistoryService { + + private final IWfFormService wfFormService; + + @Override + @Transactional(rollbackFor = Exception.class) + public Object setMainVersion(WfFormHistory formHistory) { + Long id = formHistory.getId(); + formHistory = this.getById(id); + if (formHistory == null) { + return R.fail("查询不到此数据"); + } + + Long formId = formHistory.getFormId(); + + WfForm form = wfFormService.getById(formId); + if (form == null) { + return R.fail("查询不到此数据"); + } + + WfForm newForm = BeanUtil.copyProperties(formHistory, WfForm.class); + assert newForm != null; + newForm.setId(formId); + wfFormService.updateById(newForm); + + WfFormHistory newVersion = BeanUtil.copyProperties(form, WfFormHistory.class); + assert newVersion != null; + newVersion.setId(null); + newVersion.setFormId(formId); + this.save(newVersion); + this.removeById(id); + + return R.success("操作成功"); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormServiceImpl.java new file mode 100644 index 0000000..428304a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormServiceImpl.java @@ -0,0 +1,413 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.AllArgsConstructor; +import org.flowable.bpmn.model.*; +import org.flowable.engine.FormService; +import org.flowable.engine.HistoryService; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.form.FormProperty; +import org.flowable.engine.form.StartFormData; +import org.flowable.engine.form.TaskFormData; +import org.flowable.engine.history.HistoricProcessInstance; +import org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntityImpl; +import org.flowable.engine.repository.ProcessDefinition; +import org.flowable.task.api.history.HistoricTaskInstance; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.design.entity.WfDeploymentForm; +import org.springblade.plugin.workflow.design.entity.WfForm; +import org.springblade.plugin.workflow.design.entity.WfFormHistory; +import org.springblade.plugin.workflow.design.entity.WfProcessDef; +import org.springblade.plugin.workflow.design.mapper.WfDeploymentFormMapper; +import org.springblade.plugin.workflow.design.mapper.WfFormHistoryMapper; +import org.springblade.plugin.workflow.design.mapper.WfFormMapper; +import org.springblade.plugin.workflow.design.service.IWfFormService; +import org.springblade.plugin.workflow.design.vo.WfFormVO; +import org.springblade.plugin.workflow.process.model.WfNode; +import org.springblade.plugin.workflow.process.model.WfProcess; +import org.springblade.plugin.workflow.process.service.IWfProcessService; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.AsyncResult; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.Future; +import java.util.stream.Collectors; + +/** + * 服务实现类 + * + * @since 2020-10-28 + */ +@Service +@AllArgsConstructor +public class WfFormServiceImpl extends BaseServiceImpl implements IWfFormService { + + private final WfDeploymentFormMapper wfDeploymentFormMapper; + private final WfFormHistoryMapper formHistoryMapper; + private final RepositoryService repositoryService; + private final FormService formService; + private final HistoryService historyService; + private final IWfProcessService processService; + + @Override + public WfForm getOne(WfForm wfForm) { + return baseMapper.selectOne(new QueryWrapper<>(wfForm)); + } + + @Override + public IPage page(IPage page, WfForm wfForm) { + return baseMapper.selectPage(page, new QueryWrapper<>(wfForm)); + } + + @Override + public List list(WfForm wfForm) { + return baseMapper.selectList(new QueryWrapper<>(wfForm)); + } + + @Override + public Map getFormByProcessDefKey(String processDefKey) { + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery() + .processDefinitionKey(processDefKey) + .processDefinitionTenantId(WfTaskUtil.getTenantId()) + .latestVersion() + .active() + .singleResult(); + return getFormByProcessDef(processDefinition); + } + + @Override + public Map getFormByProcessDefId(String processDefId) { + ProcessDefinition processDefinition = repositoryService.getProcessDefinition(processDefId); + return getFormByProcessDef(processDefinition); + } + + private Map getFormByProcessDef(ProcessDefinition processDefinition) { + Map result = new HashMap<>(); + + if (processDefinition == null) return result; + + String formStr = null; + String appForm = null; + + String processDefId = processDefinition.getId(); + WfProcessDef processDef = new WfProcessDef((ProcessDefinitionEntityImpl) processDefinition); + + // 扩展属性,隐藏抄送人、隐藏下一步审核人、默认抄送人等 + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefId); + Map> hideCopy = WfModelUtil.getStartEventExtensionElementAttributes(bpmnModel, WfExtendConstant.HIDE_COPY); + if (hideCopy != null) { + String value = hideCopy.get("value").get(0).getValue(); + if (StringUtil.isNotBlank(value) && "true".equals(value)) { + processDef.setHideCopy(true); + } + } + Map> hideExamine = WfModelUtil.getStartEventExtensionElementAttributes(bpmnModel, WfExtendConstant.HIDE_EXAMINE); + if (hideExamine != null) { + String value = hideExamine.get("value").get(0).getValue(); + if (StringUtil.isNotBlank(value) && "true".equals(value)) { + processDef.setHideExamine(true); + } + } + List copyUsers = WfModelUtil.getStartEventExtensionElements(bpmnModel, WfExtendConstant.COPY_USER); + if (copyUsers != null && copyUsers.size() > 0) { + List values = new ArrayList<>(); + List texts = new ArrayList<>(); + copyUsers.forEach(copyUser -> { + String value = copyUser.getAttributes().get("value").get(0).getValue(); + String text = copyUser.getAttributes().get("text").get(0).getValue(); + if (StringUtil.isNoneBlank(value, text)) { + values.add(value); + texts.add(text); + } + }); + if (values.size() > 0 && texts.size() > 0) { + processDef.setCopyUser(String.join(",", values)); + processDef.setCopyUserName(String.join(",", texts)); + } + } + + WfDeploymentForm wfDeploymentForm = new WfDeploymentForm(); + wfDeploymentForm.setDeploymentId(processDefinition.getDeploymentId()); + + Map> indepFormKey = WfModelUtil.getStartEventExtensionElementAttributes(bpmnModel, WfExtendConstant.INDEP_FORM_KEY); + if (indepFormKey != null) { // 节点独立表单 + String value = indepFormKey.get("value").get(0).getValue(); + if (StringUtil.isNotBlank(value)) { + StartEvent startEvent = WfModelUtil.getStartEvent(bpmnModel); + wfDeploymentForm.setTaskKey(startEvent.getId()); + wfDeploymentForm.setTaskName(startEvent.getName()); + } + } + wfDeploymentForm = wfDeploymentFormMapper.selectOne(new QueryWrapper<>(wfDeploymentForm)); + if (wfDeploymentForm != null) { + formStr = wfDeploymentForm.getContent(); + appForm = wfDeploymentForm.getAppContent(); + processDef.setFormKey(wfDeploymentForm.getFormKey()); + } + + // 开始节点表单 + List startFormProp = WfModelUtil.getStartFormProp(bpmnModel); + if (startFormProp == null || startFormProp.isEmpty()) { + StartFormData startFormData = formService.getStartFormData(processDefId); + startFormProp = startFormData.getFormProperties(); + } + result.put("startForm", startFormProp); + result.put("process", processDef); + result.put("form", formStr); + result.put("appForm", appForm); + return result; + } + + @Async + @Override + public Future> getFormByTaskId(String taskId) { + Map result = new HashMap<>(); + + HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery() + .taskId(taskId) + .singleResult(); + if (task == null) { + return new AsyncResult<>(result); + } + + HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery() + .processInstanceId(task.getProcessInstanceId()) + .singleResult(); + if (processInstance == null) { + return new AsyncResult<>(result); + } + + BpmnModel model = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId()); + + WfDeploymentForm wfDeploymentForm = new WfDeploymentForm(); + wfDeploymentForm.setDeploymentId(processInstance.getDeploymentId()); + + List deploymentForms; + String indepFormSummary = WfModelUtil.getUserTaskExtensionAttribute(task.getTaskDefinitionKey(), model, WfExtendConstant.INDEP_FORM_SUMMARY); + if ("1".equals(indepFormSummary)) { // 汇总表单 + WfProcess process = new WfProcess(); + process.setTaskId(taskId); + process.setProcessInstanceId(task.getProcessInstanceId()); + List backNodes = processService.getBackNodes(process); + List taskKeys = backNodes.stream().map(WfNode::getNodeId).collect(Collectors.toList()); + // 选择了汇总节点 + String indepSummaryNode = WfModelUtil.getUserTaskExtensionAttribute(task.getTaskDefinitionKey(), model, WfExtendConstant.INDEP_FORM_SUMMARY_NODE); + if (StringUtil.isNotBlank(indepSummaryNode)) { + assert indepSummaryNode != null; + List indepSummaryNodes = Arrays.asList(indepSummaryNode.split(",")); + taskKeys.retainAll(indepSummaryNodes); + } + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(wfDeploymentForm); + if (!taskKeys.isEmpty()) { // 若taskKeys为空,则是模型配置错误,没有可汇总的表单。可能的原因:配置的节点不包含在可退回的节点内。 + wrapper.in(WfDeploymentForm::getTaskKey, taskKeys); + deploymentForms = wfDeploymentFormMapper.selectList(wrapper); + result.put("formList", deploymentForms); + } + } + String indepFormKey = WfModelUtil.getUserTaskExtensionAttribute(task.getTaskDefinitionKey(), model, WfExtendConstant.INDEP_FORM_KEY); + if (indepFormKey != null) { + wfDeploymentForm.setTaskKey(task.getTaskDefinitionKey()); + wfDeploymentForm.setFormKey(indepFormKey.replace(WfProcessConstant.INDEP_FORM_PREFIX, "")); + } + try { // 只汇总不填写时忽略异常 + wfDeploymentForm = wfDeploymentFormMapper.selectOne(new QueryWrapper<>(wfDeploymentForm)); + if (wfDeploymentForm != null) { + result.put("allForm", wfDeploymentForm.getContent()); + result.put("allAppForm", wfDeploymentForm.getAppContent()); + } + } catch (Exception ignore) { + + } + + // v1.11+不再使用,改用,原方法任务结束后就再也无法获取表单属性,导致表单字段权限无效,改为自定义控制。 + List formProperties = WfModelUtil.getUserTaskFormProp(task.getTaskDefinitionKey(), model); + if (formProperties != null && !formProperties.isEmpty()) { + result.put("taskForm", formProperties); + } else if (task.getEndTime() == null) { + TaskFormData taskFormData = formService.getTaskFormData(taskId); + result.put("taskForm", taskFormData.getFormProperties()); + } + return new AsyncResult<>(result); + } + + @Override + public Object create(WfForm form) { + try { + form.setVersion(1); + this.save(form); + } catch (Exception e) { + return R.fail(String.format("表单key:%s 已存在", form.getFormKey())); + } + return R.data(form); + } + + @Override + public WfForm edit(WfFormVO form) { + Boolean newVersion = form.getNewVersion(); + if (newVersion != null && newVersion) { + WfForm oldForm = this.getById(form.getId()); + WfFormHistory history = BeanUtil.copyProperties(oldForm, WfFormHistory.class); + assert history != null; + + history.setId(null); + history.setFormId(oldForm.getId()); + formHistoryMapper.insert(history); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("max(version) version") + .eq("form_id", oldForm.getId()); + WfFormHistory maxVersion = formHistoryMapper.selectOne(wrapper); + if (maxVersion != null) { + form.setVersion(maxVersion.getVersion() + 1); + } else { + form.setVersion(oldForm.getVersion() + 1); + } + } + this.updateById(form); + return form; + } + + @Override + public void remove(WfFormVO form) { + Long id = form.getId(); + Boolean rollback = form.getRollback(); + if (rollback) { // 是否回退到最后版本 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("max(version) version") + .eq("form_id", id); + WfFormHistory formHistory = formHistoryMapper.selectOne(wrapper); + if (formHistory == null) { // 无历史版本 + this.removeById(id); + } else { + formHistory = formHistoryMapper.selectOne(new QueryWrapper().eq("version", formHistory.getVersion()).eq("form_id", id)); + WfForm newModel = BeanUtil.copyProperties(formHistory, WfForm.class); + assert newModel != null; + newModel.setId(id); + this.updateById(newModel); + formHistoryMapper.deleteById(formHistory.getId()); + } + } else { + this.removeById(id); + formHistoryMapper.removeByFormId(id); + } + } + + @Override + public void saveDeploymentForm(String formKey, String deployId, String tenantId) { + this.saveDeploymentForm(formKey, deployId, tenantId, null); + } + + @Override + public void saveDeploymentForm(String formKey, String deployId, String tenantId, List forms) { + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery() + .deploymentId(deployId) + .singleResult(); + String tableName = processDefinition.getKey() + "_v" + processDefinition.getVersion() + "_" + tenantId; + String tableComment = processDefinition.getName() + "_v" + processDefinition.getVersion() + "_" + tenantId; + + WfForm wfForm = new WfForm(); + wfForm.setFormKey(formKey); + wfForm.setTenantId(tenantId); + wfForm = this.getOne(new QueryWrapper<>(wfForm)); + + WfDeploymentForm wfDeploymentForm = new WfDeploymentForm(); + wfDeploymentForm.setDeploymentId(deployId); + wfDeploymentForm.setFormKey(formKey); + if (wfForm != null) { + wfDeploymentForm.setContent(wfForm.getContent()); + wfDeploymentForm.setAppContent(wfForm.getAppContent()); + wfDeploymentForm.setTableName(tableName); + wfDeploymentForm.setTableComment(tableComment); + + if (forms != null) { + forms.add(wfDeploymentForm); + } + } + wfDeploymentFormMapper.insert(wfDeploymentForm); + } + + @Override + public void saveIndepDeploymentForm(Collection elements, String deployId, String tenantId) { + this.saveIndepDeploymentForm(elements, deployId, tenantId, null); + } + + @Override + public void saveIndepDeploymentForm(Collection elements, String deployId, String tenantId, List forms) { + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery() + .deploymentId(deployId) + .singleResult(); + String tableName = processDefinition.getKey() + "_v" + processDefinition.getVersion() + "_" + tenantId; + String tableComment = processDefinition.getName() + "_v" + processDefinition.getVersion() + "_" + tenantId; + + for (FlowElement element : elements) { + String formKey = null; + String taskKey = null; + String taskName = null; + if (element instanceof SubProcess) { + elements = ((SubProcess) element).getFlowElements(); + this.saveIndepDeploymentForm(elements, deployId, tenantId); + } else if (element instanceof StartEvent) { + List extensionElements = element.getExtensionElements().get(WfExtendConstant.INDEP_FORM_KEY); + if (extensionElements != null && !extensionElements.isEmpty()) { + Map> attributes = extensionElements.get(0).getAttributes(); + formKey = attributes.get("value").get(0).getValue(); + taskKey = element.getId(); + taskName = element.getName(); + } + } else { + List attributes = element.getAttributes().get(WfExtendConstant.INDEP_FORM_KEY); + if (attributes != null && !attributes.isEmpty()) { + formKey = attributes.get(0).getValue(); + taskKey = element.getId(); + taskName = element.getName(); + } + } + if (formKey != null) { + WfForm wfForm = new WfForm(); + wfForm.setFormKey(formKey.replace(WfProcessConstant.INDEP_FORM_PREFIX, "")); + wfForm.setTenantId(tenantId); + wfForm = this.getOne(new QueryWrapper<>(wfForm)); + + WfDeploymentForm wfDeploymentForm = new WfDeploymentForm(); + wfDeploymentForm.setDeploymentId(deployId); + wfDeploymentForm.setFormKey(formKey); + wfDeploymentForm.setTaskKey(taskKey); + wfDeploymentForm.setTaskName(taskName); + if (wfForm != null) { + wfDeploymentForm.setContent(wfForm.getContent()); + wfDeploymentForm.setAppContent(wfForm.getAppContent()); + wfDeploymentForm.setTableName(tableName); + wfDeploymentForm.setTableComment(tableComment); + + if (forms != null) { + forms.add(wfDeploymentForm); + } + } + wfDeploymentFormMapper.insert(wfDeploymentForm); + } + } + } + + @Override + public void changeCategory(String ids, Long categoryId) { + String[] arr = ids.split(","); + for (String id : arr) { + WfForm form = new WfForm(); + form.setId(Long.valueOf(id)); + form.setCategoryId(categoryId); + this.updateById(form); + } + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormThemeServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormThemeServiceImpl.java new file mode 100644 index 0000000..7411e9d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormThemeServiceImpl.java @@ -0,0 +1,24 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import org.springblade.plugin.workflow.design.entity.WfFormTheme; +import org.springblade.plugin.workflow.design.vo.WfFormThemeVO; +import org.springblade.plugin.workflow.design.mapper.WfFormThemeMapper; +import org.springblade.plugin.workflow.design.service.IWfFormThemeService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; + +/** + * 表单 - 主题 服务实现类 + * + * @author ssc + */ +@Service +public class WfFormThemeServiceImpl extends BaseServiceImpl implements IWfFormThemeService { + + @Override + public IPage selectWfFormThemePage(IPage page, WfFormThemeVO wfFormTheme) { + return page.setRecords(baseMapper.selectWfFormThemePage(page, wfFormTheme)); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormVariableServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormVariableServiceImpl.java new file mode 100644 index 0000000..80befa8 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfFormVariableServiceImpl.java @@ -0,0 +1,90 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.RequiredArgsConstructor; +import org.flowable.bpmn.model.StartEvent; +import org.flowable.engine.HistoryService; +import org.flowable.engine.RuntimeService; +import org.flowable.engine.history.HistoricProcessInstance; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.task.api.Task; +import org.jetbrains.annotations.Nullable; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.design.entity.WfFormVariable; +import org.springblade.plugin.workflow.design.mapper.WfFormVariableMapper; +import org.springblade.plugin.workflow.design.service.IWfFormVariableService; +import org.springblade.plugin.workflow.design.vo.WfFormVariableVO; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + * 流程表单 - 历史变量 服务实现类 + * + * @author ssc + */ +@Service +@RequiredArgsConstructor +public class WfFormVariableServiceImpl extends BaseServiceImpl implements IWfFormVariableService { + + private final HistoryService historyService; + private final RuntimeService runtimeService; + + @Override + public IPage selectWfFormVariablePage(IPage page, WfFormVariableVO wfFormVariable) { + return page.setRecords(baseMapper.selectWfFormVariablePage(page, wfFormVariable)); + } + + @Async + @Override + public void saveFormVariable(String processInsId, @Nullable Task task, @Nullable StartEvent startEvent, Map variables, Long createUser) { + if (variables == null) { + return; + } + Object formOption = variables.get(WfProcessConstant.TASK_VARIABLE_FORM_OPTION); + Object formVariable = variables.get(WfProcessConstant.TASK_VARIABLE_FORM_VARIABLE); + if (formOption == null || formVariable == null) { + return; + } + String deploymentId; + HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() + .processInstanceId(processInsId) + .singleResult(); + if (historicProcessInstance == null) { + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() + .processInstanceId(processInsId) + .singleResult(); + if (processInstance == null) { + return; + } else { + deploymentId = processInstance.getDeploymentId(); + } + } else { + deploymentId = historicProcessInstance.getDeploymentId(); + } + + WfFormVariable variable = new WfFormVariable(); + variable.setProcessInsId(processInsId); + variable.setDeploymentId(deploymentId); + if (task != null) { + variable.setTaskId(task.getId()); + variable.setTaskDefKey(task.getTaskDefinitionKey()); + variable.setTaskName(task.getName()); + } else if (startEvent != null) { + variable.setTaskDefKey(startEvent.getId()); + variable.setTaskName(startEvent.getName()); + } + variable.setFormOption(formOption.toString()); + variable.setFormVariable(formVariable.toString()); + variable.setCreateUser(createUser); + this.save(variable); + + try { + // 流程结束时移除变量忽略异常 + runtimeService.removeVariable(processInsId, WfProcessConstant.TASK_VARIABLE_FORM_OPTION); + } catch (Exception ignore) { + } + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfListenerServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfListenerServiceImpl.java new file mode 100644 index 0000000..6d66bdc --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfListenerServiceImpl.java @@ -0,0 +1,24 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import org.springblade.plugin.workflow.design.entity.WfListenerEntity; +import org.springblade.plugin.workflow.design.vo.WfListenerVO; +import org.springblade.plugin.workflow.design.mapper.WfListenerMapper; +import org.springblade.plugin.workflow.design.service.IWfListenerService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; + +/** + * 任务/执行监听器 服务实现类 + * + * @author ssc + */ +@Service +public class WfListenerServiceImpl extends BaseServiceImpl implements IWfListenerService { + + @Override + public IPage selectWfListenerPage(IPage page, WfListenerVO wfListener) { + return page.setRecords(baseMapper.selectWfListenerPage(page, wfListener)); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelHistoryServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelHistoryServiceImpl.java new file mode 100644 index 0000000..cad4d67 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelHistoryServiceImpl.java @@ -0,0 +1,51 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfModel; +import org.springblade.plugin.workflow.design.entity.WfModelHistory; +import org.springblade.plugin.workflow.design.mapper.WfModelHistoryMapper; +import org.springblade.plugin.workflow.design.service.IWfModelHistoryService; +import org.springblade.plugin.workflow.design.service.IWfModelService; +import org.springframework.stereotype.Service; + +/** + * 服务实现类 + */ +@Service +@AllArgsConstructor +public class WfModelHistoryServiceImpl extends ServiceImpl implements IWfModelHistoryService { + + private final IWfModelService wfModelService; + + @Override + public Object setMainVersion(WfModelHistory modelHistory) { + String id = modelHistory.getId(); + modelHistory = this.getById(id); + if (modelHistory == null) { + return R.fail("查询不到此数据"); + } + + String modelId = modelHistory.getModelId(); + WfModel model = wfModelService.getById(modelId); + if (model == null) { + return R.fail("查询不到此数据"); + } + + WfModel newModel = BeanUtil.copyProperties(modelHistory, WfModel.class); + assert newModel != null; + newModel.setId(modelId); + wfModelService.updateById(newModel); + + WfModelHistory newVersion = BeanUtil.copyProperties(model, WfModelHistory.class); + assert newVersion != null; + newVersion.setId(null); + newVersion.setModelId(modelId); + this.save(newVersion); + this.removeById(id); + + return R.success("操作成功"); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelScopeServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelScopeServiceImpl.java new file mode 100644 index 0000000..d20d780 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelScopeServiceImpl.java @@ -0,0 +1,106 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.repository.ProcessDefinition; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.design.entity.WfModelScope; +import org.springblade.plugin.workflow.design.mapper.WfModelScopeMapper; +import org.springblade.plugin.workflow.design.service.IWfModelScopeService; +import org.springblade.plugin.workflow.design.vo.WfModelScopeVO; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 流程模型权限 服务实现类 + * + * @author ssc + */ +@Service +@AllArgsConstructor +public class WfModelScopeServiceImpl extends ServiceImpl implements IWfModelScopeService { + + private final RepositoryService repositoryService; + + @Async + @Override + public void submit(WfModelScopeVO wfModelScope) { + String modelId = wfModelScope.getModelId(); + String modelKey = wfModelScope.getModelKey(); + + this.deleteByModelId(modelId); + + List scopeList = wfModelScope.getScopeList(); + scopeList.forEach(scope -> { + scope.setModelId(modelId); + scope.setModelKey(modelKey); + }); + this.saveBatch(scopeList); + + List definitionList = repositoryService + .createProcessDefinitionQuery() + .processDefinitionKey(modelKey) + .list(); + if (definitionList.size() > 0) { + definitionList.forEach(definition -> { + this.baseMapper.deleteIdentityLinkByDefId(definition.getId()); + + scopeList.forEach(scope -> { + String val = scope.getVal(); + if (StringUtil.isNotBlank(val)) { + for (String id : val.split(",")) { + if ("user".equals(scope.getType())) { + repositoryService.addCandidateStarterUser(definition.getId(), id); + } else { + repositoryService.addCandidateStarterGroup(definition.getId(), id); + } + } + } + }); + }); + } + } + + @Override + public void saveDeploymentScope(String modelId, String deploymentId) { + List scopeList = this.list(new LambdaQueryWrapper().eq(WfModelScope::getModelId, modelId)); + + ProcessDefinition definition = repositoryService.createProcessDefinitionQuery() + .deploymentId(deploymentId) + .singleResult(); + + // 未知情况下ProcessDefinition可能是null,休眠0.5秒后再查询 + if (definition == null) { + try { + Thread.sleep(500); + } catch (InterruptedException ignore) { + } + definition = repositoryService.createProcessDefinitionQuery() + .deploymentId(deploymentId) + .singleResult(); + } + + for (WfModelScope scope : scopeList) { + String val = scope.getVal(); + if (StringUtil.isNotBlank(val)) { + for (String id : val.split(",")) { + if ("user".equals(scope.getType())) { + repositoryService.addCandidateStarterUser(definition.getId(), id); + } else { + repositoryService.addCandidateStarterGroup(definition.getId(), id); + } + } + } + } + } + + @Override + public void deleteByModelId(String modelId) { + this.remove(new LambdaQueryWrapper() + .eq(WfModelScope::getModelId, modelId)); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelServiceImpl.java new file mode 100644 index 0000000..4c10e9b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfModelServiceImpl.java @@ -0,0 +1,216 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.FormProperty; +import org.flowable.bpmn.model.StartEvent; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.repository.Deployment; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.design.entity.WfDeploymentForm; +import org.springblade.plugin.workflow.design.entity.WfModel; +import org.springblade.plugin.workflow.design.entity.WfModelHistory; +import org.springblade.plugin.workflow.design.mapper.WfModelHistoryMapper; +import org.springblade.plugin.workflow.design.mapper.WfModelMapper; +import org.springblade.plugin.workflow.design.service.IWfFormService; +import org.springblade.plugin.workflow.design.service.IWfModelScopeService; +import org.springblade.plugin.workflow.design.service.IWfModelService; +import org.springblade.plugin.workflow.design.service.IWfSerialService; +import org.springblade.plugin.workflow.design.vo.WfModelVO; +import org.springblade.plugin.workflow.design.wrapper.WfModelWrapper; +import org.springblade.plugin.workflow.process.service.IWfLowcodeService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +/** + * 服务实现类 + */ +@Service +@AllArgsConstructor +public class WfModelServiceImpl extends ServiceImpl implements IWfModelService { + + private final WfModelHistoryMapper wfModelHistoryMapper; + private final IWfSerialService wfSerialService; + private final IWfFormService wfFormService; + private final IWfModelScopeService wfModelScopeService; + private final IWfLowcodeService wfLowcodeService; + + private final RepositoryService repositoryService; + + @Override + public WfModelVO detail(WfModel model) { + WfModelVO vo = WfModelWrapper.build().entityVO(this.getOne(Condition.getQueryWrapper(model))); + if (vo.getFormKey().startsWith(WfProcessConstant.EX_FORM_PREFIX)) { // 外置表单 + BpmnModel bpmnModel = WfModelUtil.getBpmnModel(vo.getModelXml()); + StartEvent event = WfModelUtil.getStartEvent(bpmnModel); + if (event.getFormProperties() != null && !event.getFormProperties().isEmpty()) { + vo.setExForm(event.getFormProperties()); + } else { + vo.setExForm(BeanUtil.copyProperties(WfModelUtil.getStartFormProp(bpmnModel), FormProperty.class)); + } + return vo; + } + return vo; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public WfModel saveModel(WfModel model) { + WfModel newWfModel = new WfModel(); + + newWfModel.setVersion(1); + newWfModel.setName(model.getName()); + newWfModel.setModelKey(model.getModelKey()); + newWfModel.setFormKey(model.getFormKey()); + newWfModel.setModelType(WfModel.MODEL_TYPE_BPMN); + newWfModel.setCreated(Calendar.getInstance().getTime()); + newWfModel.setCreatedBy(WfTaskUtil.getTaskUser()); + newWfModel.setDescription(model.getDescription()); + newWfModel.setLastUpdated(Calendar.getInstance().getTime()); + newWfModel.setLastUpdatedBy(WfTaskUtil.getTaskUser()); + newWfModel.setTenantId(WfTaskUtil.getTenantId()); + newWfModel.setModelXml(model.getModelXml()); + +// if (StringUtil.isNotBlank(model.getXml())) { +// newWfModel.setModelEditorJson(WfModelUtil.getBpmnJsonString(model.getXml())); +// } + this.save(newWfModel); + return newWfModel; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public WfModel updateModel(WfModelVO model) { + WfModel newModel = new WfModel(); + + Boolean newVersion = model.getNewVersion(); + if (newVersion != null && newVersion) { + WfModel oldModel = this.getById(model.getId()); + if (oldModel != null) { + WfModelHistory modelHistory = BeanUtil.copyProperties(oldModel, WfModelHistory.class); + assert modelHistory != null; + modelHistory.setId(null); + modelHistory.setModelId(oldModel.getId()); + wfModelHistoryMapper.insert(modelHistory); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("max(version) version") + .eq("model_id", oldModel.getId()); + WfModelHistory maxVersion = wfModelHistoryMapper.selectOne(wrapper); + if (maxVersion != null) { + newModel.setVersion(maxVersion.getVersion() + 1); + } else { + newModel.setVersion(oldModel.getVersion() + 1); + } + } + } + newModel.setId(model.getId()); + newModel.setName(model.getName()); + newModel.setModelKey(model.getModelKey()); + newModel.setFormKey(model.getFormKey()); + newModel.setDescription(model.getDescription()); + newModel.setLastUpdated(Calendar.getInstance().getTime()); + newModel.setLastUpdatedBy(WfTaskUtil.getTaskUser()); + newModel.setModelXml(model.getModelXml()); + newModel.setTenantId(model.getTenantId()); + +// if (StringUtil.isNotBlank(model.getXml())) { +// newModel.setModelEditorJson(WfModelUtil.getBpmnJsonString(model.getXml())); +// } + this.updateById(newModel); + + return newModel; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Deployment deploy(WfModelVO modelVo) { + String category = modelVo.getCategory(); + WfModel model = this.getById(modelVo.getId()); + + BpmnModel bpmnModel = WfModelUtil.getBpmnModel(model.getModelXml()); + bpmnModel.setTargetNamespace(category); + + Deployment deployment = repositoryService.createDeployment() + .name(model.getName()) + .key(model.getModelKey()) + .addBpmnModel(model.getName() + model.getVersion() + WfProcessConstant.SUFFIX, bpmnModel) + .category(category) + .tenantId(model.getTenantId()) + .deploy(); + + List forms = new ArrayList<>(); + // 保存部署表单 + if (model.getFormKey().startsWith(WfProcessConstant.INDEP_FORM_PREFIX)) { + wfFormService.saveIndepDeploymentForm(bpmnModel.getMainProcess().getFlowElements(), deployment.getId(), WfTaskUtil.getTenantId(), forms); + } else { + wfFormService.saveDeploymentForm(model.getFormKey(), deployment.getId(), WfTaskUtil.getTenantId(), forms); + } + // 建表 - 低代码方式 + wfLowcodeService.createTable(forms); + // 保存流水号 + wfSerialService.create(bpmnModel, deployment.getId()); + // 设置流程权限 + wfModelScopeService.saveDeploymentScope(model.getId(), deployment.getId()); + + return deployment; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void remove(WfModelVO model) { + String id = model.getId(); + Boolean rollback = model.getRollback(); + if (rollback) { // 是否回退到最后版本 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("max(version) version") + .eq("model_id", id); + WfModelHistory modelHistory = wfModelHistoryMapper.selectOne(wrapper); + if (modelHistory == null) { // 无历史版本 + this.removeById(id); + wfModelScopeService.deleteByModelId(id); + } else { + modelHistory = wfModelHistoryMapper.selectOne(new QueryWrapper().eq("version", modelHistory.getVersion()).eq("model_id", id)); + WfModel newModel = BeanUtil.copyProperties(modelHistory, WfModel.class); + assert newModel != null; + newModel.setId(id); + this.updateById(newModel); + wfModelHistoryMapper.deleteById(modelHistory.getId()); + } + } else { + this.removeById(id); + wfModelHistoryMapper.removeByModelId(id); + wfModelScopeService.deleteByModelId(id); + } + } + + @Override + public void changeCategory(String ids, Long categoryId) { + String[] arr = ids.split(","); + for (String id : arr) { + WfModel model = new WfModel(); + model.setId(id); + model.setCategoryId(categoryId); + this.updateById(model); + } + } + + @Override + public void changeIcon(String id, String icon) { + WfModel model = new WfModel(); + model.setId(id); + model.setIcon(icon); + this.updateById(model); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfSerialServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfSerialServiceImpl.java new file mode 100644 index 0000000..ea4f4d8 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/service/impl/WfSerialServiceImpl.java @@ -0,0 +1,134 @@ +package org.springblade.plugin.workflow.design.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.RequiredArgsConstructor; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.ExtensionAttribute; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.repository.ProcessDefinition; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.redis.lock.RedisLock; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.design.entity.WfSerial; +import org.springblade.plugin.workflow.design.mapper.WfSerialMapper; +import org.springblade.plugin.workflow.design.service.IWfSerialService; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 流程流水号 服务实现类 + * + * @author ssc + */ +@Service +@RequiredArgsConstructor +public class WfSerialServiceImpl extends BaseServiceImpl implements IWfSerialService { + + private final RepositoryService repositoryService; + + @Override + public void create(BpmnModel model, String deploymentId) { + Map> attributes = WfModelUtil.getProcessExtensionElementAttributes(model, WfExtendConstant.SERIAL); + if (attributes != null) { + List useExistSNs = attributes.get("useExistSN"); + if (useExistSNs != null && !useExistSNs.isEmpty()) { + String useExistSN = useExistSNs.get(0).getValue(); + if ("true".equals(useExistSN)) { + return; + } + } + WfSerial serial = new WfSerial(); + serial.setName(attributes.get("name").get(0).getValue()); + serial.setPrefix(attributes.get("prefix").get(0).getValue()); + serial.setDateFormat(attributes.get("dateFormat").get(0).getValue()); + serial.setSuffixLength(Integer.valueOf(attributes.get("suffixLength").get(0).getValue())); + Integer startSequence = Integer.valueOf(attributes.get("startSequence").get(0).getValue()); + serial.setStartSequence(startSequence); + + // 继承上次部署模型的自增序列 + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deploymentId).singleResult(); + if (processDefinition != null && processDefinition.getVersion() > 1) { + processDefinition = repositoryService.createProcessDefinitionQuery() + .processDefinitionKey(processDefinition.getKey()) + .processDefinitionVersion(processDefinition.getVersion() - 1) + .processDefinitionTenantId(processDefinition.getTenantId()) + .singleResult(); + if (processDefinition != null) { + WfSerial wfSerial = this.getOne(new LambdaQueryWrapper().eq(WfSerial::getDeploymentId, processDefinition.getDeploymentId())); + if (wfSerial != null) { + serial.setCurrentSequence(wfSerial.getCurrentSequence()); + } + } + } + if (ObjectUtil.isEmpty(serial.getCurrentSequence())) { + serial.setCurrentSequence(ObjectUtil.isEmpty(startSequence) ? 0 : startSequence); + } + serial.setConnector(attributes.get("connector").get(0).getValue()); + serial.setCycle(attributes.get("cycle").get(0).getValue()); + serial.setDeploymentId(deploymentId); + + this.save(serial); + } + } + + @Override + @RedisLock(value = "WfSerialLock", param = "#deploymentId") + public String getNextSN(BpmnModel model, String deploymentId) { + WfSerial serial = null; + + Map> attributes = WfModelUtil.getProcessExtensionElementAttributes(model, WfExtendConstant.SERIAL); + if (attributes != null) { + List useExistSNs = attributes.get("useExistSN"); + if (useExistSNs != null && !useExistSNs.isEmpty()) { + String useExistSN = useExistSNs.get(0).getValue(); + if ("true".equals(useExistSN)) { + String name = attributes.get("name").get(0).getValue(); + String prefix = attributes.get("prefix").get(0).getValue(); + List list = this.list(new LambdaQueryWrapper() + .eq(WfSerial::getName, name) + .eq(WfSerial::getPrefix, prefix) + .orderByDesc(WfSerial::getCreateTime)); + if (list != null && !list.isEmpty()) { + serial = list.get(0); + } + } else { + serial = this.getOne(new LambdaQueryWrapper().eq(WfSerial::getDeploymentId, deploymentId)); + } + } else { + serial = this.getOne(new LambdaQueryWrapper().eq(WfSerial::getDeploymentId, deploymentId)); + } + } else { + serial = this.getOne(new LambdaQueryWrapper().eq(WfSerial::getDeploymentId, deploymentId)); + } + if (serial != null) { + SimpleDateFormat dateFormat = new SimpleDateFormat(serial.getDateFormat()); + StringBuilder buffer = new StringBuilder(serial.getPrefix()); + if (StringUtil.isNotBlank(serial.getConnector())) buffer.append(serial.getConnector()); + buffer.append(dateFormat.format(new Date())); + if (StringUtil.isNotBlank(serial.getConnector())) buffer.append(serial.getConnector()); + buffer.append(String.format("%0" + serial.getSuffixLength() + "d", serial.getCurrentSequence())); + + serial.setCurrentSequence(serial.getCurrentSequence() + 1); + if (serial.getCurrentSequence().toString().length() > serial.getSuffixLength()) { + serial.setCurrentSequence(serial.getStartSequence()); + } + + this.updateById(serial); + return buffer.toString(); + } + return null; + } + + @Override + public void resetSN(String type) { + baseMapper.resetSN(type); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfButtonVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfButtonVO.java new file mode 100644 index 0000000..0928d1a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfButtonVO.java @@ -0,0 +1,24 @@ + +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfButton; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程按钮视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfButtonVO对象", description = "流程按钮") +public class WfButtonVO extends WfButton { + @Serial + private static final long serialVersionUID = 1L; + + private Boolean display; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfCategoryVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfCategoryVO.java new file mode 100644 index 0000000..a7afb11 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfCategoryVO.java @@ -0,0 +1,26 @@ + +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfCategory; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; +import java.util.List; + +/** + * 流程分类视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfCategoryVO对象", description = "流程分类") +public class WfCategoryVO extends WfCategory { + @Serial + private static final long serialVersionUID = 1L; + + List children; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfConditionVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfConditionVO.java new file mode 100644 index 0000000..9d03829 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfConditionVO.java @@ -0,0 +1,23 @@ + +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfCondition; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程表达式视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfConditionVO对象", description = "流程表达式") +public class WfConditionVO extends WfCondition { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormDefaultValuesVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormDefaultValuesVO.java new file mode 100644 index 0000000..9f35365 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormDefaultValuesVO.java @@ -0,0 +1,23 @@ + +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfFormDefaultValues; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程表单字段默认值视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfFormDefaultValuesVO对象", description = "流程表单字段默认值") +public class WfFormDefaultValuesVO extends WfFormDefaultValues { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormHistoryVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormHistoryVO.java new file mode 100644 index 0000000..23f0d5a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormHistoryVO.java @@ -0,0 +1,23 @@ + +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfFormHistory; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程表单视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfFormHistoryVO对象", description = "流程表单") +public class WfFormHistoryVO extends WfFormHistory { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormThemeVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormThemeVO.java new file mode 100644 index 0000000..c986a86 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormThemeVO.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfFormTheme; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 表单 - 主题 视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfFormThemeVO extends WfFormTheme { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormVO.java new file mode 100644 index 0000000..94ec434 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormVO.java @@ -0,0 +1,27 @@ +package org.springblade.plugin.workflow.design.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.plugin.workflow.design.entity.WfForm; + +import java.io.Serial; + +/** + * 流程表单视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfFormVO对象", description = "流程表单") +public class WfFormVO extends WfForm { + @Serial + private static final long serialVersionUID = 1L; + + private Boolean newVersion; + + @Schema(description = "是否回退") + private Boolean rollback; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormVariableVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormVariableVO.java new file mode 100644 index 0000000..3a8780a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfFormVariableVO.java @@ -0,0 +1,21 @@ +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfFormVariable; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程表单 - 历史变量 视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfFormVariableVO extends WfFormVariable { + @Serial + private static final long serialVersionUID = 1L; + + private String createUsername; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfListenerVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfListenerVO.java new file mode 100644 index 0000000..d57cbf5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfListenerVO.java @@ -0,0 +1,21 @@ +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfListenerEntity; +import org.springblade.core.tool.node.INode; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 任务/执行监听器 视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfListenerVO extends WfListenerEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfModelScopeVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfModelScopeVO.java new file mode 100644 index 0000000..5c14a88 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfModelScopeVO.java @@ -0,0 +1,26 @@ + +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfModelScope; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; +import java.util.List; + +/** + * 流程模型权限视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfModelScopeVO对象", description = "流程模型权限") +public class WfModelScopeVO extends WfModelScope { + @Serial + private static final long serialVersionUID = 1L; + + List scopeList; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfModelVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfModelVO.java new file mode 100644 index 0000000..39c046c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfModelVO.java @@ -0,0 +1,34 @@ +package org.springblade.plugin.workflow.design.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.flowable.bpmn.model.FormProperty; +import org.springblade.plugin.workflow.design.entity.WfModel; + +import java.util.List; + +/** + * 流程模型Vo + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfModelVO extends WfModel { + + @Schema(description = "是否保存为新版本") + Boolean newVersion; + + @Schema(description = "模型id") + String modelId; + + @Schema(description = "模型分类") + String category; + + @Schema(description = "是否回退") + Boolean rollback; + + @Schema(description = "外置表单") + List exForm; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfSerialVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfSerialVO.java new file mode 100644 index 0000000..33144c4 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/vo/WfSerialVO.java @@ -0,0 +1,22 @@ +package org.springblade.plugin.workflow.design.vo; + +import org.springblade.plugin.workflow.design.entity.WfSerial; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程流水号视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfSerialVO对象", description = "流程流水号") +public class WfSerialVO extends WfSerial { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfButtonWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfButtonWrapper.java new file mode 100644 index 0000000..5a205f7 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfButtonWrapper.java @@ -0,0 +1,34 @@ + +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfButton; +import org.springblade.plugin.workflow.design.vo.WfButtonVO; + +import java.util.Objects; + +/** + * 流程按钮包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfButtonWrapper extends BaseEntityWrapper { + + public static WfButtonWrapper build() { + return new WfButtonWrapper(); + } + + @Override + public WfButtonVO entityVO(WfButton wfButton) { + WfButtonVO wfButtonVO = Objects.requireNonNull(BeanUtil.copyProperties(wfButton, WfButtonVO.class)); + + //User createUser = UserCache.getUser(wfButton.getCreateUser()); + //User updateUser = UserCache.getUser(wfButton.getUpdateUser()); + //wfButtonVO.setCreateUserName(createUser.getName()); + //wfButtonVO.setUpdateUserName(updateUser.getName()); + + return wfButtonVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfCategoryWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfCategoryWrapper.java new file mode 100644 index 0000000..481abc3 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfCategoryWrapper.java @@ -0,0 +1,34 @@ + +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfCategory; +import org.springblade.plugin.workflow.design.vo.WfCategoryVO; + +import java.util.Objects; + +/** + * 流程分类包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfCategoryWrapper extends BaseEntityWrapper { + + public static WfCategoryWrapper build() { + return new WfCategoryWrapper(); + } + + @Override + public WfCategoryVO entityVO(WfCategory wfCategory) { + WfCategoryVO wfCategoryVO = Objects.requireNonNull(BeanUtil.copyProperties(wfCategory, WfCategoryVO.class)); + + //User createUser = UserCache.getUser(wfCategory.getCreateUser()); + //User updateUser = UserCache.getUser(wfCategory.getUpdateUser()); + //wfCategoryVO.setCreateUserName(createUser.getName()); + //wfCategoryVO.setUpdateUserName(updateUser.getName()); + + return wfCategoryVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfConditionWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfConditionWrapper.java new file mode 100644 index 0000000..28e46ce --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfConditionWrapper.java @@ -0,0 +1,34 @@ + +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfCondition; +import org.springblade.plugin.workflow.design.vo.WfConditionVO; + +import java.util.Objects; + +/** + * 流程表达式包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfConditionWrapper extends BaseEntityWrapper { + + public static WfConditionWrapper build() { + return new WfConditionWrapper(); + } + + @Override + public WfConditionVO entityVO(WfCondition wfCondition) { + WfConditionVO wfConditionVO = Objects.requireNonNull(BeanUtil.copyProperties(wfCondition, WfConditionVO.class)); + + //User createUser = UserCache.getUser(wfCondition.getCreateUser()); + //User updateUser = UserCache.getUser(wfCondition.getUpdateUser()); + //wfConditionVO.setCreateUserName(createUser.getName()); + //wfConditionVO.setUpdateUserName(updateUser.getName()); + + return wfConditionVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormDefaultValuesWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormDefaultValuesWrapper.java new file mode 100644 index 0000000..7ab0d5c --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormDefaultValuesWrapper.java @@ -0,0 +1,34 @@ + +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfFormDefaultValues; +import org.springblade.plugin.workflow.design.vo.WfFormDefaultValuesVO; + +import java.util.Objects; + +/** + * 流程表单字段默认值包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfFormDefaultValuesWrapper extends BaseEntityWrapper { + + public static WfFormDefaultValuesWrapper build() { + return new WfFormDefaultValuesWrapper(); + } + + @Override + public WfFormDefaultValuesVO entityVO(WfFormDefaultValues wfFormDefaultValues) { + WfFormDefaultValuesVO wfFormDefaultValuesVO = Objects.requireNonNull(BeanUtil.copyProperties(wfFormDefaultValues, WfFormDefaultValuesVO.class)); + + //User createUser = UserCache.getUser(wfFormDefaultValues.getCreateUser()); + //User updateUser = UserCache.getUser(wfFormDefaultValues.getUpdateUser()); + //wfFormDefaultValuesVO.setCreateUserName(createUser.getName()); + //wfFormDefaultValuesVO.setUpdateUserName(updateUser.getName()); + + return wfFormDefaultValuesVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormHistoryWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormHistoryWrapper.java new file mode 100644 index 0000000..3aa092e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormHistoryWrapper.java @@ -0,0 +1,34 @@ + +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfFormHistory; +import org.springblade.plugin.workflow.design.vo.WfFormHistoryVO; + +import java.util.Objects; + +/** + * 流程表单包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfFormHistoryWrapper extends BaseEntityWrapper { + + public static WfFormHistoryWrapper build() { + return new WfFormHistoryWrapper(); + } + + @Override + public WfFormHistoryVO entityVO(WfFormHistory wfFormHistory) { + WfFormHistoryVO wfFormHistoryVO = Objects.requireNonNull(BeanUtil.copyProperties(wfFormHistory, WfFormHistoryVO.class)); + + //User createUser = UserCache.getUser(wfFormHistory.getCreateUser()); + //User updateUser = UserCache.getUser(wfFormHistory.getUpdateUser()); + //wfFormHistoryVO.setCreateUserName(createUser.getName()); + //wfFormHistoryVO.setUpdateUserName(updateUser.getName()); + + return wfFormHistoryVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormThemeWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormThemeWrapper.java new file mode 100644 index 0000000..3b29184 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormThemeWrapper.java @@ -0,0 +1,33 @@ +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfFormTheme; +import org.springblade.plugin.workflow.design.vo.WfFormThemeVO; +import java.util.Objects; + +/** + * 表单 - 主题 包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfFormThemeWrapper extends BaseEntityWrapper { + + public static WfFormThemeWrapper build() { + return new WfFormThemeWrapper(); + } + + @Override + public WfFormThemeVO entityVO(WfFormTheme wfFormTheme) { + WfFormThemeVO wfFormThemeVO = Objects.requireNonNull(BeanUtil.copyProperties(wfFormTheme, WfFormThemeVO.class)); + + //User createUser = UserCache.getUser(wfFormTheme.getCreateUser()); + //User updateUser = UserCache.getUser(wfFormTheme.getUpdateUser()); + //wfFormThemeVO.setCreateUserName(createUser.getName()); + //wfFormThemeVO.setUpdateUserName(updateUser.getName()); + + return wfFormThemeVO; + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormVariableWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormVariableWrapper.java new file mode 100644 index 0000000..07b5892 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfFormVariableWrapper.java @@ -0,0 +1,32 @@ +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.user.WfUserCache; +import org.springblade.plugin.workflow.design.entity.WfFormVariable; +import org.springblade.plugin.workflow.design.vo.WfFormVariableVO; + +import java.util.Objects; + +/** + * 流程表单 - 历史变量 包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfFormVariableWrapper extends BaseEntityWrapper { + + public static WfFormVariableWrapper build() { + return new WfFormVariableWrapper(); + } + + @Override + public WfFormVariableVO entityVO(WfFormVariable wfFormVariable) { + WfFormVariableVO wfFormVariableVO = Objects.requireNonNull(BeanUtil.copyProperties(wfFormVariable, WfFormVariableVO.class)); + WfUser user = WfUserCache.getUser(wfFormVariable.getCreateUser()); + if (user != null) { + wfFormVariableVO.setCreateUsername(user.getRealName()); + } + return wfFormVariableVO; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfListenerWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfListenerWrapper.java new file mode 100644 index 0000000..4963a33 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfListenerWrapper.java @@ -0,0 +1,33 @@ +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfListenerEntity; +import org.springblade.plugin.workflow.design.vo.WfListenerVO; +import java.util.Objects; + +/** + * 任务/执行监听器 包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfListenerWrapper extends BaseEntityWrapper { + + public static WfListenerWrapper build() { + return new WfListenerWrapper(); + } + + @Override + public WfListenerVO entityVO(WfListenerEntity wfListener) { + WfListenerVO wfListenerVO = Objects.requireNonNull(BeanUtil.copyProperties(wfListener, WfListenerVO.class)); + + //User createUser = UserCache.getUser(wfListener.getCreateUser()); + //User updateUser = UserCache.getUser(wfListener.getUpdateUser()); + //wfListenerVO.setCreateUserName(createUser.getName()); + //wfListenerVO.setUpdateUserName(updateUser.getName()); + + return wfListenerVO; + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfModelScopeWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfModelScopeWrapper.java new file mode 100644 index 0000000..3854734 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfModelScopeWrapper.java @@ -0,0 +1,34 @@ + +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfModelScope; +import org.springblade.plugin.workflow.design.vo.WfModelScopeVO; + +import java.util.Objects; + +/** + * 流程模型权限包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfModelScopeWrapper extends BaseEntityWrapper { + + public static WfModelScopeWrapper build() { + return new WfModelScopeWrapper(); + } + + @Override + public WfModelScopeVO entityVO(WfModelScope wfModelScope) { + WfModelScopeVO wfModelScopeVO = Objects.requireNonNull(BeanUtil.copyProperties(wfModelScope, WfModelScopeVO.class)); + + //User createUser = UserCache.getUser(wfModelScope.getCreateUser()); + //User updateUser = UserCache.getUser(wfModelScope.getUpdateUser()); + //wfModelScopeVO.setCreateUserName(createUser.getName()); + //wfModelScopeVO.setUpdateUserName(updateUser.getName()); + + return wfModelScopeVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfModelWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfModelWrapper.java new file mode 100644 index 0000000..a7b8dd5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfModelWrapper.java @@ -0,0 +1,33 @@ +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfModel; +import org.springblade.plugin.workflow.design.vo.WfModelVO; + +import java.util.Objects; + +/** + * 流程模型包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfModelWrapper extends BaseEntityWrapper { + + public static WfModelWrapper build() { + return new WfModelWrapper(); + } + + @Override + public WfModelVO entityVO(WfModel model) { + WfModelVO wfModelVO = Objects.requireNonNull(BeanUtil.copyProperties(model, WfModelVO.class)); + + //User createUser = UserCache.getUser(wfButton.getCreateUser()); + //User updateUser = UserCache.getUser(wfButton.getUpdateUser()); + //wfButtonVO.setCreateUserName(createUser.getName()); + //wfButtonVO.setUpdateUserName(updateUser.getName()); + + return wfModelVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfSerialWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfSerialWrapper.java new file mode 100644 index 0000000..622094a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/design/wrapper/WfSerialWrapper.java @@ -0,0 +1,34 @@ + +package org.springblade.plugin.workflow.design.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.design.entity.WfSerial; +import org.springblade.plugin.workflow.design.vo.WfSerialVO; + +import java.util.Objects; + +/** + * 流程流水号包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfSerialWrapper extends BaseEntityWrapper { + + public static WfSerialWrapper build() { + return new WfSerialWrapper(); + } + + @Override + public WfSerialVO entityVO(WfSerial wfSerial) { + WfSerialVO wfSerialVO = Objects.requireNonNull(BeanUtil.copyProperties(wfSerial, WfSerialVO.class)); + + //User createUser = UserCache.getUser(wfSerial.getCreateUser()); + //User updateUser = UserCache.getUser(wfSerial.getUpdateUser()); + //wfSerialVO.setCreateUserName(createUser.getName()); + //wfSerialVO.setUpdateUserName(updateUser.getName()); + + return wfSerialVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/controller/WfOpsController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/controller/WfOpsController.java new file mode 100644 index 0000000..206fe21 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/controller/WfOpsController.java @@ -0,0 +1,268 @@ +package org.springblade.plugin.workflow.ops.controller; + +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.annotation.PreAuth; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.constant.RoleConstant; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.ops.model.WfOps; +import org.springblade.plugin.workflow.ops.service.IWfOpsService; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/ops") +@AllArgsConstructor +@PreAuth(RoleConstant.HAS_ROLE_ADMIN) +public class WfOpsController { + + private final IWfOpsService wfOpsService; + + @GetMapping("list") + @Operation(summary = "全部待办任务") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + @Parameter(name = "processDefinitionKey", description = "流程标识"), + @Parameter(name = "serialNumber", description = "流水号"), + @Parameter(name = "category", description = "分类"), + @Parameter(name = "taskName", description = "当前节点"), + @Parameter(name = "assignee", description = "审核人"), + @Parameter(name = "applyUserName", description = "申请人"), + @Parameter(name = "isSuspended", description = "是否挂起"), + @Parameter(name = "date", description = "时间范围,逗号分隔"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R list(@Parameter(hidden = true) WfOps ops, Query query) { + return R.data(wfOpsService.list(ops, query)); + } + + @GetMapping("processList") + @Operation(summary = "全部流程列表") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + @Parameter(name = "processDefinitionKey", description = "流程标识"), + @Parameter(name = "serialNumber", description = "流水号"), + @Parameter(name = "category", description = "分类"), + @Parameter(name = "applyUserName", description = "申请人"), + @Parameter(name = "date", description = "时间范围,逗号分隔"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R processList(@Parameter(hidden = true) WfOps ops, Query query) { + return R.data(wfOpsService.processList(ops, query)); + } + + @GetMapping("doneList") + @Operation(summary = "办结流程") + @Parameters({ + @Parameter(name = "processDefinitionName", description = "流程名称"), + @Parameter(name = "processDefinitionKey", description = "流程标识"), + @Parameter(name = "serialNumber", description = "流水号"), + @Parameter(name = "category", description = "分类"), + @Parameter(name = "applyUserName", description = "申请人"), + @Parameter(name = "date", description = "时间范围,逗号分隔"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R doneList(@Parameter(hidden = true) WfOps ops, Query query) { + ops.setStatus(WfProcessConstant.STATUS_FINISH); + return R.data(wfOpsService.processList(ops, query)); + } + + @PostMapping("completeTask") + @Operation(summary = "完成任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id,多条逗号分割", required = true), + @Parameter(name = "isPass", description = "审核是否通过", required = true), + }) + public R completeTask(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId(), ops.isPass())) { + return R.fail("参数错误"); + } + wfOpsService.completeTask(ops); + return R.success("操作成功"); + } + + @PostMapping("changeTaskAssignee") + @Operation(summary = "变更审核人") + @Parameters({ + @Parameter(name = "taskId", description = "任务id,多条逗号分割", required = true), + @Parameter(name = "assignee", description = "审核人", required = true), + }) + public R changeTaskAssignee(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId(), ops.getAssignee())) { + return R.fail("参数错误"); + } + wfOpsService.changeTaskAssignee(ops); + return R.success("变更成功"); + } + + @PostMapping("changeTaskStatus") + @Operation(summary = "变更任务状态") + @Parameters({ + @Parameter(name = "taskId", description = "任务id,多条逗号分割", required = true), + @Parameter(name = "isSuspended", description = "是否挂起", required = true), + }) + public R changeTaskStatus(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId(), ops.getIsSuspended())) { + return R.fail("参数错误"); + } + wfOpsService.changeTaskStatus(ops); + return R.success("变更成功"); + } + + @PostMapping("transferTask") + @Operation(summary = "转办任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id,多条逗号分割", required = true), + @Parameter(name = "assignee", description = "审核人", required = true), + }) + public R transferTask(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId(), ops.getAssignee())) { + return R.fail("参数错误"); + } + wfOpsService.transferTask(ops); + return R.success("转办成功"); + } + + @PostMapping("delegateTask") + @Operation(summary = "委托任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id,多条逗号分割", required = true), + @Parameter(name = "assignee", description = "审核人", required = true), + }) + public R delegateTask(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId(), ops.getAssignee())) { + return R.fail("参数错误"); + } + wfOpsService.delegateTask(ops); + return R.success("委托成功"); + } + + @PostMapping("copyTask") + @Operation(summary = "抄送任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id,多条逗号分割", required = true), + @Parameter(name = "assignee", description = "审核人", required = true), + }) + public R copyTask(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId(), ops.getAssignee())) { + return R.fail("参数错误"); + } + wfOpsService.copyTask(ops); + return R.success("抄送成功"); + } + + @PostMapping("urgeTask") + @Operation(summary = "催办任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id,多条逗号分割", required = true), + }) + public R urgeTask(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId())) { + return R.fail("参数错误"); + } + wfOpsService.urgeTask(ops); + return R.success("催办成功"); + } + + @PostMapping("terminateProcess") + @Operation(summary = "终止流程") + @Parameters({ + @Parameter(name = "taskId", description = "任务id,多条逗号分割", required = true), + }) + public R terminateProcess(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId())) { + return R.fail("参数错误"); + } + wfOpsService.terminateProcess(ops); + return R.success("变更成功"); + } + + @GetMapping("processNodes") + @Operation(summary = "流程节点") + @Parameters({ + @Parameter(name = "processInstanceId", description = "流程", required = true), + @Parameter(name = "taskId", description = "任务id"), + }) + public R processNodes(@Parameter(hidden = true) WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getProcessInstanceId())) { + return R.fail("参数错误"); + } + return R.data(wfOpsService.processNodes(ops)); + } + + @PostMapping("rollbackTask") + @Operation(summary = "指定回退") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "nodeId", description = "节点id", required = true), + }) + public R rollbackTask(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId(), ops.getNodeId())) { + return R.fail("参数错误"); + } + wfOpsService.rollbackTask(ops); + return R.success("操作成功"); + } + + @PostMapping("dispatchTask") + @Operation(summary = "调度任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "nodeId", description = "节点id", required = true), + }) + public R dispatchTask(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId(), ops.getNodeId())) { + return R.fail("参数错误"); + } + wfOpsService.dispatchTask(ops); + return R.success("操作成功"); + } + + @PostMapping("addMultiInstance") + @Operation(summary = "加签") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "assignee", description = "加签人员", required = true), + }) + public R addMultiInstance(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId(), ops.getAssignee())) { + return R.fail("参数错误"); + } + wfOpsService.addMultiInstance(ops); + return R.success("操作成功"); + } + + @PostMapping("deleteMultiInstance") + @Operation(summary = "减签") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + }) + public R deleteMultiInstance(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getTaskId())) { + return R.fail("参数错误"); + } + wfOpsService.deleteMultiInstance(ops); + return R.success("操作成功"); + } + + @PostMapping("deleteProcess") + @Operation(summary = "删除流程") + @Parameters({ + @Parameter(name = "processInstanceId", description = "流程实例id", required = true), + }) + public R deleteProcess(@Parameter(hidden = true) @RequestBody WfOps ops) { + if (ObjectUtil.isAnyEmpty(ops.getProcessInstanceId())) { + return R.fail("参数错误"); + } + wfOpsService.deleteProcessInstance(ops); + return R.success("操作成功"); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/controller/WfProxyController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/controller/WfProxyController.java new file mode 100644 index 0000000..7016863 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/controller/WfProxyController.java @@ -0,0 +1,94 @@ +package org.springblade.plugin.workflow.ops.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import lombok.AllArgsConstructor; + +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.plugin.workflow.ops.entity.WfProxy; +import org.springblade.plugin.workflow.ops.vo.WfProxyVO; +import org.springblade.plugin.workflow.ops.wrapper.WfProxyWrapper; +import org.springblade.plugin.workflow.ops.service.IWfProxyService; +import org.springblade.core.boot.ctrl.BladeController; + +/** + * 流程代理 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/ops/proxy") +@Tag(name = "流程代理", description = "流程代理接口") +public class WfProxyController extends BladeController { + + private final IWfProxyService wfProxyService; + + /** + * 详情 + */ + @GetMapping("/detail") + @Operation(summary = "详情", description = "传入wfProxy") + public R detail(WfProxy wfProxy) { + WfProxy detail = wfProxyService.getOne(Condition.getQueryWrapper(wfProxy)); + return R.data(WfProxyWrapper.build().entityVO(detail)); + } + + /** + * 分页 流程代理 + */ + @GetMapping("/list") + @Operation(summary = "分页", description = "传入wfProxy") + public R> list(WfProxy wfProxy, Query query) { + QueryWrapper wrapper = Condition.getQueryWrapper(wfProxy) + .orderByDesc("id"); + if (StringUtil.isNotBlank(wfProxy.getProcessDefKey())) { + wrapper.like("process_def_key", wfProxy.getProcessDefKey()); + wfProxy.setProcessDefKey(null); + } + IPage pages = wfProxyService.page(Condition.getPage(query), wrapper); + return R.data(WfProxyWrapper.build().pageVO(pages)); + } + + + /** + * 新增或修改 流程代理 + */ + @PostMapping("/submit") + @Operation(summary = "新增或修改", description = "传入wfProxy") + public R submit(@RequestBody WfProxy wfProxy) { + if (ObjectUtil.isNotEmpty(wfProxy.getId())) { + try { + wfProxyService.updateById(wfProxy); + return R.success("操作成功"); + } catch (DuplicateKeyException ignore) { + return R.fail("当前委托人已存在相同流程的代理"); + } + } else { + return (R) wfProxyService.create(wfProxy); + } + } + + + /** + * 删除 流程代理 + */ + @PostMapping("/remove") + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) { + return R.status(wfProxyService.removeByIds(Func.toLongList(ids))); + } + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/dto/WfProxyDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/dto/WfProxyDTO.java new file mode 100644 index 0000000..f55152b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/dto/WfProxyDTO.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.ops.dto; + +import org.springblade.plugin.workflow.ops.entity.WfProxy; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程代理数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfProxyDTO extends WfProxy { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/entity/WfProxy.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/entity/WfProxy.java new file mode 100644 index 0000000..d6384df --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/entity/WfProxy.java @@ -0,0 +1,56 @@ +package org.springblade.plugin.workflow.ops.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springblade.core.tenant.mp.TenantEntity; + +/** + * 流程代理实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_proxy") +@Schema(name = "WfProxy对象", description = "流程代理") +public class WfProxy implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @JsonSerialize(using = ToStringSerializer.class) + @Schema(description = "主键id") + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; + + @Schema(description = "委托人") + private Long userId; + + @Schema(description = "代理人") + private Long proxyUserId; + + @Schema(description = "流程定义key") + private String processDefKey; + + @Schema(description = "1永久 2定时") + private String type; + + @Schema(description = "开始时间") + private LocalDateTime startTime; + + @Schema(description = "结束时间") + private LocalDateTime endTime; + + @Schema(description = "业务状态") + private Integer status; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/mapper/WfProxyMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/mapper/WfProxyMapper.java new file mode 100644 index 0000000..8dc15cd --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/mapper/WfProxyMapper.java @@ -0,0 +1,13 @@ +package org.springblade.plugin.workflow.ops.mapper; + +import org.springblade.plugin.workflow.ops.entity.WfProxy; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 流程代理 Mapper 接口 + * + * @author ssc + */ +public interface WfProxyMapper extends BaseMapper { + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/mapper/WfProxyMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/mapper/WfProxyMapper.xml new file mode 100644 index 0000000..b21d0db --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/mapper/WfProxyMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/model/WfOps.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/model/WfOps.java new file mode 100644 index 0000000..0e2dba6 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/model/WfOps.java @@ -0,0 +1,74 @@ +package org.springblade.plugin.workflow.ops.model; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.plugin.workflow.process.model.WfProcess; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = true) +public class WfOps extends WfProcess { + + @Schema(description = "id") + private String id; + + @Schema(description = "标题") + private String title; + + @Schema(description = "流程定义名称") + private String processDefinitionName; + + @Schema(description = "流程定义key") + private String processDefinitionKey; + + @Schema(description = "流程实例id") + private String processInstanceId; + + @Schema(description = "审核人") + private String assignee; + + @Schema(description = "候选人") + private String candidateUsers; + + @Schema(description = "候选组") + private String candidateGroups; + + @Schema(description = "任务id") + private String taskId; + + @Schema(description = "任务名称") + private String taskName; + + @Schema(description = "节点id") + private String nodeId; + + @Schema(description = "分类") + private String category; + + @Schema(description = "流水号") + private String serialNumber; + + @Schema(description = "创建时间") + private Date createTime; + + @Schema(description = "结束时间") + private Date endTime; + + @Schema(description = "是否挂起") + private Boolean isSuspended; + + @Schema(description = "外置表单key") + private String formKey; + + @Schema(description = "外置表单url") + private String formUrl; + + @Schema(description = "是否多实例") + private Boolean isMultiInstance; + + @Schema(description = "流转信息") + private String flow; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/IWfOpsService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/IWfOpsService.java new file mode 100644 index 0000000..6412430 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/IWfOpsService.java @@ -0,0 +1,49 @@ +package org.springblade.plugin.workflow.ops.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.support.Query; +import org.springblade.plugin.workflow.ops.model.WfOps; +import org.springblade.plugin.workflow.process.model.WfNode; + +import java.util.List; + +/** + * 流程运维 服务 + * + * @author ssc + */ +public interface IWfOpsService { + + IPage list(WfOps ops, Query query); + + IPage processList(WfOps ops, Query query); + + void completeTask(WfOps ops); + + void changeTaskAssignee(WfOps ops); + + void changeTaskStatus(WfOps ops); + + void transferTask(WfOps ops); + + void delegateTask(WfOps ops); + + void copyTask(WfOps ops); + + void urgeTask(WfOps ops); + + void terminateProcess(WfOps ops); + + List processNodes(WfOps ops); + + void rollbackTask(WfOps ops); + + void dispatchTask(WfOps ops); + + void addMultiInstance(WfOps ops); + + void deleteMultiInstance(WfOps ops); + + void deleteProcessInstance(WfOps ops); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/IWfProxyService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/IWfProxyService.java new file mode 100644 index 0000000..f6b69de --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/IWfProxyService.java @@ -0,0 +1,36 @@ +package org.springblade.plugin.workflow.ops.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.ops.entity.WfProxy; + +import java.util.LinkedHashSet; + +/** + * 流程代理 服务类 + * + * @author ssc + */ +public interface IWfProxyService extends IService { + + Object create(WfProxy proxy); + + /** + * 获取流程的代理用户 + * + * @param userId 原用户 + * @param processInsId 流程实例id + * @return 代理用户 + */ + String getProxyUser(String userId, String processInsId); + + /** + * 获取流程的代理用户 + * + * @param users 原用户列表 + * @param processInsId 流程实例id + * @return 代理用户 + */ + LinkedHashSet getProxyUsers(LinkedHashSet users, String processInsId); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/impl/WfOpsServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/impl/WfOpsServiceImpl.java new file mode 100644 index 0000000..e7d9001 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/impl/WfOpsServiceImpl.java @@ -0,0 +1,544 @@ +package org.springblade.plugin.workflow.ops.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.AllArgsConstructor; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.FlowElement; +import org.flowable.bpmn.model.Process; +import org.flowable.bpmn.model.UserTask; +import org.flowable.engine.HistoryService; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; +import org.flowable.engine.TaskService; +import org.flowable.engine.repository.ProcessDefinition; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.engine.task.Comment; +import org.flowable.task.api.Task; +import org.flowable.task.api.TaskQuery; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.cache.WfProcessCache; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.user.WfUserCache; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.core.utils.WfSearchUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.ops.model.WfOps; +import org.springblade.plugin.workflow.ops.service.IWfOpsService; +import org.springblade.plugin.workflow.process.dto.WfCopyDTO; +import org.springblade.plugin.workflow.process.entity.WfCopy; +import org.springblade.plugin.workflow.process.entity.WfNotice; +import org.springblade.plugin.workflow.process.model.WfNode; +import org.springblade.plugin.workflow.process.model.WfProcess; +import org.springblade.plugin.workflow.process.model.WfTaskUser; +import org.springblade.plugin.workflow.process.service.IWfCopyService; +import org.springblade.plugin.workflow.process.service.IWfNoticeService; +import org.springblade.plugin.workflow.process.service.IWfProcessService; +import org.springblade.plugin.workflow.process.service.IWfTaskService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.stream.Collectors; + +/** + * 流程运维 服务实现类 + * + * @author ssc + */ +@Service +@AllArgsConstructor +public class WfOpsServiceImpl implements IWfOpsService { + + private final IWfProcessService wfProcessService; + private final IWfTaskService wfTaskService; + private final IWfCopyService wfCopyService; + private final IWfNoticeService wfNoticeService; + + private final RuntimeService runtimeService; + private final TaskService taskService; + private final RepositoryService repositoryService; + private final HistoryService historyService; + + @Override + public IPage list(WfOps ops, Query query) { + IPage page = new Page<>(); + + TaskQuery taskInstanceQuery = taskService.createTaskQuery() + .orderByTaskCreateTime().desc() + .taskTenantId(WfTaskUtil.getTenantId()); + + if (ObjectUtil.isNotEmpty(ops.getIsSuspended())) { // 是否挂起 + if (ops.getIsSuspended()) { + taskInstanceQuery.suspended(); + } else { + taskInstanceQuery.active(); + } + } + + WfSearchUtil.buildSearchQuery(taskInstanceQuery, ops); + + long count = taskInstanceQuery.count(); + page.setTotal(count); + if (count > 0) { + List list = new ArrayList<>(); + List taskList = taskInstanceQuery.listPage(Func.toInt((query.getCurrent() - 1) * query.getSize()), Func.toInt(query.getSize())); + taskList.forEach(task -> { + WfOps wfOps = new WfOps(); + // ProcessDefinition + ProcessDefinition processDefinition = WfProcessCache.getProcessDefinition(task.getProcessDefinitionId()); + wfOps.setProcessDefinitionName(processDefinition.getName()); + wfOps.setProcessDefinitionKey(processDefinition.getKey()); + wfOps.setCategory(processDefinition.getCategory()); + // Task + wfOps.setId(task.getId()); + wfOps.setTaskId(task.getId()); + wfOps.setTaskName(task.getName()); + wfOps.setProcessInstanceId(task.getProcessInstanceId()); + wfOps.setCreateTime(task.getCreateTime()); + wfOps.setIsSuspended(task.isSuspended()); + wfOps.setIsMultiInstance(wfTaskService.isMultiInstance(task.getTaskDefinitionKey(), task.getProcessDefinitionId())); + if (StringUtil.isNotBlank(task.getAssignee())) { + WfUser user = WfUserCache.getUser(Long.valueOf(task.getAssignee())); + if (user != null) { + wfOps.setAssignee(user.getName()); + } + } else { + WfTaskUser taskUser = wfTaskService.getTaskUser(task.getProcessDefinitionId(), task.getProcessInstanceId(), task.getTaskDefinitionKey(), WfTaskUtil.getTaskUser()); + List userList = taskUser.getUserList(); + if (ObjectUtil.isNotEmpty(userList)) { + wfOps.setAssignee(userList.stream().map(WfUser::getName).collect(Collectors.joining("/"))); + } + } + // Variables + Object applyUsername = runtimeService.getVariable(task.getProcessInstanceId(), WfProcessConstant.TASK_VARIABLE_APPLY_USER_NAME); + if (ObjectUtil.isNotEmpty(applyUsername)) { + wfOps.setStartUsername(applyUsername.toString()); + } + Object sn = runtimeService.getVariable(task.getProcessInstanceId(), WfProcessConstant.TASK_VARIABLE_SN); + if (ObjectUtil.isNotEmpty(sn)) { + wfOps.setSerialNumber(sn.toString()); + } + // ProcessInstance + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() + .processInstanceId(task.getProcessInstanceId()) + .singleResult(); + wfOps.setProcessDefinitionName(processInstance.getName()); + // 扩展属性 + BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId()); + String exFormKey = WfModelUtil.getUserTaskExtensionAttribute(bpmnModel, WfExtendConstant.EX_FORM_KEY); + if (StringUtil.isNotBlank(exFormKey)) { + wfOps.setFormKey(WfProcessConstant.EX_FORM_PREFIX + exFormKey); + } + String exFormUrl = WfModelUtil.getUserTaskExtensionAttribute(bpmnModel, WfExtendConstant.EX_FORM_URL); + if (StringUtil.isNotBlank(exFormUrl)) { + wfOps.setFormKey(exFormUrl); + } + + list.add(wfOps); + }); + page.setRecords(list); + } + + return page; + } + + @Override + public IPage processList(WfOps ops, Query query) { + IPage page = new Page<>(); + + IPage processIPage = wfProcessService.selectProcessPage(ops, query); + long count = processIPage.getTotal(); + List list = new ArrayList<>(); + if (count > 0) { + processIPage.getRecords().forEach(p -> { + WfOps wfOps = Objects.requireNonNull(BeanUtil.copyProperties(p, WfOps.class)); + Future> historyFlowList = wfProcessService.historyFlowList(p.getProcessInstanceId(), null, null, WfTaskUtil.getTokenUser()); + + // 可在此处处理自己的业务字段 +// HistoricVariableInstanceQuery varQuery = historyService.createHistoricVariableInstanceQuery().processInstanceId(p.getProcessInstanceId()); +// ... + try { + boolean hasApplyNode = false; + StringBuilder flows = new StringBuilder(); + List flowList = historyFlowList.get(); + for (WfProcess flow : flowList) { + if (Arrays.asList(WfProcessConstant.SEQUENCE_FLOW, WfProcessConstant.CANDIDATE).contains(flow.getHistoryActivityType())) { + continue; + } + if (WfProcessConstant.START_EVENT.equals(flow.getHistoryActivityType())) { // 发起人 + flows = new StringBuilder(); + hasApplyNode = false; + flows.append(flow.getAssigneeName()).append(WfProcessConstant.CONNECTOR); + } else if (WfProcessConstant.USER_TASK.equals(flow.getHistoryActivityType())) { // 用户任务节点 + if (Arrays.asList("发起人", "申请人").contains(flow.getHistoryActivityName())) { + hasApplyNode = true; + } + flows.append(flow.getAssigneeName()); + List comments = flow.getComments(); + Collections.reverse(comments); + if (!comments.isEmpty()) { // 节点内流转 + flows.append("("); + for (Comment comment : comments) { + switch (comment.getType()) { + case WfProcessConstant.COMMENT_TYPE_WITHDRAW: + flows.append("【撤销】"); + break; + case WfProcessConstant.COMMENT_TYPE_RECALL: + flows.append("【撤回】"); + break; + case WfProcessConstant.COMMENT_TYPE_ROLLBACK: + flows.append("【驳回】"); + break; + case WfProcessConstant.COMMENT_TYPE_ADD_MULTI_INSTANCE: + flows.append("【加签】"); + break; + case WfProcessConstant.COMMENT_TYPE_DELETE_MULTI_INSTANCE: + flows.append("【减签】"); + break; + case WfProcessConstant.COMMENT_TYPE_DISPATCH: + flows.append("【调度】"); + break; + case WfProcessConstant.COMMENT_TYPE_TRANSFER: + flows.append("【转办】"); + break; + case WfProcessConstant.COMMENT_TYPE_DELEGATE: + flows.append("【委托】"); + break; + case WfProcessConstant.COMMENT_TYPE_TERMINATE: + flows.append("【终止】"); + break; + case WfProcessConstant.COMMENT_TYPE_COMMENT: + flows.append("【审批】"); + break; + case WfProcessConstant.COMMENT_TYPE_ASSIGNEE: + flows.append("【变更】"); + break; + } + flows.append(comment.getFullMessage()).append(";"); + } + flows.append(")"); + } + flows.append(WfProcessConstant.CONNECTOR); + } else if (WfProcessConstant.END_EVENT.equals(flow.getHistoryActivityType())) { + flows.append("结束"); + } + } + String flow = flows.toString(); + if (hasApplyNode) { // 若包含发起人节点,去除开始节点和发起人节点重复的问题 + flow = flow.substring(flow.indexOf(WfProcessConstant.CONNECTOR) + 2); + } + if (!flow.endsWith("结束") && flow.contains(WfProcessConstant.CONNECTOR)) { + String substring = flow.substring(0, flow.lastIndexOf(WfProcessConstant.CONNECTOR)); + substring += "(审核中)"; + wfOps.setFlow(substring); + } else { + wfOps.setFlow(flow); + } + } catch (InterruptedException | ExecutionException ignore) { + } + + list.add(wfOps); + }); + } + page.setTotal(processIPage.getTotal()); + page.setRecords(list); + return page; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void completeTask(WfOps ops) { + String taskId = ops.getTaskId(); + if (StringUtil.isBlank(ops.getComment())) { + WfUser user = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + ops.setComment(user.getName() + "操作"); + } + String[] taskIds = taskId.split(","); + for (String id : taskIds) { + Task task = taskService.createTaskQuery().taskId(id).singleResult(); + if (task != null) { + if (task.getAssignee() == null) { + taskService.setAssignee(task.getId(), WfTaskUtil.getTaskUser()); + } + ProcessDefinition definition = WfProcessCache.getProcessDefinition(task.getProcessDefinitionId()); + + ops.setTaskId(id); + ops.setProcessInstanceId(task.getProcessInstanceId()); + ops.setProcessDefinitionId(definition.getId()); + ops.setProcessDefinitionName(definition.getName()); + wfProcessService.completeTask(ops); + } + } + } + + @Override + public void changeTaskAssignee(WfOps ops) { + String taskId = ops.getTaskId(); + String assignee = ops.getAssignee(); + String[] taskIds = taskId.split(","); + for (String id : taskIds) { + Task task = taskService.createTaskQuery().taskId(id).singleResult(); + if (task == null) continue; + try { + WfUser fromUser = WfUserCache.getUser(task.getAssignee() == null ? Long.valueOf(WfTaskUtil.getTaskUser()) : Long.valueOf(task.getAssignee())); + WfUser toUser = WfUserCache.getUser(Long.valueOf(assignee)); + String message = fromUser.getName() + "→" + toUser.getName(); + if (StringUtil.isNotBlank(ops.getComment())) { + message += ":" + ops.getComment(); + } + taskService.addComment(task.getId(), task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_ASSIGNEE, message); + taskService.setAssignee(task.getId(), assignee); + + // 处理消息 + wfNoticeService.sendNotice(new WfNotice() + .setFromUserId(WfTaskUtil.getTaskUser()) + .setToUserId(assignee) + .setProcessInsId(task.getProcessInstanceId()) + .setTask(task) + .setType(WfNotice.Type.ASSIGNEE)); + } catch (Exception ignore) { + } + } + } + + @Override + public void changeTaskStatus(WfOps ops) { + String taskId = ops.getTaskId(); + Boolean isSuspended = ops.getIsSuspended(); + String[] taskIds = taskId.split(","); + for (String id : taskIds) { + Task task = taskService.createTaskQuery().taskId(id).singleResult(); + if (task == null) continue; + try { + if (isSuspended && !task.isSuspended()) { + runtimeService.suspendProcessInstanceById(task.getProcessInstanceId()); + + // 处理消息 + wfNoticeService.sendNotice(new WfNotice() + .setFromUserId(WfTaskUtil.getTaskUser()) + .setToUserId(task.getAssignee()) + .setProcessInsId(task.getProcessInstanceId()) + .setTask(task) + .setType(WfNotice.Type.SUSPEND)); + } else if (!isSuspended && task.isSuspended()) { + runtimeService.activateProcessInstanceById(task.getProcessInstanceId()); + + // 处理消息 + wfNoticeService.sendNotice(new WfNotice() + .setFromUserId(WfTaskUtil.getTaskUser()) + .setToUserId(task.getAssignee()) + .setProcessInsId(task.getProcessInstanceId()) + .setTask(task) + .setType(WfNotice.Type.ACTIVE)); + } + } catch (Exception ignore) { + } + } + } + + @Override + public void transferTask(WfOps ops) { + String taskId = ops.getTaskId(); + String[] taskIds = taskId.split(","); + if (StringUtil.isBlank(ops.getComment())) { + WfUser user = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + ops.setComment(user.getName() + "操作"); + } + for (String id : taskIds) { + ops.setTaskId(id); + wfProcessService.transferTask(ops); + } + } + + @Override + public void delegateTask(WfOps ops) { + String taskId = ops.getTaskId(); + String[] taskIds = taskId.split(","); + if (StringUtil.isBlank(ops.getComment())) { + WfUser user = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + ops.setComment(user.getName() + "操作"); + } + for (String id : taskIds) { + ops.setTaskId(id); + wfProcessService.delegateTask(ops); + } + } + + @Override + public void copyTask(WfOps ops) { + String taskId = ops.getTaskId(); + String assignee = ops.getAssignee(); + String[] taskIds = taskId.split(","); + for (String id : taskIds) { + Task task = taskService.createTaskQuery().taskId(id).singleResult(); + if (task != null) { + wfCopyService.resolveCopyUser((WfCopyDTO) new WfCopyDTO() + .setCopyUser(assignee) + .setTask(task)); + } + } + } + + @Override + public void urgeTask(WfOps ops) { + String taskId = ops.getTaskId(); + String[] taskIds = taskId.split(","); + for (String id : taskIds) { + Task task = taskService.createTaskQuery().taskId(id).singleResult(); + if (task == null || task.getAssignee() == null) continue; + // 处理消息 + wfNoticeService.sendNotice(new WfNotice() + .setFromUserId(WfTaskUtil.getTaskUser()) + .setToUserId(task.getAssignee()) + .setProcessInsId(task.getProcessInstanceId()) + .setTask(task) + .setType(WfNotice.Type.URGE)); + } + } + + @Override + public void terminateProcess(WfOps ops) { + String taskId = ops.getTaskId(); + String[] taskIds = taskId.split(","); + if (StringUtil.isBlank(ops.getComment())) { + WfUser user = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + ops.setComment(user.getName() + "操作"); + } + for (String id : taskIds) { + ops.setTaskId(id); + wfProcessService.terminateProcess(ops); + } + } + + @Override + public List processNodes(WfOps ops) { + String taskId = ops.getTaskId(); + String processInstanceId = ops.getProcessInstanceId(); + if (StringUtil.isNotBlank(taskId)) { + return wfProcessService.getBackNodes(ops); + } else { + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); + Process process = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId()).getMainProcess(); + Collection flowElements = process.getFlowElements(); + List result = new ArrayList<>(); + + flowElements.forEach(flowElement -> { + if (flowElement instanceof UserTask) { + WfNode vo = new WfNode(); + vo.setNodeName(flowElement.getName()); + vo.setNodeId(flowElement.getId()); + result.add(vo); + } + }); + return result; + } + } + + @Override + public void rollbackTask(WfOps ops) { + if (StringUtil.isBlank(ops.getComment())) { + WfUser user = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + ops.setComment(user.getName() + "操作"); + } + wfProcessService.rollbackTask(ops); + } + + @Override + public void dispatchTask(WfOps ops) { + if (StringUtil.isBlank(ops.getComment())) { + WfUser user = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + ops.setComment(user.getName() + "操作"); + } + String taskId = ops.getTaskId(); + String comment = ops.getComment(); + String nodeId = ops.getNodeId(); + + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return; + } + Process process = repositoryService.getBpmnModel(task.getProcessDefinitionId()).getMainProcess(); + FlowElement toNode = process.getFlowElement(nodeId, true); + comment = task.getName() + "→" + toNode.getName() + ":" + comment; + + taskService.addComment(taskId, task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_DISPATCH, comment); + + // 调度任务 + wfProcessService.dispatchTaskTo(task.getProcessInstanceId(), nodeId); + } + + @Override + public void addMultiInstance(WfOps ops) { + if (StringUtil.isBlank(ops.getComment())) { + WfUser user = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + ops.setComment(user.getName() + "操作:"); + } + wfProcessService.addMultiInstance(ops); + } + + @Override + public void deleteMultiInstance(WfOps ops) { + String taskId = ops.getTaskId(); + String comment = ops.getComment(); + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return; + } + if (StringUtil.isBlank(comment)) { + WfUser user = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + comment = user.getName() + "操作"; + } + // 添加评论 + taskService.addComment(taskId, task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_DELETE_MULTI_INSTANCE, comment); + // 处理减签 + runtimeService.deleteMultiInstanceExecution(task.getExecutionId(), false); + // 处理消息 + if (StringUtil.isNotBlank(task.getAssignee())) { + wfNoticeService.sendNotice(new WfNotice() + .setFromUserId(WfTaskUtil.getTaskUser()) + .setToUserId(task.getAssignee()) + .setProcessInsId(task.getProcessInstanceId()) + .setTask(task) + .setComment(comment) + .setType(WfNotice.Type.DELETE_MULTI_INSTANCE)); + } + } + + @Override + public void deleteProcessInstance(WfOps ops) { + String[] arr = ops.getProcessInstanceId().split(","); + for (String processInsId : arr) { + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() + .processInstanceId(processInsId) + .singleResult(); + if (processInstance != null) { + String comment = ops.getComment(); + if (StringUtil.isBlank(comment)) { + WfUser user = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + comment = user.getName() + "操作"; + } + List list = taskService.createTaskQuery().processInstanceId(processInsId).list(); + String finalComment = comment; + list.forEach(t -> taskService.addComment(t.getId(), processInsId, WfProcessConstant.COMMENT_TYPE_DELETE_PROCESS, finalComment)); + runtimeService.deleteProcessInstance(processInsId, comment); + + // 删除抄送 + wfCopyService.remove(new LambdaQueryWrapper() + .eq(WfCopy::getProcessId, processInsId)); + } + if ("force".equals(ops.getStatus())) { // 物理删除 + historyService.deleteHistoricProcessInstance(processInsId); + } + } + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/impl/WfProxyServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/impl/WfProxyServiceImpl.java new file mode 100644 index 0000000..dabb7a1 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/service/impl/WfProxyServiceImpl.java @@ -0,0 +1,135 @@ +package org.springblade.plugin.workflow.ops.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.flowable.engine.RuntimeService; +import org.flowable.engine.runtime.ProcessInstance; +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.user.WfUserCache; +import org.springblade.plugin.workflow.ops.entity.WfProxy; +import org.springblade.plugin.workflow.ops.mapper.WfProxyMapper; +import org.springblade.plugin.workflow.ops.service.IWfProxyService; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; + +/** + * 流程代理 服务实现类 + * + * @author ssc + */ +@Service +@RequiredArgsConstructor +public class WfProxyServiceImpl extends ServiceImpl implements IWfProxyService { + + private final String WF_ALL_PROCESS = "WF_ALL_PROCESS"; + private final String PROXY_TYPE_FOREVER = "1"; + private final String PROXY_TYPE_TIMING = "2"; + + private final RuntimeService runtimeService; + + @Override + public Object create(WfProxy proxy) { + String processDefKey = proxy.getProcessDefKey(); + String[] arr = processDefKey.split(","); + int count = 0; + for (String key : arr) { + try { + proxy.setId(null); + proxy.setProcessDefKey(key); + this.save(proxy); + count++; + } catch (DuplicateKeyException ignore) { + } + } + if (count > 0 && arr.length == count) { + return R.success("操作成功"); + } else if (count == 0) { + return R.fail("操作失败,当前委托人已存在相同流程的代理"); + } else { + return R.success("部分操作成功,当前委托人已存在部分相同流程的代理"); + } + } + + @Override + public String getProxyUser(String userId, String processInsId) { + long uid; + try { + uid = Long.parseLong(userId); + if (uid < 0) { + return null; + } + } catch (Exception e) { + return userId; + } + LinkedHashSet users = new LinkedHashSet<>(); + users.add(WfUserCache.getUser(uid)); + users = this.getProxyUsers(users, processInsId); + if (users.isEmpty()) { + return null; + } + WfUser user = new ArrayList<>(users).get(0); + if (user != null) { + return String.valueOf(user.getId()); + } + return userId; + } + + @Override + public LinkedHashSet getProxyUsers(LinkedHashSet users, String processInsId) { + try { + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() + .processInstanceId(processInsId) + .singleResult(); + if (processInstance == null) return users; + LocalDateTime now = LocalDateTime.now(); + LinkedHashSet userList = new LinkedHashSet<>(); + users.forEach(user -> { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(WfProxy::getUserId, user.getId()) + .eq(WfProxy::getStatus, "1"); + List list = this.list(queryWrapper); + if (list.isEmpty()) { + userList.add(user); + } else { + boolean hasProxy = false; + for (WfProxy proxy : list) { + String processDefKey = proxy.getProcessDefKey(); + String type = proxy.getType(); + LocalDateTime startTime = proxy.getStartTime(); + LocalDateTime endTime = proxy.getEndTime(); + // 全部或某个流程、永久 + if (PROXY_TYPE_FOREVER.equals(type) && + (WF_ALL_PROCESS.equals(processDefKey) || processInstance.getProcessDefinitionKey().equals(processDefKey))) { + userList.add(WfUserCache.getUser(proxy.getProxyUserId())); + hasProxy = true; + break; + } + // 全部或某个流程、定时 + else if (PROXY_TYPE_TIMING.equals(type) && + (WF_ALL_PROCESS.equals(processDefKey) || processInstance.getProcessDefinitionKey().equals(processDefKey))) { + if (now.isAfter(startTime) && now.isBefore(endTime)) { // 在时间段内 + userList.add(WfUserCache.getUser(proxy.getProxyUserId())); + hasProxy = true; + break; + } + } + } + if (!hasProxy) { + userList.add(user); + } + } + }); + return userList; + } catch (Exception e) { + return users; + } + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/vo/WfProxyVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/vo/WfProxyVO.java new file mode 100644 index 0000000..b66ccaa --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/vo/WfProxyVO.java @@ -0,0 +1,22 @@ +package org.springblade.plugin.workflow.ops.vo; + +import org.springblade.plugin.workflow.ops.entity.WfProxy; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程代理视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfProxyVO对象", description = "流程代理") +public class WfProxyVO extends WfProxy { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/wrapper/WfProxyWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/wrapper/WfProxyWrapper.java new file mode 100644 index 0000000..89db704 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/ops/wrapper/WfProxyWrapper.java @@ -0,0 +1,32 @@ +package org.springblade.plugin.workflow.ops.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.ops.entity.WfProxy; +import org.springblade.plugin.workflow.ops.vo.WfProxyVO; +import java.util.Objects; + +/** + * 流程代理包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfProxyWrapper extends BaseEntityWrapper { + + public static WfProxyWrapper build() { + return new WfProxyWrapper(); + } + + @Override + public WfProxyVO entityVO(WfProxy wfProxy) { + WfProxyVO wfProxyVO = Objects.requireNonNull(BeanUtil.copyProperties(wfProxy, WfProxyVO.class)); + + //User createUser = UserCache.getUser(wfProxy.getCreateUser()); + //User updateUser = UserCache.getUser(wfProxy.getUpdateUser()); + //wfProxyVO.setCreateUserName(createUser.getName()); + //wfProxyVO.setUpdateUserName(updateUser.getName()); + + return wfProxyVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfDraftController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfDraftController.java new file mode 100644 index 0000000..766f6a3 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfDraftController.java @@ -0,0 +1,51 @@ +package org.springblade.plugin.workflow.process.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; + +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.process.entity.WfDraft; +import org.springframework.web.bind.annotation.*; +import org.springblade.plugin.workflow.process.service.IWfDraftService; +import org.springblade.core.boot.ctrl.BladeController; + +/** + * 流程草稿箱 控制器 + * + * @author ssc + */ +@RestController +@AllArgsConstructor +@RequestMapping("/process/draft") +@Tag(name = "流程草稿箱", description = "流程草稿箱接口") +public class WfDraftController extends BladeController { + + private final IWfDraftService wfDraftService; + + @GetMapping("detail") + @Operation(summary = "详情") + @Parameters({ + @Parameter(name = "processDefId", description = "流程定义id"), + @Parameter(name = "platform", description = "平台 pc/app"), + }) + public R detail(WfDraft wfDraft) { + wfDraft.setUserId(Long.valueOf(WfTaskUtil.getTaskUser())); + return R.data(wfDraftService.getOne(new QueryWrapper<>(wfDraft))); + } + + @PostMapping("submit") + @Operation(summary = "保存") + @Parameters({ + @Parameter(name = "processDefId", description = "流程定义id"), + @Parameter(name = "platform", description = "平台 pc/app"), + }) + public R submit(@RequestBody WfDraft wfDraft) { + wfDraftService.submit(wfDraft); + return R.success("保存成功"); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfProcessController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfProcessController.java new file mode 100644 index 0000000..d2e67d6 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfProcessController.java @@ -0,0 +1,402 @@ +package org.springblade.plugin.workflow.process.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import org.flowable.engine.HistoryService; +import org.flowable.task.api.history.HistoricTaskInstance; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.design.entity.WfButton; +import org.springblade.plugin.workflow.design.entity.WfProcessDef; +import org.springblade.plugin.workflow.design.service.IWfButtonService; +import org.springblade.plugin.workflow.design.service.IWfDesignService; +import org.springblade.plugin.workflow.design.service.IWfFormService; +import org.springblade.plugin.workflow.process.entity.WfCopy; +import org.springblade.plugin.workflow.process.model.WfNode; +import org.springblade.plugin.workflow.process.model.WfProcess; +import org.springblade.plugin.workflow.process.service.IWfCopyService; +import org.springblade.plugin.workflow.process.service.IWfProcessService; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; + +@RestController +@RequestMapping("/process") +@AllArgsConstructor +public class WfProcessController { + + private final IWfDesignService designService; + private final IWfProcessService processService; + private final IWfFormService formService; + private final IWfButtonService buttonService; + private final IWfCopyService copyService; + + private final HistoryService historyService; + + @GetMapping("processList") + @Operation(summary = "可发起流程列表") + @Parameters({ + @Parameter(name = "name", description = "流程名称"), + @Parameter(name = "key", description = "流程标识"), + @Parameter(name = "category", description = "流程分类"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> processList(@Parameter(hidden = true) WfProcessDef processDef, Query query) { + if (ObjectUtil.isAnyEmpty(query.getCurrent(), query.getSize())) { + return R.fail("参数错误"); + } + processDef.setStatus(1); + processDef.setScope(true); + return R.data(designService.deploymentPage(processDef, query)); + } + + @GetMapping("getFormByProcessId") + @Operation(summary = "获取流程表单") + @Parameters({ + @Parameter(name = "processId", description = "流程定义id", required = true), + }) + public R> getFormByProcessId(String processId) { + if (ObjectUtil.isAnyEmpty(processId)) { + return R.fail("参数错误"); + } + return R.data(formService.getFormByProcessDefId(processId)); + } + + @GetMapping("getFormByProcessDefKey") + @Operation(summary = "获取流程表单") + @Parameters({ + @Parameter(name = "processDefKey", description = "流程定义key", required = true), + }) + public R> getFormByProcessDefKey(String processDefKey) { + if (ObjectUtil.isAnyEmpty(processDefKey)) { + return R.fail("参数错误"); + } + return R.data(formService.getFormByProcessDefKey(processDefKey)); + } + + @PostMapping("startProcess") + @Operation(summary = "发起流程") + @Parameters({ + @Parameter(name = "processId", description = "流程定义id", required = true), + }) + public R startProcess(@Parameter(hidden = true) @RequestBody JSONObject body) { + String processDefId = body.getString("processId"); + body.remove("processId"); + try { + return R.data(processService.startProcessInstanceById(processDefId, body)); + } catch (Exception e) { + return R.fail(e.getLocalizedMessage()); + } + } + + @PostMapping("startProcessByKey") + @Operation(summary = "发起流程 - 根据key") + @Parameters({ + @Parameter(name = "processDefKey", description = "流程定义key", required = true), + }) + public R startProcessByKey(@Parameter(hidden = true) @RequestBody JSONObject body) { + String processDefKey = body.getString("processDefKey"); + body.remove("processDefKey"); + String businessKey = body.getString("businessKey"); + body.remove("businessKey"); + try { + return R.data(processService.startProcessInstanceByKey(processDefKey, businessKey, body)); + } catch (Exception e) { + return R.fail(e.getLocalizedMessage()); + } + } + + @GetMapping("todoList") + @Operation(summary = "待办列表(包含待签)") + @Parameters({ + @Parameter(name = "name", description = "流程名称"), + @Parameter(name = "key", description = "流程标识"), + @Parameter(name = "category", description = "流程分类"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> todoList(@Parameter(hidden = true) WfProcess process, Query query) { + if (ObjectUtil.isAnyEmpty(query.getCurrent(), query.getSize())) { + return R.fail("参数错误"); + } + process.setStatus(WfProcessConstant.STATUS_TODO); + return R.data(processService.selectTaskPage(process, query)); + } + + @GetMapping("doneList") + @Operation(summary = "办结列表") + @Parameters({ + @Parameter(name = "name", description = "流程名称"), + @Parameter(name = "key", description = "流程标识"), + @Parameter(name = "category", description = "流程分类"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> doneList(@Parameter(hidden = true) WfProcess process, Query query) { + if (ObjectUtil.isAnyEmpty(query.getCurrent(), query.getSize())) { + return R.fail("参数错误"); + } + process.setStatus(WfProcessConstant.STATUS_DONE); + return R.data(processService.selectProcessPage(process, query)); + } + + @GetMapping("myDoneList") + @Operation(summary = "我的已办(流程不一定办结)") + @Parameters({ + @Parameter(name = "name", description = "流程名称"), + @Parameter(name = "key", description = "流程标识"), + @Parameter(name = "category", description = "流程分类"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> myDoneList(@Parameter(hidden = true) WfProcess process, Query query) { + if (ObjectUtil.isAnyEmpty(query.getCurrent(), query.getSize())) { + return R.fail("参数错误"); + } + process.setStatus(WfProcessConstant.STATUS_DONE); + return R.data(processService.selectTaskPage(process, query)); + } + + @GetMapping("sendList") + @Operation(summary = "我的请求列表") + @Parameters({ + @Parameter(name = "name", description = "流程名称"), + @Parameter(name = "key", description = "流程标识"), + @Parameter(name = "category", description = "流程分类"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> sendList(@Parameter(hidden = true) WfProcess process, Query query) { + if (ObjectUtil.isAnyEmpty(query.getCurrent(), query.getSize())) { + return R.fail("参数错误"); + } + process.setStatus(WfProcessConstant.STATUS_SEND); + return R.data(processService.selectProcessPage(process, query)); + } + + @GetMapping("claimList") + @Operation(summary = "待签列表") + @Parameters({ + @Parameter(name = "name", description = "流程名称"), + @Parameter(name = "key", description = "流程标识"), + @Parameter(name = "category", description = "流程分类"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> claimList(@Parameter(hidden = true) WfProcess process, Query query) { + if (ObjectUtil.isAnyEmpty(query.getCurrent(), query.getSize())) { + return R.fail("参数错误"); + } + process.setStatus(WfProcessConstant.STATUS_CLAIM); + return R.data(processService.selectTaskPage(process, query)); + } + + @GetMapping("copyList") + @Operation(summary = "抄送列表") + @Parameters({ + @Parameter(name = "title", description = "标题"), + @Parameter(name = "initiator", description = "发起人"), + @Parameter(name = "current", description = "当前第几页", required = true), + @Parameter(name = "size", description = "每页条数", required = true), + }) + public R> page(@Parameter(hidden = true) @RequestParam Map copy, Query query) { + if (ObjectUtil.isAnyEmpty(query.getCurrent(), query.getSize())) { + return R.fail("参数错误"); + } + return R.data(copyService.page(Condition.getPage(query), Condition.getQueryWrapper(copy, WfCopy.class).eq("user_id", Long.valueOf(WfTaskUtil.getTaskUser())).orderByDesc("id"))); + } + + @GetMapping("detail") + @Operation(summary = "流程详情") + @Parameters({ + @Parameter(name = "taskId", description = "任务id"), + @Parameter(name = "processInsId", description = "流程实例id", required = true), + }) + public R> detail(String taskId, String processInsId) throws ExecutionException, InterruptedException { + if (ObjectUtil.isAnyEmpty(processInsId)) { + return R.fail("参数错误"); + } + // 流程查看权限,参与人或者抄送人。若无需此功能请注释。 + boolean access = processService.hasProcessAccess(processInsId, WfTaskUtil.getTaskUser()); + if (!access) { + return R.fail("暂无权限查看"); + } + if (StringUtil.isBlank(taskId)) { // 不传taskId的情况下,取最后一个创建的任务 + List list = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(processInsId) + .orderByHistoricTaskInstanceStartTime() + .desc() + .list(); + if (list.isEmpty()) { + return R.fail("查询不到任务详情"); + } + taskId = list.get(0).getId(); + } + Future processFuture = processService.detail(taskId, WfTaskUtil.getTaskUser(), WfTaskUtil.getCandidateGroup()); + Future> formFuture = formService.getFormByTaskId(taskId); + Future> flowFuture = processService.historyFlowList(processInsId, null, null, WfTaskUtil.getTokenUser()); + Future> buttonFuture = buttonService.getButtonByTaskId(taskId); + + Map result = new HashMap<>(); + result.put("process", processFuture.get()); + result.put("form", formFuture.get()); + result.put("flow", flowFuture.get()); + result.put("button", buttonFuture.get()); + return R.data(result); + } + + @GetMapping("getXmlByProcessDefId") + @Operation(summary = "获取模型xml - 根据processDefId") + @Parameters({ + @Parameter(name = "processDefId", description = "流程定义id", required = true), + }) + public R getXmlByProcessDefId(String processDefId) { + if (ObjectUtil.isAnyEmpty(processDefId)) { + return R.fail("参数错误"); + } + return R.data(processService.getXmlByProcessDefId(processDefId)); + } + + @GetMapping("getXmlByProcessDefKey") + @Operation(summary = "获取模型xml - 根据processDefKey") + @Parameters({ + @Parameter(name = "processDefKey", description = "流程定义key", required = true), + }) + public R getXmlByProcessDefKey(String processDefKey) { + if (ObjectUtil.isAnyEmpty(processDefKey)) { + return R.fail("参数错误"); + } + return R.data(processService.getXmlByProcessDefKey(processDefKey)); + } + + @PostMapping("completeTask") + @Operation(summary = "完成任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "processInstanceId", description = "流程实例id", required = true), + @Parameter(name = "pass", description = "同意/驳回", required = true), + @Parameter(name = "comment", description = "评论"), + @Parameter(name = "copyUser", description = "抄送人"), + @Parameter(name = "assignee", description = "指定审批人"), + @Parameter(name = "variables", description = "表单参数"), + }) + public R completeTask(@Parameter(hidden = true) @RequestBody WfProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getProcessInstanceId())) { + return R.fail("参数错误"); + } + return (R) processService.completeTask(process); + } + + @PostMapping("transferTask") + @Operation(summary = "转办任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "assignee", description = "接受人", required = true), + }) + public R transferTask(@Parameter(hidden = true) @RequestBody WfProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getAssignee())) { + return R.fail("参数错误"); + } + return (R) processService.transferTask(process); + } + + @PostMapping("delegateTask") + @Operation(summary = "代理任务") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "assignee", description = "接受人", required = true), + }) + public R delegateTask(@Parameter(hidden = true) @RequestBody WfProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getAssignee())) { + return R.fail("参数错误"); + } + return (R) processService.delegateTask(process); + } + + @PostMapping("claimTask") + @Operation(summary = "签收任务(签收成功后回到待办任务中)") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + }) + public R claimTask(@Parameter(hidden = true) @RequestBody WfProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId())) { + return R.fail("参数错误"); + } + return (R) processService.claimTask(process.getTaskId()); + } + + @GetMapping("getBackNodes") + @Operation(summary = "获取可退回节点") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + }) + public R> getBackNodes(@Parameter(hidden = true) WfProcess process) { + return R.data(processService.getBackNodes(process)); + } + + @PostMapping("rollbackTask") + @Operation(summary = "退回到指定节点") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "nodeId", description = "节点id", required = true), + @Parameter(name = "comment", description = "评论", required = true), + }) + public R rollbackTask(@Parameter(hidden = true) @RequestBody WfProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getNodeId(), process.getComment())) { + return R.fail("参数错误"); + } + return (R) processService.rollbackTask(process); + } + + @PostMapping("terminateProcess") + @Operation(summary = "终止流程") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + }) + public R terminateProcess(@Parameter(hidden = true) @RequestBody WfProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId())) { + return R.fail("参数错误"); + } + return (R) processService.terminateProcess(process); + } + + @PostMapping("addMultiInstance") + @Operation(summary = "加签") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "assignee", description = "加签人员", required = true), + }) + public R addMultiInstance(@Parameter(hidden = true) @RequestBody WfProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId(), process.getAssignee())) { + return R.fail("参数错误"); + } + return (R) processService.addMultiInstance(process); + } + + @PostMapping("withdrawTask") + @Operation(summary = "撤销/撤回") + @Parameters({ + @Parameter(name = "taskId", description = "任务id", required = true), + @Parameter(name = "withdrawType", description = "类型", required = true), + }) + public R withdrawTask(@Parameter(hidden = true) @RequestBody WfProcess process) { + if (ObjectUtil.isAnyEmpty(process.getTaskId())) { + return R.fail("参数错误"); + } + return (R) processService.withdrawTask(process); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfUserController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfUserController.java new file mode 100644 index 0000000..faa42a4 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/controller/WfUserController.java @@ -0,0 +1,32 @@ +package org.springblade.plugin.workflow.process.controller; + +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.RequiredArgsConstructor; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.user.WfUserCache; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springframework.web.bind.annotation.*; + +/** + * 系统用户 控制器 + * + * @author ssc + */ +@RestController +@RequestMapping("/process/user") +@RequiredArgsConstructor +public class WfUserController { + + @GetMapping("detail") + @Operation(summary = "详情") + @Parameters({ + @Parameter(name = "id", description = "用户id"), + }) + public R detail(Long id) { + return R.data(WfUserCache.getUser(ObjectUtil.isEmpty(id) ? AuthUtil.getUserId() : id)); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfBaseDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfBaseDTO.java new file mode 100644 index 0000000..813fb34 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfBaseDTO.java @@ -0,0 +1,45 @@ +package org.springblade.plugin.workflow.process.dto; + +import lombok.Data; +import lombok.experimental.Accessors; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.task.api.Task; + +import java.io.Serializable; +import java.util.Map; + +/** + * 数据传输对象实体类 + * + * @author ssc + */ +@Data +@Accessors(chain = true) +public class WfBaseDTO implements Serializable { + + /** + * 任务 + */ + private Task task; + + /** + * 任务id + */ + private String taskId; + + /** + * 流程实例 + */ + private ProcessInstance processInstance; + + /** + * 流程实例id + */ + private String processInstanceId; + + /** + * 流程变量 + */ + private Map variables; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfCopyDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfCopyDTO.java new file mode 100644 index 0000000..4fdfb90 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfCopyDTO.java @@ -0,0 +1,22 @@ +package org.springblade.plugin.workflow.process.dto; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 流程抄送数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +public class WfCopyDTO extends WfBaseDTO { + + /** + * 抄送人 + */ + private String copyUser; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfDraftDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfDraftDTO.java new file mode 100644 index 0000000..3bbdbdc --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfDraftDTO.java @@ -0,0 +1,20 @@ +package org.springblade.plugin.workflow.process.dto; + +import org.springblade.plugin.workflow.process.entity.WfDraft; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 流程草稿箱数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WfDraftDTO extends WfDraft { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfNoticeDTO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfNoticeDTO.java new file mode 100644 index 0000000..b66ffc5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/dto/WfNoticeDTO.java @@ -0,0 +1,29 @@ +package org.springblade.plugin.workflow.process.dto; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.process.entity.WfNotice; + +import java.util.List; + +/** + * 流程消息数据传输对象实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +public class WfNoticeDTO extends WfBaseDTO { + + private WfUser fromUser; + + private List toUser; + + private WfUser startUser; + + private WfNotice.Type type; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfCopy.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfCopy.java new file mode 100644 index 0000000..d719143 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfCopy.java @@ -0,0 +1,61 @@ + +package org.springblade.plugin.workflow.process.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import org.springblade.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程抄送实体类 + * + * @author ssc + */ +@Data +@TableName("blade_wf_copy") +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfCopy对象", description = "流程抄送") +public class WfCopy extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 用户id + */ + @Schema(description = "用户id") + private Long userId; + /** + * 标题 + */ + @Schema(description = "标题") + private String title; + /** + * 发起者 + */ + @Schema(description = "发起者") + private String initiator; + /** + * 任务id + */ + @Schema(description = "任务id") + private String taskId; + /** + * 流程实例id + */ + @Schema(description = "流程实例id") + private String processId; + + @Schema(description = "外置表单key") + private String formKey; + + @Schema(description = "外置表单url") + private String formUrl; + + @Schema(description = "流程部署id") + private String deploymentId; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfDraft.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfDraft.java new file mode 100644 index 0000000..df8eaeb --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfDraft.java @@ -0,0 +1,53 @@ +package org.springblade.plugin.workflow.process.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serial; +import java.io.Serializable; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.experimental.Accessors; + +/** + * 流程草稿箱实体类 + * + * @author ssc + */ +@Data +@Accessors(chain = true) +@TableName("blade_wf_draft") +@Schema(name = "WfDraft对象", description = "流程草稿箱") +public class WfDraft implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @JsonSerialize(using = ToStringSerializer.class) + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; + + @Schema(description = "用户id") + private Long userId; + + @Schema(description = "表单key") + private String formKey; + + @Schema(description = "流程定义id") + private String processDefId; + + @Schema(description = "任务id") + private String taskId; + + @Schema(description = "表单变量") + private String variables; + + @Schema(description = "平台 pc/app") + private String platform; + + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfNotice.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfNotice.java new file mode 100644 index 0000000..5b11fbe --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/entity/WfNotice.java @@ -0,0 +1,91 @@ +package org.springblade.plugin.workflow.process.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.Getter; +import lombok.experimental.Accessors; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.task.api.Task; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Map; + +/** + * 流程消息实体类 + * + * @author ssc + */ +@Data +@Accessors(chain = true) +public class WfNotice implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "发送者") + private String fromUserId; + + @Schema(description = "接受者") + private String toUserId; + + @Schema(description = "评论") + private String comment; + + @Schema(description = "任务id") + private String taskId; + + @Schema(description = "当前任务") + private Task task; + + @Schema(description = "流程实例id") + private String processInsId; + + @Schema(description = "流程实例") + private ProcessInstance processInstance; + + @Schema(description = "流程变量") + private Map variables; + + @Schema(description = "消息类型") + private Type type; + + @Getter + @AllArgsConstructor + public enum Type { + + START("start", "发起流程", 0), + TASK_CREATE("task_create", "任务创建", 1), + TASK_COMPLETE("task_complete", "任务完成", 49), + REJECT("reject", "审核驳回", 2), + RECALL("recall", "撤回流程", 3), + TRANSFER("transfer", "转办任务", 4), + DELEGATE("delegate", "委托任务", 5), + COPY("copy", "抄送任务", 6), + ASSIGNEE("assignee", "变更审核人", 7), + SUSPEND("suspend", "流程挂起", 8), + ACTIVE("active", "流程激活", 9), + URGE("urge", "催办任务", 10), + ADD_MULTI_INSTANCE("addMultiInstance", "加签任务", 11), + DELETE_MULTI_INSTANCE("deleteMultiInstance", "减签任务", 12), + DELETE_PROCESS("delete", "删除流程", 96), + WITHDRAW("withdraw", "撤销流程", 97), + TERMINATE("terminate", "流程终止", 98), + FINISH("finish", "流程结束", 99) + ; + + private final String type; + private final String name; + private final Integer code; + } + + public static Type getTypeByCode(Integer code) { + for (Type type : Type.values()) { + if (type.getCode().equals(code)) { + return type; + } + } + return null; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfCopyMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfCopyMapper.java new file mode 100644 index 0000000..92ede58 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfCopyMapper.java @@ -0,0 +1,26 @@ + +package org.springblade.plugin.workflow.process.mapper; + +import org.springblade.plugin.workflow.process.entity.WfCopy; +import org.springblade.plugin.workflow.process.vo.WfCopyVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * 流程抄送 Mapper 接口 + * + * @author ssc + */ +public interface WfCopyMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param wfCopy + * @return + */ + List selectWfCopyPage(IPage page, WfCopyVO wfCopy); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfCopyMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfCopyMapper.xml new file mode 100644 index 0000000..1a70f48 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfCopyMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfDraftMapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfDraftMapper.java new file mode 100644 index 0000000..588df0a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfDraftMapper.java @@ -0,0 +1,19 @@ +package org.springblade.plugin.workflow.process.mapper; + +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Param; +import org.springblade.plugin.workflow.process.entity.WfDraft; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 流程草稿箱 Mapper 接口 + * + * @author ssc + */ +public interface WfDraftMapper extends BaseMapper { + + void deleteByProcessDefId(@Param("processDefId") String processDefId, @Param("userId") Long userId, @Param("platform") Object platform); + + @Delete("DELETE FROM blade_wf_draft WHERE form_key = #{formKey}") + void deleteByFormKey(@Param("formKey") String formKey); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfDraftMapper.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfDraftMapper.xml new file mode 100644 index 0000000..7f0f3d0 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfDraftMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + DELETE FROM blade_wf_draft WHERE process_def_id = #{processDefId} AND user_id = #{userId} + + + AND platform = #{platform} + + + AND platform = 'pc' + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfProcessDefinition.xml b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfProcessDefinition.xml new file mode 100644 index 0000000..e94520d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/mapper/WfProcessDefinition.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + from ${prefix}ACT_RE_PROCDEF RES + + + RES.ID_ = #{id} + + + and RES.ID_ in + + #{item} + + + + and RES.CATEGORY_ = #{category} + + + and RES.CATEGORY_ like #{categoryLike}${wildcardEscapeClause} + + + and ( RES.CATEGORY_ <> #{categoryNotEquals} OR RES.CATEGORY_ is null ) + + + and RES.NAME_ = #{name} + + + and RES.NAME_ like #{nameLike}${wildcardEscapeClause} + + + and RES.KEY_ = #{key} + + + and RES.KEY_ like #{keyLike}${wildcardEscapeClause} + + + and RES.RESOURCE_NAME_ = #{resourceName} + + + and RES.RESOURCE_NAME_ like #{resourceNameLike}${wildcardEscapeClause} + + + and RES.VERSION_ = #{version} + + + and RES.VERSION_ > #{versionGt} + + + and RES.VERSION_ >= #{versionGte} + + + and RES.VERSION_ < #{versionLt} + + + and RES.VERSION_ <= #{versionLte} + + + and RES.DEPLOYMENT_ID_ = #{deploymentId} + + + and RES.DEPLOYMENT_ID_ in + + #{item} + + + + and RES.VERSION_ = (select max(VERSION_) from ${prefix}ACT_RE_PROCDEF where KEY_ = RES.KEY_ + + and TENANT_ID_ = #{tenantId} + + + and TENANT_ID_ like #{tenantIdLike}${wildcardEscapeClause} + + + and (TENANT_ID_ = '' or TENANT_ID_ is null) + + + and ( (TENANT_ID_ IS NOT NULL and TENANT_ID_ = RES.TENANT_ID_) or (TENANT_ID_ IS NULL and + RES.TENANT_ID_ IS NULL) ) + + ) + + + and (RES.SUSPENSION_STATE_ = #{suspensionState.stateCode}) + + + and RES.TENANT_ID_ = #{tenantId} + + + and RES.TENANT_ID_ like #{tenantIdLike}${wildcardEscapeClause} + + + and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null) + + + and RES.ENGINE_VERSION_ = #{engineVersion} + + + and exists(select 1 from ${prefix}ACT_RU_EVENT_SUBSCR EVT where RES.ID_ = EVT.CONFIGURATION_ and + EVT.EVENT_TYPE_ = #{eventSubscriptionType} and EVT.EVENT_NAME_ = #{eventSubscriptionName}) + + + AND EXISTS (select ID_ from ${prefix}ACT_RU_IDENTITYLINK IDN where IDN.PROC_DEF_ID_ = RES.ID_ and IDN.GROUP_ID_ = #{platform}) + + + AND + + + exists (select ID_ from ${prefix}ACT_RU_IDENTITYLINK IDN where IDN.PROC_DEF_ID_ = RES.ID_ and + IDN.USER_ID_ = #{authorizationUserId}) + + + OR exists (select ID_ from ${prefix}ACT_RU_IDENTITYLINK IDN where IDN.PROC_DEF_ID_ = RES.ID_ and + IDN.GROUP_ID_ IN + + #{group} + + ) + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfNode.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfNode.java new file mode 100644 index 0000000..de7a608 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfNode.java @@ -0,0 +1,30 @@ +package org.springblade.plugin.workflow.process.model; + +import lombok.Data; + +import java.util.Date; + +@Data +public class WfNode { + /** + * 节点id + */ + private String nodeId; + /** + * 节点名称 + */ + private String nodeName; + /** + * 执行人的code + */ + private String userCode; + /** + * 执行人姓名 + */ + private String userName; + + /** + * 任务节点结束时间 + */ + private Date endTime; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfProcess.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfProcess.java new file mode 100644 index 0000000..03f9e32 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfProcess.java @@ -0,0 +1,257 @@ +package org.springblade.plugin.workflow.process.model; + +import lombok.Data; +import org.flowable.engine.impl.persistence.entity.AttachmentEntityImpl; +import org.flowable.engine.task.Attachment; +import org.flowable.engine.task.Comment; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Data +public class WfProcess implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 任务编号 + */ + private String taskId; + /** + * 任务名称 + */ + private String taskName; + /** + * 任务定义Key + */ + private String taskDefinitionKey; + /** + * 任务执行人编号 + */ + private String assignee; + /** + * 节点id + */ + private String nodeId; + /** + * 抄送人 + */ + private String copyUser; + /** + * 抄送人名称 + */ + private String copyUserName; + /** + * 流水号 + */ + private String serialNumber; + /** + * 任务执行人名称 + */ + private String assigneeName; + /** + * 发起人人名称 + */ + private String startUsername; + /** + * 流程分类 + */ + private String category; + /** + * 流程分类名 + */ + private String categoryName; + /** + * 创建时间 + */ + private Date createTime; + /** + * 结束时间 + */ + private Date endTime; + /** + * 签收时间 + */ + private Date claimTime; + /** + * 历史任务结束时间 + */ + private Date historyTaskEndTime; + /** + * 执行ID + */ + private String executionId; + /** + * 流程实例ID + */ + private String processInstanceId; + /** + * 流程ID + */ + private String processDefinitionId; + /** + * 流程标识 + */ + private String processDefinitionKey; + /** + * 流程名 + */ + private String processDefinitionName; + /** + * 流程版本 + */ + private int processDefinitionVersion; + /** + * 流程说明 + */ + private String processDefinitionDesc; + /** + * 流程简图名 + */ + private String processDefinitionDiagramResName; + /** + * 流程重命名 + */ + private String processDefinitionResName; + /** + * 历史任务流程实例ID 查看流程图会用到 + */ + private String historyProcessInstanceId; + /** + * 流程实例是否结束 + */ + private String processIsFinished; + /** + * 历史活动ID + */ + private String historyActivityId; + /** + * 历史活动流程 + */ + private String historyActivityName; + /** + * 历史活动类型 + */ + private String historyActivityType; + /** + * 历史活动耗时 + */ + private String historyActivityDurationTime; + /** + * 业务绑定Table + */ + private String businessTable; + /** + * 业务绑定ID + */ + private String businessId; + /** + * 任务状态 + */ + private String status; + /** + * 任务意见 + */ + private List comments; + /** + * 任务意见 + */ + private String comment; + /** + * 附件 + */ + private List attachments; + /** + * 附件 + */ + private List attachment; + /** + * 表单key + */ + private String formKey; + /** + * 表单url + */ + private String formUrl; + /** + * app表单url + */ + private String appFormUrl; + /** + * 隐藏评论附件选项 + */ + private Boolean hideAttachment; + /** + * 隐藏抄送人选项 + */ + private Boolean hideCopy; + /** + * 隐藏选择下一步审核人选项 + */ + private Boolean hideExamine; + /** + * 是否通过 + */ + private boolean pass; + /** + * 流程参数 + */ + private Map variables; + + /** + * 当前节点是否多实例 + */ + private Boolean isMultiInstance; + + private String xml; + + public boolean isPass() { + return pass || WfProcessConstant.PASS_COMMENT.equals(comment); + } + + /** + * 是否是当前流程发起人 + */ + private Boolean isOwner; + + /** + * 是否可撤回 + */ + private Boolean isReturnable; + + /** + * 撤回类型 + */ + private String withdrawType; + + /** + * 申请时间范围,逗号分割 + */ + private String startTimeRange; + + /** + * 结束时间范围,逗号分割 + */ + private String endTimeRange; + + /** + * 表单搜索条件 + */ + private String formSearch; + + /** + * 租户id + */ + private String tenantId; + + /** + * 流程部署id + */ + private String deploymentId; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfTaskUser.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfTaskUser.java new file mode 100644 index 0000000..d2c063d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/model/WfTaskUser.java @@ -0,0 +1,44 @@ +package org.springblade.plugin.workflow.process.model; + +import lombok.Data; +import org.springblade.plugin.workflow.core.user.WfUser; + +import java.io.Serial; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; + +@Data +public class WfTaskUser implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + public WfTaskUser() { + this.userList = new ArrayList<>(); + this.assignee = null; + this.candidateUserIds = new LinkedHashSet<>(); + this.candidateGroupIds = new LinkedHashSet<>(); + } + + /** + * 所有用户列表 + */ + private List userList; + + /** + * 唯一审核人 + */ + private String assignee; + + /** + * 候选人集合 + */ + private LinkedHashSet candidateUserIds; + + /** + * 候选组集合 + */ + private LinkedHashSet candidateGroupIds; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfCopyService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfCopyService.java new file mode 100644 index 0000000..bd62484 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfCopyService.java @@ -0,0 +1,18 @@ +package org.springblade.plugin.workflow.process.service; + +import org.springblade.core.mp.base.BaseService; +import org.springblade.plugin.workflow.process.dto.WfCopyDTO; +import org.springblade.plugin.workflow.process.entity.WfCopy; + +/** + * 流程抄送 服务类 + * + * @author ssc + */ +public interface IWfCopyService extends BaseService { + + /** + * 处理抄送人 + */ + void resolveCopyUser(WfCopyDTO dto); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfDraftService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfDraftService.java new file mode 100644 index 0000000..1fc916d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfDraftService.java @@ -0,0 +1,21 @@ +package org.springblade.plugin.workflow.process.service; + +import org.springblade.plugin.workflow.process.entity.WfDraft; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 流程草稿箱 服务类 + * + * @author ssc + */ +public interface IWfDraftService extends IService { + + void submit(WfDraft wfDraft); + + void deleteByProcessDefId(String processDefId, Long userId, Object platform); + + void deleteByTaskId(String taskId, String userId); + + void deleteByFormKey(String formKey); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfExpressionService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfExpressionService.java new file mode 100644 index 0000000..6134e79 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfExpressionService.java @@ -0,0 +1,26 @@ +package org.springblade.plugin.workflow.process.service; + +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.engine.runtime.ProcessInstance; + +import java.util.Map; + +public interface IWfExpressionService { + + /** + * 获取表达式值 + * + * @param processInstanceId 流程实例id + * @param exp 表达式 + */ + Object getValue(String processInstanceId, String exp); + + /** + * 根据表达式获取流程标题 + * + * @param model BpmnModel + * @param processInstance 流程实例 + * @param variables 发起时的变量 + */ + String getProcessTitle(BpmnModel model, ProcessInstance processInstance, Map variables); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfLowcodeService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfLowcodeService.java new file mode 100644 index 0000000..f057f32 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfLowcodeService.java @@ -0,0 +1,27 @@ +package org.springblade.plugin.workflow.process.service; + +import org.springblade.plugin.workflow.design.entity.WfDeploymentForm; +import org.springblade.plugin.workflow.process.dto.WfNoticeDTO; + +import java.util.List; + +/** + * 工作流结合低代码 服务类 + * + * @author ssc + */ +public interface IWfLowcodeService { + + /** + * 建表 + */ + void createTable(List list); + + /** + * 插入/更新数据表 + */ + void updateWithNotice(WfNoticeDTO notice); + + void dropTable(List list); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfNoticeService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfNoticeService.java new file mode 100644 index 0000000..12017ba --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfNoticeService.java @@ -0,0 +1,12 @@ +package org.springblade.plugin.workflow.process.service; + +import org.springblade.plugin.workflow.process.entity.WfNotice; + +public interface IWfNoticeService { + + /** + * 统一消息/业务入口 + */ + void sendNotice(WfNotice notice); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfProcessService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfProcessService.java new file mode 100644 index 0000000..54030c5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfProcessService.java @@ -0,0 +1,140 @@ +package org.springblade.plugin.workflow.process.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.flowable.engine.history.HistoricProcessInstance; +import org.springblade.plugin.workflow.core.user.WfTokenUser; +import org.springblade.plugin.workflow.process.model.WfNode; +import org.springblade.plugin.workflow.process.model.WfProcess; +import org.springblade.core.mp.support.Query; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.Future; + +public interface IWfProcessService { + + /** + * 发起流程 - 根据流程定义id + * + * @param processDefId 流程定义id + * @param variables 表单参数 + * @return processInsId + */ + String startProcessInstanceById(String processDefId, Map variables); + + /** + * 发起流程 - 根据流程定义key + * + * @param processDefKey 流程定义key + * @param variables 表单参数 + * @return processInsId + */ + String startProcessInstanceByKey(String processDefKey, String businessKey, Map variables); + + /** + * 待办/待签/我的已办列表 + */ + IPage selectTaskPage(WfProcess process, Query query); + + /** + * 我的请求/办结列表 + */ + IPage selectProcessPage(WfProcess process, Query query); + + /** + * 获取流转历史列表 + */ + Future> historyFlowList(String processInstanceId, String startActivityId, String endActivityId, WfTokenUser tokenUser); + + /** + * 获取流程详情 + */ + Future detail(String taskId, String assignee, String candidateGroup); + + /** + * 获取模型xml - 根据模型定义id + */ + String getXmlByProcessDefId(String processDefId); + + /** + * 获取模型xml - 根据模型定义key + */ + String getXmlByProcessDefKey(String processDefKey); + + /** + * 完成任务 + */ + Object completeTask(WfProcess process); + + /** + * 转办任务 + */ + Object transferTask(WfProcess process); + + /** + * 委托任务 + */ + Object delegateTask(WfProcess process); + + /** + * 签收任务 + */ + Object claimTask(String taskId); + + /** + * 获取可退回节点 + */ + List getBackNodes(WfProcess process); + + /** + * 退回到指定节点 + */ + Object rollbackTask(WfProcess process); + + /** + * 终止流程 + */ + Object terminateProcess(WfProcess process); + + /** + * 加签 + */ + Object addMultiInstance(WfProcess process); + + /** + * 撤回 + */ + Object withdrawTask(WfProcess process); + + /** + * 是否可撤回 + * 默认只可撤回一次,若需无限撤回可注释相关代码块。 + * 判断当前流程已完成的任务的处理人是否都是当前登录人,若是则可撤回 + * + * @param processInsId 流程实例id + * @param currentUser 当前登录人 + */ + Boolean isReturnable(String processInsId, String currentUser); + + /** + * 调度流程实例到指定节点 + * + * @param processInsId 流程实例id + * @param nodeId 节点id + */ + void dispatchTaskTo(String processInsId, String nodeId); + + /** + * 获取流程瞬时状态 进行中/已结束/已撤回/已撤销/已驳回/... + */ + void setProcessStatus(WfProcess process, HistoricProcessInstance processInstance); + + /** + * 是否具有流程实例访问权限 + * + * @param processInsId 流程实例id + * @param userId 用户id + * @return boolean + */ + boolean hasProcessAccess(String processInsId, String userId); +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfTaskService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfTaskService.java new file mode 100644 index 0000000..134066a --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/IWfTaskService.java @@ -0,0 +1,39 @@ +package org.springblade.plugin.workflow.process.service; + +import org.flowable.task.api.Task; +import org.springblade.plugin.workflow.process.model.WfTaskUser; + +import javax.annotation.Nullable; + +public interface IWfTaskService { + + /** + * 获取指定节点的用户 + * + * @param processDefId 流程定义id + * @param processInsId 流程实例id + * @param nodeId 节点id + */ + WfTaskUser getTaskUser(String processDefId, @Nullable String processInsId, String nodeId); + + /** + * 获取指定节点的用户 + * + * @param processDefId 流程定义id + * @param processInsId 流程实例id + * @param nodeId 节点id + * @param currentUser 当前登录人 + */ + WfTaskUser getTaskUser(String processDefId, @Nullable String processInsId, String nodeId, String currentUser); + + /** + * 判断当前节点是否是多实例并行 + */ + Boolean isMultiInstance(String taskKey, String processDefId); + + /** + * 检查是否跳过当前任务 + */ + Boolean checkIsSkip(Task task, String appointUser); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfCopyServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfCopyServiceImpl.java new file mode 100644 index 0000000..659cfe2 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfCopyServiceImpl.java @@ -0,0 +1,111 @@ +package org.springblade.plugin.workflow.process.service.impl; + +import lombok.AllArgsConstructor; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.engine.HistoryService; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; +import org.flowable.engine.history.HistoricProcessInstance; +import org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.task.api.Task; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.process.dto.WfCopyDTO; +import org.springblade.plugin.workflow.process.entity.WfCopy; +import org.springblade.plugin.workflow.process.entity.WfNotice; +import org.springblade.plugin.workflow.process.mapper.WfCopyMapper; +import org.springblade.plugin.workflow.process.service.IWfCopyService; +import org.springblade.plugin.workflow.process.service.IWfNoticeService; +import org.springframework.stereotype.Service; + +/** + * 流程抄送 服务实现类 + * + * @author ssc + */ +@Service +@AllArgsConstructor +public class WfCopyServiceImpl extends BaseServiceImpl implements IWfCopyService { + + private final IWfNoticeService wfNoticeService; + private final RepositoryService repositoryService; + private final RuntimeService runtimeService; + private final HistoryService historyService; + + private ExecutionEntityImpl getExecutionEntity(HistoricProcessInstance historicProcessInstance) { + if (historicProcessInstance == null) { + return null; + } + ExecutionEntityImpl executionEntity = new ExecutionEntityImpl(); + executionEntity.setId(historicProcessInstance.getId()); + executionEntity.setName(historicProcessInstance.getName()); + executionEntity.setStartUserId(historicProcessInstance.getStartUserId()); + executionEntity.setProcessDefinitionId(historicProcessInstance.getProcessDefinitionId()); + executionEntity.setProcessDefinitionKey(historicProcessInstance.getProcessDefinitionKey()); + executionEntity.setProcessDefinitionName(historicProcessInstance.getProcessDefinitionName()); + executionEntity.setDeploymentId(historicProcessInstance.getDeploymentId()); + return executionEntity; + } + + @Override + public void resolveCopyUser(WfCopyDTO dto) { + Task task = dto.getTask(); + ProcessInstance processInstance = dto.getProcessInstance(); + if (processInstance == null) { + processInstance = runtimeService.createProcessInstanceQuery() + .processInstanceId(task.getProcessInstanceId()) + .singleResult(); + if (processInstance == null) { + HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() + .processInstanceId(task.getProcessInstanceId()) + .singleResult(); + processInstance = getExecutionEntity(historicProcessInstance); + if (processInstance == null) { + System.err.println("处理抄送失败"); + return; + } + } + } + String taskId = task.getId(); + String taskDefKey = task.getTaskDefinitionKey(); + String processInstanceId = processInstance.getId(); + String processDefId = processInstance.getProcessDefinitionId(); + String deploymentId = processInstance.getDeploymentId(); + + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefId); + String exFormKey = WfModelUtil.getUserTaskExtensionAttribute(taskDefKey, bpmnModel, WfExtendConstant.EX_FORM_KEY); + String exFormUrl = WfModelUtil.getUserTaskExtensionAttribute(taskDefKey, bpmnModel, WfExtendConstant.EX_FORM_URL); + + String copyUser = dto.getCopyUser(); + if (StringUtil.isNotBlank(copyUser)) { + String[] ids = copyUser.split(","); + for (String id : ids) { + WfCopy copy = new WfCopy(); + copy.setTaskId(taskId); + copy.setProcessId(processInstanceId); + copy.setUserId(Long.parseLong(id)); + copy.setTitle(processInstance.getProcessDefinitionName() + " - " + task.getName()); + copy.setInitiator(WfTaskUtil.getNickName()); + if (StringUtil.isNotBlank(exFormKey)) { + copy.setFormKey(WfProcessConstant.EX_FORM_PREFIX + exFormKey); + } + copy.setFormUrl(exFormUrl); + copy.setDeploymentId(deploymentId); + this.save(copy); + + wfNoticeService.sendNotice(new WfNotice() + .setFromUserId(WfTaskUtil.getTaskUser()) + .setToUserId(id) + .setTask(task) + .setProcessInstance(processInstance) + .setType(WfNotice.Type.COPY)); + } + } + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfDraftServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfDraftServiceImpl.java new file mode 100644 index 0000000..7bc0eaf --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfDraftServiceImpl.java @@ -0,0 +1,59 @@ +package org.springblade.plugin.workflow.process.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.math.NumberUtils; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.process.entity.WfDraft; +import org.springblade.plugin.workflow.process.mapper.WfDraftMapper; +import org.springblade.plugin.workflow.process.service.IWfDraftService; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +/** + * 流程草稿箱 服务实现类 + * + * @author ssc + */ +@Service +public class WfDraftServiceImpl extends ServiceImpl implements IWfDraftService { + + @Override + public void submit(WfDraft wfDraft) { + wfDraft.setUserId(Long.valueOf(WfTaskUtil.getTaskUser())); + try { + this.save(wfDraft); + } catch (Exception e) { + String variables = wfDraft.getVariables(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(WfDraft::getUserId, wfDraft.getUserId()) + .eq(WfDraft::getPlatform, wfDraft.getPlatform()); + if (wfDraft.getTaskId() != null) { + wrapper.eq(WfDraft::getTaskId, wfDraft.getTaskId()); + } else if (wfDraft.getProcessDefId() != null) { + wrapper.eq(WfDraft::getProcessDefId, wfDraft.getProcessDefId()); + } + this.update(new WfDraft().setVariables(variables), wrapper); + } + } + + @Async + @Override + public void deleteByProcessDefId(String processDefId, Long userId, Object platform) { + baseMapper.deleteByProcessDefId(processDefId, userId, platform); + } + + @Override + public void deleteByTaskId(String taskId, String userId) { + baseMapper.delete(new LambdaQueryWrapper() + .eq(WfDraft::getTaskId, taskId) + .eq(WfDraft::getUserId, NumberUtils.toLong(userId))); + } + + @Async + @Override + public void deleteByFormKey(String formKey) { + baseMapper.deleteByFormKey(formKey); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfExpressionServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfExpressionServiceImpl.java new file mode 100644 index 0000000..63ac7c2 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfExpressionServiceImpl.java @@ -0,0 +1,85 @@ +package org.springblade.plugin.workflow.process.service.impl; + +import lombok.RequiredArgsConstructor; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.common.engine.api.delegate.Expression; +import org.flowable.engine.ManagementService; +import org.flowable.engine.RuntimeService; +import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl; +import org.flowable.engine.impl.persistence.entity.ExecutionEntity; +import org.flowable.engine.runtime.ProcessInstance; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.process.service.IWfExpressionService; +import org.springframework.expression.ExpressionParser; +import org.springframework.expression.common.TemplateParserContext; +import org.springframework.expression.spel.standard.SpelExpressionParser; +import org.springframework.expression.spel.support.StandardEvaluationContext; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +@Service +@RequiredArgsConstructor +public class WfExpressionServiceImpl implements IWfExpressionService { + + private final ProcessEngineConfigurationImpl processEngineConfiguration; + private final ManagementService managementService; + private final RuntimeService runtimeService; + + @Override + public Object getValue(String processInstanceId, String exp) { + Expression expression = processEngineConfiguration.getExpressionManager().createExpression(exp); + return managementService.executeCommand((commandContext) -> + expression.getValue((ExecutionEntity) runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult())); + } + + @Override + public String getProcessTitle(BpmnModel model, ProcessInstance processInstance, Map variables) { + String processDefId = "processDefId"; // 部署id + String processDefName = "processDefName"; // 部署名称 + String processDefKey = "processDefKey"; // 部署key + if (variables == null) { + variables = new HashMap<>(); + } + variables.put(processDefId, processInstance.getProcessDefinitionId()); + variables.put(processDefName, processInstance.getProcessDefinitionName()); + variables.put(processDefKey, processInstance.getProcessDefinitionKey()); + + // 默认流程标题表达式 + String defaultTitleExp = "${#processDefName}"; + String titleExp = WfModelUtil.getProcessExtensionAttribute(model, "title"); + if (titleExp == null) { + titleExp = defaultTitleExp; + } + ExpressionParser parser = new SpelExpressionParser(); + StandardEvaluationContext context = new StandardEvaluationContext(); + // 注册方法,如需注册其他方法请在此处添加 + try { + context.registerFunction("dateFormat", this.getClass().getDeclaredMethod("dateFormat", String.class)); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } + // 添加变量 + context.setVariables(variables); + + // 表达式解析 + TemplateParserContext templateParserContext = new TemplateParserContext("${", "}"); + String value; + try { + value = parser.parseExpression(titleExp, templateParserContext).getValue(context, String.class); + } catch (Exception ignore) { // 表达式解析失败时使用默认表达式 + value = parser.parseExpression(defaultTitleExp, templateParserContext).getValue(context, String.class); + } + return value; + } + + /** + * 格式化当前时间日期 + */ + private static String dateFormat(String pattern) { + return DateUtil.format(new Date(), pattern); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfLowcodeServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfLowcodeServiceImpl.java new file mode 100644 index 0000000..8a00f0e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfLowcodeServiceImpl.java @@ -0,0 +1,160 @@ +package org.springblade.plugin.workflow.process.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.flowable.engine.RuntimeService; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.task.api.Task; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.plugin.workflow.core.enums.WfProcessStatusEnum; +import org.springblade.plugin.workflow.design.entity.WfDeploymentForm; +import org.springblade.plugin.workflow.design.service.IWfDeploymentFormService; +import org.springblade.plugin.workflow.process.dto.WfNoticeDTO; +import org.springblade.plugin.workflow.process.entity.WfNotice; +import org.springblade.plugin.workflow.process.service.IWfLowcodeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +import static org.springblade.plugin.workflow.process.entity.WfNotice.Type.*; + +//import org.springblade.plugin.lowcode.feign.INfFormClient; +//import org.springblade.plugin.lowcode.pojo.dto.NfBaseDto; + +/** + * 工作流对接低代码 实现类 + *

+ * 请在购买低码版后参照文档使用,其他情况放开以下注释无法通过编译。 + *

+ * + * @author ssc + */ +@Service +public class WfLowcodeServiceImpl implements IWfLowcodeService { + + @Autowired + private RuntimeService runtimeService; + @Autowired + private IWfDeploymentFormService wfDeploymentFormService; + +// private static INfFormClient nfFormService; +// private INfFormClient getNfFormService() { +// if (nfFormService == null) { +// nfFormService = SpringUtil.getBean(INfFormClient.class); +// } +// return nfFormService; +// } + + @Override + public void createTable(List list) { +// if (list != null && !list.isEmpty()) { +// R r = getNfFormService().createTable(new NfBaseDto() +// .setTableName(list.get(0).getTableName()) +// .setTableComment(list.get(0).getTableComment()) +// .setContents(list.stream().map(WfDeploymentForm::getAppContent).toList())); +// if (!r.isSuccess()) { +// throw new RuntimeException(r.getMsg()); +// } +// } + } + + @Override + public void updateWithNotice(WfNoticeDTO notice) { +// WfNotice.Type type = notice.getType(); +// ProcessInstance processInstance = notice.getProcessInstance(); +// Task task = notice.getTask(); +// Map variables = notice.getVariables(); +// +// String processInstanceId = processInstance.getId(); +// List forms = wfDeploymentFormService.list(new LambdaQueryWrapper() +// .eq(WfDeploymentForm::getDeploymentId, processInstance.getDeploymentId()) +// .isNotNull(WfDeploymentForm::getTableName)); +// +// WfDeploymentForm form; +// if (forms == null || forms.isEmpty()) { +// return; +// } else if (forms.size() == 1) { // 内置表单 +// form = forms.get(0); +// } else { // 节点独立表单 +// if (task != null) { // 找到当前task的content,若是汇总且不配置表单取第一个获取表名 +// form = forms.stream().filter(f -> f.getTaskKey().equalsIgnoreCase(task.getTaskDefinitionKey())).findFirst().orElse(forms.get(0)); +// } else { // 结束时task为null,取第一个获取表名 +// form = forms.get(0); +// } +// } +// if (form == null || StringUtils.isBlank(form.getTableName())) { +// return; +// } +// NfBaseDto dto = new NfBaseDto() +// .setBusinessId(NumberUtils.toLong(processInstance.getBusinessKey())) +// .setContent(form.getAppContent()) +// .setTableName(form.getTableName()) +// .setProcessInsId(processInstanceId); +// // 发起流程,插入数据 +// if (START == type) { +// R r = getNfFormService().insertIntoTable(dto +// .setVariables(variables)); +// if (r.isSuccess() && r.getData() != 0) { // 业务表返回的id回填流程业务key字段 +// runtimeService.updateBusinessKey(processInstanceId, r.getData() + ""); +// } else { +// throw new RuntimeException(r.getMsg()); +// } +// } +// // 任务正常结束,更新数据 +// else if (TASK_COMPLETE == type) { +// R r = getNfFormService().updateTable(dto +// .setProcessStatus(WfProcessStatusEnum.RUNNING.getCode()) +// .setVariables(variables)); +// if (!r.isSuccess()) { +// throw new RuntimeException(r.getMsg()); +// } +// } +// // 流程删除,逻辑删除数据 +// else if (DELETE_PROCESS == type) { +// R r = getNfFormService().logicDeleteTable(dto); +// if (!r.isSuccess()) { +// throw new RuntimeException(r.getMsg()); +// } +// } +// // 更新数据流程状态 +// else { +// // 任务创建(正常创建、上节点驳回、撤回)时更新当前节点key、节点名称、状态 +// if (List.of(TASK_CREATE, REJECT, RECALL).contains(type)) { +// assert task != null; +// dto.setTaskKey(task.getTaskDefinitionKey()) +// .setTaskName(task.getName()); +// } +// // 流程结束(正常结束、终结、撤销)时更新当前节点key、节点名称、状态 +// else { +// dto.setTaskName("结束"); +// dto.setTaskKey(null); +// } +// R r = getNfFormService().updateTableStatus(dto +// .setProcessStatus(type.getCode())); +// if (!r.isSuccess()) { +// throw new RuntimeException(r.getMsg()); +// } +// } + } + + @Override + public void dropTable(List list) { +// if (list != null && !list.isEmpty()) { +// list.forEach(f -> { +// String tableName = f.getTableName(); +// if (StringUtils.isNotBlank(tableName)) { +// R r = getNfFormService().dropTable(new NfBaseDto() +// .setTableName(list.get(0).getTableName()) +// .setContents(list.stream().map(WfDeploymentForm::getAppContent).toList()), false); +// if (!r.isSuccess()) { +// throw new RuntimeException(r.getMsg()); +// } +// } +// }); +// } + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfNoticeServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfNoticeServiceImpl.java new file mode 100644 index 0000000..6b62f12 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfNoticeServiceImpl.java @@ -0,0 +1,237 @@ +package org.springblade.plugin.workflow.process.service.impl; + +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.flowable.engine.RuntimeService; +import org.flowable.engine.TaskService; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.engine.runtime.ProcessInstanceQuery; +import org.flowable.task.api.Task; +import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.tool.utils.Func; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.user.WfUserCache; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.demo.service.IWfProcessLeaveService; +import org.springblade.plugin.workflow.process.dto.WfNoticeDTO; +import org.springblade.plugin.workflow.process.entity.WfNotice; +import org.springblade.plugin.workflow.process.model.WfTaskUser; +import org.springblade.plugin.workflow.process.service.IWfLowcodeService; +import org.springblade.plugin.workflow.process.service.IWfNoticeService; +import org.springblade.plugin.workflow.process.service.IWfTaskService; +import org.springframework.stereotype.Service; + +import java.time.Duration; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import static org.springblade.plugin.workflow.process.entity.WfNotice.Type.*; + +/** + * 流程消息 服务实现类 + * + * @author ssc + */ +@Service +@RequiredArgsConstructor +public class WfNoticeServiceImpl implements IWfNoticeService { + + private final RuntimeService runtimeService; + private final TaskService taskService; + + private final BladeRedis redis; + private final IWfTaskService wfTaskService; + private final IWfProcessLeaveService leaveService; + private final IWfLowcodeService wfLowcodeService; + + // 需要发送消息的操作 + private final List DEAL_WITH_NOTICE = List.of( + TASK_CREATE, REJECT, RECALL, // 任务正常创建,上个节点驳回/撤回 + COPY, TRANSFER, DELEGATE, ASSIGNEE, SUSPEND, ACTIVE, URGE, ADD_MULTI_INSTANCE, DELETE_MULTI_INSTANCE, // 抄送、转发等不会改变当前任务节点的操作 + TERMINATE, DELETE_PROCESS, FINISH // 终结、删除、正常结束 + ); + + // 需要业务处理的消息,操作对应数据表 + private final List DEAL_WITH_BUSINESS = List.of( + START, // 发起,插入数据 + TASK_CREATE, // 任务创建,更新当前节点key、节点名称、状态为1(进行时) + TASK_COMPLETE, // 任务审核通过,更新流程数据 + REJECT, RECALL, // 非审核通过,更新当前节点key、节点名称、状态 + FINISH, // 流程正常结束,更新状态 + TERMINATE, WITHDRAW, // 流程非正常结束,更新状态 + DELETE_PROCESS // 流程逻辑删除,更新is_deleted字段 + ); + + /** + * 发送消息、处理业务入口。根据实际情况处理。 + */ + private void sendNotice(WfNoticeDTO notice) { + WfNotice.Type type = notice.getType(); + ProcessInstance processInstance = notice.getProcessInstance(); + + // 消息 + if (DEAL_WITH_NOTICE.contains(type)) { + WfUser fromUser = notice.getFromUser(); + List toUser = notice.getToUser(); + Task task = notice.getTask(); + Map variables = notice.getVariables(); + + System.err.println("⬇⬇⬇⬇⬇⬇⬇⬇消息预留口⬇⬇⬇⬇⬇⬇⬇⬇"); + if (fromUser != null) { + System.err.println("发送人:" + fromUser.getName()); + } + System.err.println("接收人:" + Func.join(toUser.stream().map(WfUser::getName).toList())); + System.err.println("消息类型:" + type.getName()); + System.err.println("流程标题:" + (StringUtils.isBlank(processInstance.getName()) ? processInstance.getProcessDefinitionName() : processInstance.getName())); + System.err.println("流程发起人:" + notice.getStartUser().getName()); + if (variables != null && !variables.isEmpty()) { + System.err.println("流程变量:" + variables); + } + if (task != null) { + System.err.println("当前节点:" + task.getName()); + } + System.err.println("⬆⬆⬆⬆⬆⬆⬆⬆消息预留口⬆⬆⬆⬆⬆⬆⬆⬆"); + } + // 业务 + if (DEAL_WITH_BUSINESS.contains(type)) { + // 低代码方式,!!!!!购买后可根据文档指示使用。使用此方式时请注释或删掉 下面自定义方式!!!!! + wfLowcodeService.updateWithNotice(notice); + + // 自定义方式,此处仅为示例,不保证完全正确。如需多个流程处理,可建一个统一service处理,根据key区分流程。 + String processDefinitionKey = processInstance.getProcessDefinitionKey(); + // 以请假流程为示例 + if ("leave".equalsIgnoreCase(processDefinitionKey)) { + leaveService.businessWithNotice(notice); + } + } + } + + /** + * 消息处理,一般无需关注此处处理逻辑。 + */ + @Override + public void sendNotice(WfNotice notice) { + // 发送人 + String fromUserId = notice.getFromUserId(); + WfUser fromUser = StringUtils.isNotBlank(fromUserId) ? WfUserCache.getUser(NumberUtils.toLong(fromUserId)) : null; + // 接收人 + String toUserId = notice.getToUserId(); + WfUser toUser = StringUtils.isNotBlank(toUserId) ? WfUserCache.getUser(NumberUtils.toLong(toUserId)) : null; + // 任务 + Task task = notice.getTask(); + if (task == null && StringUtils.isNotBlank(notice.getTaskId())) { + task = taskService.createTaskQuery().taskId(notice.getTaskId()).singleResult(); + } + // 流程变量 + Map variables = notice.getVariables(); + // 流程实例 + ProcessInstance processInstance = notice.getProcessInstance(); + if (processInstance == null && StringUtils.isNotBlank(notice.getProcessInsId())) { + ProcessInstanceQuery processInstanceQuery = runtimeService.createProcessInstanceQuery().processInstanceId(notice.getProcessInsId()); + if (variables == null || variables.isEmpty()) { + processInstanceQuery.includeProcessVariables(); + } + processInstance = processInstanceQuery.singleResult(); + + if (processInstance != null && (variables == null || variables.isEmpty())) { + variables = processInstance.getProcessVariables(); + } + } + assert processInstance != null; + + // 流程发起人 + String startUserId = processInstance.getStartUserId(); + WfUser startUser = WfUserCache.getUser(NumberUtils.toLong(startUserId)); + + // 消息类型 + WfNotice.Type type = notice.getType(); + + // 发送消息 + List toUsers = new ArrayList<>(); + if (DEAL_WITH_NOTICE.contains(type)) { + switch (type) { + case TASK_CREATE: // 上个任务正常通过 / 流程运维 - 指定节点回退 + case REJECT: // 上个任务驳回 + case RECALL: // 发起人撤回 + assert task != null; + + // 发起人节点跳过 + if ("发起人".equals(task.getName()) && type == TASK_CREATE) { + return; + } + + Object assigner = variables.get(WfProcessConstant.TASK_VARIABLE_ASSIGNEE); + if (assigner != null) { // 指定审批人 + String[] userIds = Func.split(assigner.toString(), ","); + Boolean isMultiInstance = wfTaskService.isMultiInstance(task.getTaskDefinitionKey(), task.getProcessDefinitionId()); + int index = 1; + if (isMultiInstance) { // 多实例并行全部生效,否则只有第一个生效 + index = userIds.length; + + // 防止指定时多实例并行相同节点重复触发送消息 + String key = "wf_notice_" + processInstance.getId() + "_" + task.getTaskDefinitionKey(); + Object value = redis.get(key); + if (value == null) { + redis.setEx(key, "1", Duration.ofSeconds(10L)); + } else { + return; + } + } + for (int i = 0; i < index; i++) { + toUsers.add(WfUserCache.getUser(NumberUtils.toLong(userIds[i]))); + } + } else { // 非指定 + String assignee = task.getAssignee(); + if (StringUtils.isNotBlank(assignee)) { // 唯一审核人 + toUsers.add(WfUserCache.getUser(NumberUtils.toLong(assignee))); + } else { // 候选人,从节点配置中读取 + WfTaskUser taskUser = wfTaskService.getTaskUser(task.getProcessDefinitionId(), task.getProcessInstanceId(), task.getTaskDefinitionKey(), WfTaskUtil.getTaskUser()); + String userAssignee = taskUser.getAssignee(); + List userList = taskUser.getUserList(); + if (StringUtils.isNotBlank(userAssignee)) { + toUsers.add(WfUserCache.getUser(NumberUtils.toLong(userAssignee))); + } else if (userList != null && !userList.isEmpty()) { + toUsers.addAll(userList); + } + } + } + + // 最后操作人 + Object latestAssignee = variables.get(WfProcessConstant.TASK_VARIABLE_LATEST_TASK_ASSIGNEE); + if (latestAssignee != null) { + fromUser = WfUserCache.getUser(NumberUtils.toLong(latestAssignee.toString())); + } + + break; + case COPY: // 抄送 + case TRANSFER: // 转发 + case DELEGATE: // 代理 + case ASSIGNEE: // 流程运维 - 变更审核人 + case SUSPEND: // 流程运维 - 任务挂起 + case ACTIVE: // 流程运维 - 任务激活 + case URGE: // 催办 + case ADD_MULTI_INSTANCE: // 多实例并行 - 添加实例 + case DELETE_MULTI_INSTANCE: // 多实例并行 - 删除实例 + toUsers.add(toUser); + break; + case TERMINATE: // 流程终止 + case DELETE_PROCESS: // 删除流程 + case FINISH: // 正常结束 + toUsers.add(startUser); + break; + } + } + sendNotice((WfNoticeDTO) new WfNoticeDTO() + .setFromUser(fromUser) + .setToUser(toUsers) + .setStartUser(startUser) + .setType(type) + .setTask(task) + .setProcessInstance(processInstance) + .setVariables(variables)); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfProcessService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfProcessService.java new file mode 100644 index 0000000..b27078b --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfProcessService.java @@ -0,0 +1,1513 @@ +package org.springblade.plugin.workflow.process.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Sets; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.flowable.bpmn.constants.BpmnXMLConstants; +import org.flowable.bpmn.converter.BpmnXMLConverter; +import org.flowable.bpmn.model.Process; +import org.flowable.bpmn.model.*; +import org.flowable.engine.*; +import org.flowable.engine.history.HistoricActivityInstance; +import org.flowable.engine.history.HistoricProcessInstance; +import org.flowable.engine.history.HistoricProcessInstanceQuery; +import org.flowable.engine.impl.persistence.entity.AttachmentEntityImpl; +import org.flowable.engine.impl.util.ExecutionGraphUtil; +import org.flowable.engine.repository.ProcessDefinition; +import org.flowable.engine.runtime.ActivityInstance; +import org.flowable.engine.runtime.Execution; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.engine.task.Attachment; +import org.flowable.engine.task.Comment; +import org.flowable.identitylink.api.IdentityLinkInfo; +import org.flowable.task.api.DelegationState; +import org.flowable.task.api.Task; +import org.flowable.task.api.TaskQuery; +import org.flowable.task.api.history.HistoricTaskInstance; +import org.flowable.task.api.history.HistoricTaskInstanceQuery; +import org.flowable.variable.api.history.HistoricVariableInstance; +import org.flowable.variable.api.history.HistoricVariableInstanceQuery; +import org.springblade.core.mp.support.Query; +import org.springblade.core.redis.lock.RedisLock; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.cache.WfProcessCache; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.user.WfTokenUser; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.user.WfUserCache; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.core.utils.WfSearchUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.design.service.IWfFormVariableService; +import org.springblade.plugin.workflow.design.service.IWfSerialService; +import org.springblade.plugin.workflow.process.dto.WfCopyDTO; +import org.springblade.plugin.workflow.process.entity.WfCopy; +import org.springblade.plugin.workflow.process.entity.WfNotice; +import org.springblade.plugin.workflow.process.model.WfNode; +import org.springblade.plugin.workflow.process.model.WfProcess; +import org.springblade.plugin.workflow.process.model.WfTaskUser; +import org.springblade.plugin.workflow.process.service.*; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.AsyncResult; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Nullable; +import java.util.*; +import java.util.concurrent.Future; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class WfProcessService implements IWfProcessService { + + private final RuntimeService runtimeService; + private final IdentityService identityService; + private final HistoryService historyService; + private final TaskService taskService; + private final RepositoryService repositoryService; + + private final IWfCopyService wfCopyService; + private final IWfSerialService wfSerialService; + private final IWfNoticeService wfNoticeService; + private final IWfDraftService wfDraftService; + private final IWfExpressionService wfExpressionService; + private final IWfTaskService wfTaskService; + private final IWfFormVariableService wfFormVariableService; + + // 流程图或流转信息的人名假如超过几个人后显示 xx 共xx人 + // 用户1/用户2/用户3/用户4/用户5/用户6 => 用户1/用户2/用户3 等共6人 + private static final int FLOW_ASSIGNEE_NAME_LIMIT = 3; + + @Override + @Transactional(rollbackFor = Exception.class) + public String startProcessInstanceById(String processDefId, Map variables) { + ProcessDefinition definition = WfProcessCache.getProcessDefinition(processDefId); + if (definition == null) { + throw new RuntimeException("查询不到此部署的流程"); + } + String userId = WfTaskUtil.getTaskUser(); + variables.put(WfProcessConstant.TASK_VARIABLE_APPLY_USER, userId); + // 启动流程 + identityService.setAuthenticatedUserId(userId); + ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefId, definition.getKey(), variables); + identityService.setAuthenticatedUserId(null); + return handleProcessInstance(processInstance, variables); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String startProcessInstanceByKey(String processDefKey, String businessKey, Map variables) { + String tenantId = WfTaskUtil.getTenantId(); + String userId = WfTaskUtil.getTaskUser(); + variables.put(WfProcessConstant.TASK_VARIABLE_APPLY_USER, userId); + // 启动流程 + identityService.setAuthenticatedUserId(userId); + ProcessInstance processInstance = runtimeService.startProcessInstanceByKeyAndTenantId(processDefKey, businessKey, variables, tenantId); + identityService.setAuthenticatedUserId(null); + return handleProcessInstance(processInstance, variables); + } + + private String handleProcessInstance(ProcessInstance processInstance, @Nullable Map variables) { + processInstance = runtimeService.createProcessInstanceQuery() + .processInstanceId(processInstance.getId()) + .singleResult(); + if (processInstance == null) { // 流程已结束,无需处理以下逻辑。节点全部跳过时会出现此情况。 + return null; + } + String userId = WfTaskUtil.getTaskUser(); + String processDefId = processInstance.getProcessDefinitionId(); + if (variables == null) { + variables = new HashMap<>(); + } + // 业务变量 + Map customVariables = new HashMap<>(); + customVariables.put("_FLOWABLE_SKIP_EXPRESSION_ENABLED", true); // 打开流程表达式跳过 + + WfUser user = WfUserCache.getUser(Long.parseLong(userId)); + customVariables.put(WfProcessConstant.TASK_VARIABLE_APPLY_USER_NAME, user.getName()); + // 流水号 + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefId); + String sn = wfSerialService.getNextSN(bpmnModel, processInstance.getDeploymentId()); + if (StringUtil.isNotBlank(sn)) { + customVariables.put(WfProcessConstant.TASK_VARIABLE_SN, sn); + } + runtimeService.setVariables(processInstance.getId(), customVariables); + + // 修改流程实例名称,方便查询。只有流程列表可查询,任务列表只可查询流程部署名称。 + try { + variables.putAll(customVariables); + runtimeService.setProcessInstanceName(processInstance.getId(), wfExpressionService.getProcessTitle(bpmnModel, processInstance, variables)); + } catch (Exception ignore) { + return processInstance.getId(); + } + // 自动跳过第一节点 + String skip = WfModelUtil.getProcessExtensionAttribute(bpmnModel, WfExtendConstant.SKIP_FIRST_NODE); + if (StringUtil.isNotBlank(skip) && "true".equals(skip)) { + List taskList = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list(); + Map skipVariables = new HashMap<>(); + skipVariables.put(WfProcessConstant.TASK_VARIABLE_SKIP, true); + taskList.forEach(task -> taskService.complete(task.getId(), skipVariables, true)); + } + // 指定下一步审核人 + int num = this.handleNextNodeAssignee(processInstance.getId(), variables.get(WfProcessConstant.TASK_VARIABLE_ASSIGNEE)); + if (num > 0) { + throw new RuntimeException("需指定 " + num + " 个审核人"); + } + + // 处理抄送 + Object copyUser = variables.get(WfProcessConstant.TASK_VARIABLE_COPY_USER); + if (ObjectUtil.isNotEmpty(copyUser)) { + List taskList = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list(); + if (!taskList.isEmpty()) { + Task task = taskList.get(0); + wfCopyService.resolveCopyUser((WfCopyDTO) new WfCopyDTO() + .setCopyUser(copyUser.toString()) + .setTask(task) + .setProcessInstance(processInstance) + ); + } + } + // 删除草稿箱 + wfDraftService.deleteByProcessDefId(processDefId, Long.valueOf(WfTaskUtil.getTaskUser()), variables.get(WfProcessConstant.TASK_VARIABLE_PLATFORM)); + // 保存开始节点表单变量 + wfFormVariableService.saveFormVariable(processInstance.getId(), null, WfModelUtil.getStartEvent(bpmnModel), variables, user.getId()); + return processInstance.getId(); + } + + @Override + public IPage selectTaskPage(WfProcess process, Query query) { + IPage page = new Page<>(); + + String taskUser = WfTaskUtil.getTaskUser(); + String taskGroup = WfTaskUtil.getCandidateGroup(); + + long count; + switch (process.getStatus()) { + case WfProcessConstant.STATUS_TODO: // 待办或待签 runtimeService + case WfProcessConstant.STATUS_CLAIM: + TaskQuery taskQuery = taskService.createTaskQuery() + .orderByTaskCreateTime() + .desc() + .taskTenantId(WfTaskUtil.getTenantId()) + .active(); + if (WfProcessConstant.STATUS_TODO.equals(process.getStatus())) { // 待办 + taskQuery +// .taskAssignee(taskUser) + .taskCandidateOrAssigned(taskUser) + .taskCandidateGroupIn(Func.toStrList(taskGroup)) + ; + } else { // 待签 + taskQuery.taskCandidateUser(taskUser) + .taskCandidateGroupIn(Func.toStrList(taskGroup)); + } + WfSearchUtil.buildSearchQuery(taskQuery, process); // 搜索条件 + count = taskQuery.count(); + if (count > 0) { + List list = new LinkedList<>(); + buildTaskList(list, taskQuery, query, WfProcessConstant.STATUS_TODO); + page.setRecords(list); + } + break; + case WfProcessConstant.STATUS_DONE: // 已办 historyService + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() + .orderByTaskCreateTime() + .desc() + .taskAssignee(taskUser) + .finished() + .taskTenantId(WfTaskUtil.getTenantId()); + WfSearchUtil.buildSearchQuery(historicTaskInstanceQuery, process); // 搜索条件 + count = historicTaskInstanceQuery.count(); + if (count > 0) { + List list = new LinkedList<>(); + buildTaskList(list, historicTaskInstanceQuery, query, WfProcessConstant.STATUS_DONE); + page.setRecords(list); + } + break; + default: + return page; + } + page.setTotal(count); + page.setCurrent(query.getCurrent()); + page.setSize(query.getSize()); + + return page; + } + + @Override + public IPage selectProcessPage(WfProcess process, Query query) { + IPage page = new Page<>(); + + String taskUser = WfTaskUtil.getTaskUser(); + HistoricProcessInstanceQuery historyQuery = historyService.createHistoricProcessInstanceQuery() + .processInstanceTenantId(WfTaskUtil.getTenantId()) + .orderByProcessInstanceStartTime() + .desc(); + + if (StringUtil.isNotBlank(process.getStatus())) { + switch (process.getStatus()) { + case WfProcessConstant.STATUS_SEND: // 我的请求 + historyQuery.startedBy(taskUser); + break; + case WfProcessConstant.STATUS_DONE: // 办结 + historyQuery.involvedUser(taskUser).finished(); + break; + case WfProcessConstant.STATUS_FINISH: // 结束 + historyQuery + .processInstanceTenantId(WfTaskUtil.getTenantId()) + .finished(); + break; + } + } + WfSearchUtil.buildSearchQuery(historyQuery, process); // 搜索条件 + + long count = historyQuery.count(); + if (count > 0) { + List list = new LinkedList<>(); + buildProcessList(list, historyQuery, query); + page.setRecords(list); + } + page.setTotal(count); + page.setCurrent(query.getCurrent()); + page.setSize(query.getSize()); + return page; + } + + @Async + @Override + public Future> historyFlowList(String processInstanceId, String startActivityId, String endActivityId, WfTokenUser tokenUser) { + String tenantId = tokenUser.getTenantId(); + String userId = tokenUser.getUserId() + ""; + List flowList = new LinkedList<>(); + List historicActivityInstanceList = historyService.createHistoricActivityInstanceQuery() + .processInstanceId(processInstanceId) + .orderByHistoricActivityInstanceStartTime().asc() + .orderByHistoricActivityInstanceEndTime().asc() + .list(); + List commentList = taskService.getProcessInstanceComments(processInstanceId); + List attachmentList = taskService.getProcessInstanceAttachments(processInstanceId); + boolean start = false; + Map activityMap = new HashMap<>(16); + for (int i = 0; i < historicActivityInstanceList.size(); i++) { + HistoricActivityInstance historicActivityInstance = historicActivityInstanceList.get(i); + // 过滤开始节点前的节点 + if (StringUtil.isNotBlank(startActivityId) && startActivityId.equals(historicActivityInstance.getActivityId())) { + start = true; + } + if (StringUtil.isNotBlank(startActivityId) && !start) { + continue; + } + // 显示开始节点和结束节点,并且执行人不为空的任务 + if (Arrays.asList( + WfProcessConstant.USER_TASK, + WfProcessConstant.START_EVENT, + WfProcessConstant.END_EVENT, + WfProcessConstant.SEQUENCE_FLOW, + WfProcessConstant.HTTP_SERVICE_TASK, + WfProcessConstant.SHELL_SERVICE_TASK, + WfProcessConstant.MAIL_SERVICE_TASK, + "intermediateCatchEvent" + ).contains(historicActivityInstance.getActivityType()) + && !"Delete MI execution".equals(historicActivityInstance.getDeleteReason())) { + // 给节点增加序号 + activityMap.computeIfAbsent(historicActivityInstance.getActivityId(), k -> activityMap.size()); + WfProcess flow = new WfProcess(); + flow.setHistoryActivityId(historicActivityInstance.getActivityId()); + flow.setHistoryActivityName(historicActivityInstance.getActivityName()); + flow.setHistoryActivityType(historicActivityInstance.getActivityType()); + flow.setCreateTime(historicActivityInstance.getStartTime()); + flow.setEndTime(historicActivityInstance.getEndTime()); + String durationTime = DateUtil.secondToTime(Func.toLong(historicActivityInstance.getDurationInMillis(), 0L) / 1000); + flow.setHistoryActivityDurationTime(durationTime); + // 获取流程发起人名称 + if (WfProcessConstant.START_EVENT.equals(historicActivityInstance.getActivityType())) { + List processInstanceList = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).orderByProcessInstanceStartTime().asc().list(); + if (processInstanceList.size() > 0) { + if (StringUtil.isNotBlank(processInstanceList.get(0).getStartUserId())) { + String taskUser = processInstanceList.get(0).getStartUserId(); + WfUser user = WfUserCache.getUser(WfTaskUtil.getUserId(taskUser), tenantId); + if (user != null) { + flow.setAssignee(historicActivityInstance.getAssignee()); + flow.setAssigneeName(user.getName()); + } + } + } + } else if (WfProcessConstant.USER_TASK.equals(historicActivityInstance.getActivityType())) { + // 获取任务执行人名称 + if (StringUtil.isNotBlank(historicActivityInstance.getAssignee())) { + WfUser user = WfUserCache.getUser(WfTaskUtil.getUserId(historicActivityInstance.getAssignee()), tenantId); + if (user != null) { + flow.setAssignee(historicActivityInstance.getAssignee()); + flow.setAssigneeName(user.getName()); + } + } else { + WfTaskUser taskUser = wfTaskService.getTaskUser(historicActivityInstance.getProcessDefinitionId(), historicActivityInstance.getProcessInstanceId(), historicActivityInstance.getActivityId(), userId); + List userList = taskUser.getUserList(); + if (ObjectUtil.isNotEmpty(userList)) { + if (userList.size() == 1) { + flow.setAssignee(String.valueOf(userList.get(0).getId())); + flow.setAssigneeName(userList.get(0).getName()); + } else { + String assigneeName; + if (userList.size() > FLOW_ASSIGNEE_NAME_LIMIT) { + assigneeName = userList.subList(0, FLOW_ASSIGNEE_NAME_LIMIT).stream().map(WfUser::getName).collect(Collectors.joining("/")) + " 等共" + userList.size() + "人"; + } else { + assigneeName = userList.stream().map(WfUser::getName).collect(Collectors.joining("/")); + } + flow.setAssigneeName(assigneeName); + } + } + } + } + + // 获取意见评论内容/附件 + if (StringUtil.isNotBlank(historicActivityInstance.getTaskId())) { + List comments = new ArrayList<>(); + for (Comment comment : commentList) { + if (comment.getTaskId().equals(historicActivityInstance.getTaskId())) { + comments.add(comment); + } + } + flow.setComments(comments); + + List attachments = new ArrayList<>(); + for (Attachment attachment : attachmentList) { + if (attachment.getTaskId().equals(historicActivityInstance.getTaskId())) { + attachments.add(attachment); + } + } + flow.setAttachments(attachments); + } + flowList.add(flow); + } + // 过滤结束节点后的节点 + if (StringUtils.isNotBlank(endActivityId) && endActivityId.equals(historicActivityInstance.getActivityId())) { + boolean temp = false; + Integer activityNum = activityMap.get(historicActivityInstance.getActivityId()); + // 该活动节点,后续节点是否在结束节点之前,在后续节点中是否存在 + for (int j = i + 1; j < historicActivityInstanceList.size(); j++) { + HistoricActivityInstance hi = historicActivityInstanceList.get(j); + Integer activityNumA = activityMap.get(hi.getActivityId()); + boolean numberTemp = activityNumA != null && activityNumA < activityNum; + boolean equalsTemp = StringUtils.equals(hi.getActivityId(), historicActivityInstance.getActivityId()); + if (numberTemp || equalsTemp) { + temp = true; + } + } + if (!temp) { + break; + } + } + } + // 处理未流转到的节点 + if (historicActivityInstanceList.size() > 0) { + String processDefId = historicActivityInstanceList.get(0).getProcessDefinitionId(); + String processInsId = historicActivityInstanceList.get(0).getProcessInstanceId(); + HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInsId).singleResult(); + if (processInstance.getEndTime() == null) { // 流程结束后不再处理未流转到的节点 + BpmnModel model = repositoryService.getBpmnModel(processDefId); + + List elements = new ArrayList<>(); + model.getMainProcess().getFlowElements().forEach(flowElement -> { + if (flowElement instanceof UserTask) { + WfProcess wfProcess = flowList.stream().filter(flow -> flow.getHistoryActivityId().equals(flowElement.getId())).findFirst().orElse(null); + if (wfProcess == null) { + elements.add(flowElement); + } + } + }); + if (elements.size() > 0) { + elements.forEach(element -> { + WfProcess flow = new WfProcess(); + flow.setHistoryActivityId(element.getId()); + flow.setHistoryActivityName(element.getName()); + flow.setHistoryActivityType(WfProcessConstant.CANDIDATE); + List userList = wfTaskService.getTaskUser(processDefId, processInsId, element.getId(), userId).getUserList(); + if (ObjectUtil.isNotEmpty(userList)) { + String assigneeName; + if (userList.size() > FLOW_ASSIGNEE_NAME_LIMIT) { + assigneeName = userList.subList(0, FLOW_ASSIGNEE_NAME_LIMIT).stream().map(WfUser::getName).collect(Collectors.joining("/")) + " 等共" + userList.size() + "人"; + } else { + assigneeName = userList.stream().map(WfUser::getName).collect(Collectors.joining("/")); + } + flow.setAssigneeName(assigneeName); + } + flowList.add(flow); + }); + } + } + } + return new AsyncResult<>(flowList); + } + + @Async + @Override + public Future detail(String taskId, String assignee, String candidateGroup) { + WfProcess process = new WfProcess(); + + HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery() // 是否待办 + .taskId(taskId) + .includeProcessVariables() +// .includeTaskLocalVariables() + .includeIdentityLinks() + .singleResult(); + if (task == null) { + return new AsyncResult<>(process); + } + if (StringUtil.isNotBlank(task.getAssignee())) { // 有审核人 + if (assignee.equals(task.getAssignee())) { // 我的任务 + if (task.getEndTime() == null) { + process.setStatus(WfProcessConstant.STATUS_TODO); + } else { + process.setStatus(WfProcessConstant.STATUS_DONE); + } + } else { + process.setStatus(WfProcessConstant.STATUS_DONE); + } + } else { // 候选或者已办 + List identityLinks = task.getIdentityLinks(); + // 候选组 + List roles = new ArrayList<>(); + // 候选人 + List userIds = new ArrayList<>(); + identityLinks.forEach(link -> { + if (StringUtil.isNotBlank(link.getGroupId())) { + roles.add(link.getGroupId()); + } + if (StringUtil.isNotBlank(link.getUserId())) { + userIds.add(link.getUserId()); + } + }); + List candidateGroups = Arrays.asList(candidateGroup.split(",")); + if ((userIds.contains(assignee) || roles.stream().anyMatch(candidateGroups::contains)) && task.getEndTime() == null) { // 是否选人或候选组 + process.setStatus(WfProcessConstant.STATUS_TODO); + } else { + process.setStatus(WfProcessConstant.STATUS_DONE); + } + } + + process.setIsMultiInstance(wfTaskService.isMultiInstance(task.getTaskDefinitionKey(), task.getProcessDefinitionId())); + process.setTaskId(task.getId()); + process.setTaskDefinitionKey(task.getTaskDefinitionKey()); + process.setTaskName(task.getName()); + process.setAssignee(task.getAssignee()); + process.setCreateTime(task.getCreateTime()); + process.setExecutionId(task.getExecutionId()); + process.setHistoryTaskEndTime(task.getEndTime()); + Map variables = task.getProcessVariables(); + variables.putAll(task.getTaskLocalVariables()); + + // 删除历史固定变量字段,防止提交时重复序列化 + if (variables.containsKey(WfProcessConstant.TASK_VARIABLE_FORM_OPTION)) { + variables.remove(WfProcessConstant.TASK_VARIABLE_FORM_OPTION); + try { + runtimeService.removeVariable(task.getExecutionId(), WfProcessConstant.TASK_VARIABLE_FORM_OPTION); + } catch (Exception ignore) { + } + } + if (variables.containsKey(WfProcessConstant.TASK_VARIABLE_FORM_VARIABLE)) { + variables.remove(WfProcessConstant.TASK_VARIABLE_FORM_VARIABLE); + try { + runtimeService.removeVariable(task.getExecutionId(), WfProcessConstant.TASK_VARIABLE_FORM_VARIABLE); + } catch (Exception ignore) { + } + } + + process.setVariables(variables); + process.setProcessInstanceId(task.getProcessInstanceId()); + + ProcessDefinition processDefinition = WfProcessCache.getProcessDefinition(task.getProcessDefinitionId()); + + process.setProcessDefinitionId(processDefinition.getId()); + process.setProcessDefinitionName(processDefinition.getName()); + process.setProcessDefinitionKey(processDefinition.getKey()); + process.setProcessDefinitionVersion(processDefinition.getVersion()); + process.setCategory(processDefinition.getCategory()); + + HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery() + .processInstanceId(task.getProcessInstanceId()) + .singleResult(); + WfUser starter = WfUserCache.getUser(NumberUtils.toLong(processInstance.getStartUserId())); + if (starter != null) { + process.setStartUsername(starter.getName()); + } + process.setIsOwner(assignee.equals(processInstance.getStartUserId())); + process.setIsReturnable(this.isReturnable(processInstance.getId(), assignee)); + process.setBusinessId(processInstance.getBusinessKey()); + + // 流程状态 + this.setProcessStatus(process, processInstance); + + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinition.getId()); + + process.setXml(new String(new BpmnXMLConverter().convertToXML(bpmnModel))); + // BpmnModel转换为xml,上面的办法会丢失互斥网关中间的icon。下面的办法修改模型后会导致旧版本部署的流程流程图也变。自行取舍。 +// try { +// WfModel model = wfModelService.selectOne(new LambdaQueryWrapper().eq(WfModel::getModelKey, processDefinition.getKey())); +// if (model == null) throw new RuntimeException(); +// process.setXml(model.getXml()); +// } catch (Exception e) { +// process.setXml(new String(new BpmnXMLConverter().convertToXML(bpmnModel))); +// } + + if (process.getStatus().equals(WfProcessConstant.STATUS_TODO)) { // 待办再查询扩展属性 + String taskKey = task.getTaskDefinitionKey(); + + // 隐藏评论附件选项 + String hideAttachment = WfModelUtil.getUserTaskExtensionAttribute(taskKey, bpmnModel, WfExtendConstant.HIDE_ATTACHMENT); + if (StringUtil.isNotBlank(hideAttachment) && "true".equals(hideAttachment)) { + process.setHideAttachment(true); + } + + // 隐藏抄送人选项 + String hideCopy = WfModelUtil.getUserTaskExtensionAttribute(taskKey, bpmnModel, WfExtendConstant.HIDE_COPY); + if (StringUtil.isNotBlank(hideCopy) && "true".equals(hideCopy)) { + process.setHideCopy(true); + } + + // 隐藏下一步审核人选项 + String hideExamine = WfModelUtil.getUserTaskExtensionAttribute(taskKey, bpmnModel, WfExtendConstant.HIDE_EXAMINE); + if (StringUtil.isNotBlank(hideExamine) && "true".equals(hideExamine)) { + process.setHideExamine(true); + } + + // 默认抄送人 + List copyUsers = WfModelUtil.getUserTaskExtensionElements(taskKey, bpmnModel, WfExtendConstant.COPY_USER); + if (copyUsers != null && copyUsers.size() > 0) { + List values = new ArrayList<>(); + List texts = new ArrayList<>(); + copyUsers.forEach(copyUser -> { + String value = copyUser.getAttributes().get("value").get(0).getValue(); + String text = copyUser.getAttributes().get("text").get(0).getValue(); + if (StringUtil.isNoneBlank(value, text)) { + values.add(value); + texts.add(text); + } + }); + if (values.size() > 0 && texts.size() > 0) { + process.setCopyUser(String.join(",", values)); + process.setCopyUserName(String.join(",", texts)); + } + } + } + + return new AsyncResult<>(process); + } + + @Override + public String getXmlByProcessDefId(String processDefId) { + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefId); + if (bpmnModel != null) { + return new String(new BpmnXMLConverter().convertToXML(bpmnModel)); + } + return null; + } + + @Override + public String getXmlByProcessDefKey(String processDefKey) { + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery() + .processDefinitionKey(processDefKey) + .latestVersion() + .singleResult(); + if (processDefinition != null) { + return getXmlByProcessDefId(processDefinition.getId()); + } + return null; + } + + @Override + @Transactional(rollbackFor = Exception.class) + @RedisLock(value = "WfTaskLock", param = "#process.taskId") + public Object completeTask(WfProcess process) { + String taskId = process.getTaskId(); + + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return R.fail("查询不到此任务"); + } +// taskService.setVariable(task.getId(), WfProcessConstant.PASS_KEY, process.isPass()); + process.setTaskName(process.getProcessDefinitionName() + "-" + task.getName()); + process.setAssigneeName(WfTaskUtil.getNickName()); + process.setTaskDefinitionKey(task.getTaskDefinitionKey()); + + // 最后操作人 + taskService.setVariable(taskId, WfProcessConstant.TASK_VARIABLE_LATEST_TASK_ASSIGNEE, WfTaskUtil.getTaskUser()); + if (process.isPass()) { // 审核通过 + this.passTask(process, task); + } else { // 审核不通过 + this.rejectTask(process); + } + + // 处理抄送 + if (StringUtil.isNotBlank(process.getCopyUser())) { + wfCopyService.resolveCopyUser((WfCopyDTO) new WfCopyDTO() + .setCopyUser(process.getCopyUser()) + .setTask(task)); + } + // 删除草稿箱 + wfDraftService.deleteByTaskId(taskId, WfTaskUtil.getTaskUser()); + + return R.success("操作成功"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + @RedisLock(value = "WfTaskLock", param = "#process.taskId") + public Object transferTask(WfProcess process) { + String taskId = process.getTaskId(); + String acceptUser = process.getAssignee(); + String comment = process.getComment(); + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return R.fail("查询不到此任务"); + } + if (StringUtil.isNotBlank(comment)) { + WfUser fromUser = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + WfUser toUser = WfUserCache.getUser(Long.valueOf(acceptUser)); + if (fromUser != null && toUser != null) { + comment = fromUser.getName() + "→" + toUser.getName() + ":" + comment; + } + taskService.addComment(taskId, task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_TRANSFER, comment); + } + // 评论附件 + List attachment = process.getAttachment(); + if (ObjectUtil.isNotEmpty(attachment)) { + String finalComment = comment; + attachment.forEach(att -> taskService.saveAttachment(taskService.createAttachment(WfProcessConstant.COMMENT_TYPE_TRANSFER, taskId, task.getProcessInstanceId(), att.getName(), finalComment, att.getUrl()))); + } + taskService.removeVariable(taskId, WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE); // 删除撤回/驳回标记 + if (StringUtil.isBlank(task.getOwner())) taskService.setOwner(taskId, WfTaskUtil.getTaskUser()); + taskService.setAssignee(taskId, acceptUser); + + // 处理抄送 + if (StringUtil.isNotBlank(process.getCopyUser())) { + wfCopyService.resolveCopyUser((WfCopyDTO) new WfCopyDTO() + .setCopyUser(process.getCopyUser()) + .setTask(task)); + } + + // 处理消息 + wfNoticeService.sendNotice(new WfNotice() + .setFromUserId(WfTaskUtil.getTaskUser()) + .setToUserId(acceptUser) + .setTask(task) + .setProcessInsId(task.getProcessInstanceId()) + .setComment(comment) + .setType(WfNotice.Type.TRANSFER)); + return R.success("转办成功"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + @RedisLock(value = "WfTaskLock", param = "#process.taskId") + public Object delegateTask(WfProcess process) { + String taskId = process.getTaskId(); + String acceptUser = process.getAssignee(); + String comment = process.getComment(); + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return R.fail("查询不到此任务"); + } + if (StringUtil.isNotBlank(comment)) { + WfUser fromUser = WfUserCache.getUser(Long.valueOf(WfTaskUtil.getTaskUser())); + WfUser toUser = WfUserCache.getUser(Long.valueOf(acceptUser)); + if (fromUser != null && toUser != null) { + comment = fromUser.getName() + "→" + toUser.getName() + ":" + comment; + } + taskService.addComment(taskId, task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_DELEGATE, comment); + } + // 评论附件 + List attachment = process.getAttachment(); + if (ObjectUtil.isNotEmpty(attachment)) { + String finalComment = comment; + attachment.forEach(att -> taskService.saveAttachment(taskService.createAttachment(WfProcessConstant.COMMENT_TYPE_DELEGATE, taskId, task.getProcessInstanceId(), att.getName(), finalComment, att.getUrl()))); + } + taskService.removeVariable(taskId, WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE); // 删除撤回/驳回标记 + if (StringUtil.isBlank(task.getOwner())) taskService.setOwner(taskId, WfTaskUtil.getTaskUser()); + taskService.delegateTask(taskId, acceptUser); + + // 处理抄送 + if (StringUtil.isNotBlank(process.getCopyUser())) { + wfCopyService.resolveCopyUser((WfCopyDTO) new WfCopyDTO() + .setCopyUser(process.getCopyUser()) + .setTask(task)); + } + + // 处理消息 + wfNoticeService.sendNotice(new WfNotice() + .setFromUserId(WfTaskUtil.getTaskUser()) + .setToUserId(acceptUser) + .setProcessInsId(task.getProcessInstanceId()) + .setTask(task) + .setComment(comment) + .setType(WfNotice.Type.DELEGATE)); + return R.success("委托成功"); + } + + @Override + @RedisLock(value = "WfTaskLock", param = "#taskId") + public Object claimTask(String taskId) { + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return R.fail("查询不到此任务"); + } + taskService.claim(taskId, WfTaskUtil.getTaskUser()); + return R.success("签收成功"); + } + + @Override + public List getBackNodes(WfProcess wfProcess) { + String taskId = wfProcess.getTaskId(); + HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult(); + if (task == null) { + return new ArrayList<>(); + } + String processInstanceId = task.getProcessInstanceId(); + String currActId = task.getTaskDefinitionKey(); + String processDefinitionId = task.getProcessDefinitionId(); + Process process = repositoryService.getBpmnModel(processDefinitionId).getMainProcess(); + boolean isSubProcess = false; + FlowNode currentFlowElement = (FlowNode) process.getFlowElement(currActId, false); + if (currentFlowElement == null) { + isSubProcess = true; + } + List activities = historyService + .createHistoricActivityInstanceQuery() + .processInstanceId(processInstanceId) + .finished() + .orderByHistoricActivityInstanceStartTime().asc() + .orderByHistoricActivityInstanceEndTime().asc() + .list(); + List activityIds = + activities.stream().filter(activity -> activity.getActivityType().equals(BpmnXMLConstants.ELEMENT_TASK_USER) || activity.getActivityType().equals(BpmnXMLConstants.ELEMENT_EVENT_START)).map(HistoricActivityInstance::getActivityId).filter(activityId -> !activityId.equals(currActId)).distinct().collect(Collectors.toList()); + List result = new ArrayList<>(); + for (String activityId : activityIds) { + FlowNode toBackFlowElement = (FlowNode) process.getFlowElement(activityId, true); + if (toBackFlowElement != null && (isSubProcess || ExecutionGraphUtil.isReachable(process, toBackFlowElement, currentFlowElement, Sets.newHashSet()))) { + WfNode vo = new WfNode(); + vo.setNodeName(toBackFlowElement.getName()); + vo.setNodeId(activityId); + result.add(vo); + } + } + return result; + } + + @Override + @Transactional(rollbackFor = Exception.class) + @RedisLock(value = "WfTaskLock", param = "#process.taskId") + public Object rollbackTask(WfProcess process) { + String taskId = process.getTaskId(); + String nodeId = process.getNodeId(); + String comment = process.getComment(); + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return R.fail("查询不到此任务"); + } + if (StringUtil.isBlank(task.getAssignee())) { + taskService.claim(taskId, WfTaskUtil.getTaskUser()); + } + + ActivityInstance targetRealActivityInstance = runtimeService + .createActivityInstanceQuery() + .processInstanceId(task.getProcessInstanceId()) + .activityId(nodeId).list().get(0); + if (targetRealActivityInstance.getActivityType().equals(BpmnXMLConstants.ELEMENT_EVENT_START)) { + process.setProcessInstanceId(task.getProcessInstanceId()); + this.terminateProcess(process); + } else { + if (StringUtil.isNoneBlank(comment)) { // 增加评论 + taskService.addComment(taskId, task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_ROLLBACK, comment); + } + List attachment = process.getAttachment(); + if (ObjectUtil.isNotEmpty(attachment)) { // 增加评论附件 + attachment.forEach(att -> taskService.saveAttachment(taskService.createAttachment(WfProcessConstant.COMMENT_TYPE_ROLLBACK, taskId, task.getProcessInstanceId(), att.getName(), comment, att.getUrl()))); + } + taskService.setVariable(taskId, WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE, WfProcessConstant.STATUS_REJECT); // 添加驳回标记 + // 最后操作人 + taskService.setVariable(taskId, WfProcessConstant.TASK_VARIABLE_LATEST_TASK_ASSIGNEE, WfTaskUtil.getTaskUser()); + + BpmnModel model = repositoryService.getBpmnModel(task.getProcessDefinitionId()); + + // 被驳回的节点是否配置了 重新提交回到驳回人 + if (model != null) { + String backToRejecter = WfModelUtil.getUserTaskExtensionAttribute(process.getNodeId(), model, WfExtendConstant.BACK_TO_REJECTER); + if (StringUtil.isNotBlank(backToRejecter) && "true".equals(backToRejecter)) { + taskService.setVariable(taskId, WfExtendConstant.BACK_TO_REJECTER, task.getTaskDefinitionKey()); + } + } + +// this.dispatchTaskTo(task.getProcessInstanceId(), nodeId); + + UserTask userTask = WfModelUtil.getUserTaskByKey(task.getTaskDefinitionKey(), model); + UserTask targetUserTask = WfModelUtil.getUserTaskByKey(nodeId, model); + SubProcess targetSubProcess = null; + if (targetUserTask != null) { + targetSubProcess = targetUserTask.getSubProcess(); + } + boolean isParallelGateway = false; + boolean isSubProcess = false; + if (userTask != null) { + isParallelGateway = WfModelUtil.isInParallelGateway(userTask, model); + if (!isParallelGateway) { + SubProcess subProcess = userTask.getSubProcess(); + // 子流程驳回。1、子流程内部驳回,只驳回单个节点。2、子流程驳回到外部,驳回所有节点。 + if (subProcess != null) { + // 当前任务与驳回目标节点不在子流程中或者不在同一子流程中。 + if (targetSubProcess != null && targetSubProcess.getId().equals(subProcess.getId())) { + isSubProcess = true; + } + } + } + } + if (isParallelGateway && !WfModelUtil.isInParallelGateway(targetUserTask, model)) { + this.dispatchTaskTo(task.getProcessInstanceId(), nodeId); + } else if (isSubProcess) { + runtimeService.createChangeActivityStateBuilder() + .moveExecutionToActivityId(task.getExecutionId(), nodeId).changeState(); + } else { + runtimeService.createChangeActivityStateBuilder() + .processInstanceId(task.getProcessInstanceId()) + .moveActivityIdTo(task.getTaskDefinitionKey(), nodeId).changeState(); + } + // 添加指定标记,防止并行网关中指定时查询错误。 + List taskList = taskService.createTaskQuery() + .processInstanceId(task.getProcessInstanceId()) + .taskDefinitionKey(nodeId) + .list(); + if (!taskList.isEmpty()) { + taskList.forEach(t -> taskService.setVariableLocal(t.getId(), WfProcessConstant.TASK_VARIABLE_APPOINT, "1")); + } + } + + return R.success("退回成功"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + @RedisLock(value = "WfTaskLock", param = "#process.taskId") + public Object terminateProcess(WfProcess process) { + String taskId = process.getTaskId(); + String comment = process.getComment(); + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return R.fail("查询不到此任务"); + } + BpmnModel model = repositoryService.getBpmnModel(task.getProcessDefinitionId()); + EndEvent endEvent = WfModelUtil.getEndEvent(model); + if (endEvent == null) { + return R.fail("流程缺少结束节点"); + } + if (StringUtil.isBlank(task.getAssignee())) { + taskService.claim(taskId, WfTaskUtil.getTaskUser()); + } + // 添加终止标记 + taskService.setVariable(taskId, WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE, "true"); + // 最后操作人 + taskService.setVariable(taskId, WfProcessConstant.TASK_VARIABLE_LATEST_TASK_ASSIGNEE, WfTaskUtil.getTaskUser()); + + // 增加评论 + if (StringUtil.isNoneBlank(task.getProcessInstanceId(), comment)) { + taskService.addComment(taskId, task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_TERMINATE, comment); + } + // 评论附件 + List attachment = process.getAttachment(); + if (ObjectUtil.isNotEmpty(attachment)) { + attachment.forEach(att -> taskService.saveAttachment(taskService.createAttachment(WfProcessConstant.COMMENT_TYPE_TERMINATE, taskId, task.getProcessInstanceId(), att.getName(), comment, att.getUrl()))); + } + this.dispatchTaskTo(task.getProcessInstanceId(), endEvent.getId()); + return R.success("终止成功"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + @RedisLock(value = "WfTaskLock", param = "#process.taskId") + public Object addMultiInstance(WfProcess process) { + String taskId = process.getTaskId(); + String comment = StringUtil.isBlank(process.getComment()) ? "" : process.getComment() + " - "; + + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return R.fail("查询不到此任务"); + } + String assignee = process.getAssignee(); + String[] ids = assignee.split(","); + List usernames = new ArrayList<>(); + for (String id : ids) { + WfUser user = WfUserCache.getUser(Long.valueOf(id)); + if (user == null) continue; + + // 执行加签 + runtimeService.addMultiInstanceExecution(task.getTaskDefinitionKey(), task.getProcessInstanceId(), Collections.singletonMap("assignee", id)); + + usernames.add(user.getName()); + // 处理消息 + wfNoticeService.sendNotice(new WfNotice() + .setFromUserId(WfTaskUtil.getTaskUser()) + .setToUserId(id) + .setProcessInsId(task.getProcessInstanceId()) + .setTask(task) + .setComment(comment) + .setType(WfNotice.Type.ADD_MULTI_INSTANCE)); + } + // 增加评论 + if (StringUtil.isBlank(comment) || comment.contains("管理员操作:")) { + comment += Func.join(usernames); + taskService.addComment(taskId, task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_ADD_MULTI_INSTANCE, comment); + } + // 评论附件 + List attachment = process.getAttachment(); + if (ObjectUtil.isNotEmpty(attachment)) { + String finalComment = comment; + attachment.forEach(att -> taskService.saveAttachment(taskService.createAttachment(WfProcessConstant.COMMENT_TYPE_ADD_MULTI_INSTANCE, taskId, task.getProcessInstanceId(), att.getName(), finalComment, att.getUrl()))); + } + return R.success("操作成功"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + @RedisLock(value = "WfTaskLock", param = "#process.taskId") + public Object withdrawTask(WfProcess process) { + String taskId = process.getTaskId(); + HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult(); + if (historicTaskInstance == null) { + return R.fail("查询不到此任务"); + } + String currentUser = WfTaskUtil.getTaskUser(); + Boolean isRevocable = this.isReturnable(historicTaskInstance.getProcessInstanceId(), currentUser); + if (!isRevocable) { + return R.fail("此任务不可撤回"); + } + List list = taskService.createTaskQuery().processInstanceId(historicTaskInstance.getProcessInstanceId()).list(); + if (list == null || list.isEmpty()) { + return R.fail("没有可撤回的任务"); + } + Task task = list.iterator().next(); + + BpmnModel model = repositoryService.getBpmnModel(task.getProcessDefinitionId()); + if (WfProcessConstant.WITHDRAW_TYPE_START.equals(process.getWithdrawType())) { // 重新提交 + StartEvent startEvent = WfModelUtil.getStartEvent(model); + if (startEvent != null) { + List outgoingFlows = startEvent.getOutgoingFlows(); + for (SequenceFlow outgoingFlow : outgoingFlows) { + FlowElement targetFlowElement = outgoingFlow.getTargetFlowElement(); + if (targetFlowElement instanceof UserTask) { + UserTask userTask = (UserTask) targetFlowElement; + WfTaskUser taskUser = wfTaskService.getTaskUser(task.getProcessDefinitionId(), task.getProcessInstanceId(), userTask.getId(), currentUser); + List userList = taskUser.getUserList(); + if (userList.size() == 1 && currentUser.equals(String.valueOf(userList.get(0).getId()))) { + for (Task t : list) { + // 添加撤回重新提交标记 + taskService.setVariable(t.getId(), WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE, WfProcessConstant.STATUS_RECALL); + // 增加评论 + taskService.addComment(t.getId(), task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_RECALL, "撤回重新提交"); + } + this.dispatchTaskTo(task.getProcessInstanceId(), userTask.getId()); + return R.success("撤回成功"); + } + } + } + } + } + EndEvent endEvent = WfModelUtil.getEndEvent(model); + if (endEvent == null) { + return R.fail("流程缺少结束节点"); + } + for (Task t : list) { + // 添加撤回终止标记 + taskService.setVariable(t.getId(), WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE, WfProcessConstant.STATUS_WITHDRAW); + // 增加评论 + taskService.addComment(t.getId(), task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_WITHDRAW, "撤销流程"); + } + this.dispatchTaskTo(task.getProcessInstanceId(), endEvent.getId()); + return R.success("撤销成功"); + } + + @Override + public Boolean isReturnable(String processInsId, String currentUser) { + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInsId).singleResult(); + if (processInstance == null) { + return false; + } + if (!currentUser.equals(processInstance.getStartUserId())) { // 流程发起人才可撤回 + return false; + } + HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(processInsId) + .taskWithoutDeleteReason() + .finished(); + + // ======start======只允许撤回一次,若需无限撤回可注释此段代码====== + long count = query.count(); + if (count > 1) { + return false; + } + // ======end====== + + List list = query.list(); + for (HistoricTaskInstance t : list) { // 判断已完成的任务是否都是当前登录人处理的,若是则可撤回 + if (StringUtil.isNotBlank(t.getAssignee())) { + if (!currentUser.equals(t.getAssignee())) { + return false; + } + } else { + WfTaskUser taskUser = wfTaskService.getTaskUser(t.getProcessDefinitionId(), t.getProcessInstanceId(), t.getTaskDefinitionKey(), currentUser); + List userList = taskUser.getUserList(); + if (userList.size() != 1) { // 无处理人/不是唯一处理人 + return false; + } + if (!currentUser.equals(String.valueOf(userList.get(0).getId()))) { + return false; + } + } + } + return true; + } + + @Override + public void dispatchTaskTo(String processInsId, String nodeId) { + List executions = runtimeService.createExecutionQuery().parentId(processInsId).list(); + List executionIds = new ArrayList<>(); + executions.forEach(execution -> executionIds.add(execution.getId())); + runtimeService.createChangeActivityStateBuilder().moveExecutionsToSingleActivityId(executionIds, nodeId).changeState(); + } + + @Override + public void setProcessStatus(WfProcess process, HistoricProcessInstance processInstance) { + if (processInstance.getEndTime() == null) { + process.setProcessIsFinished(WfProcessConstant.STATUS_UNFINISHED); + } else { + process.setProcessIsFinished(WfProcessConstant.STATUS_FINISHED); + } + if (processInstance.getDeleteReason() == null) { // 未逻辑删除 + HistoricVariableInstanceQuery variableInstanceQuery = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()); + HistoricVariableInstance terminate = variableInstanceQuery.variableName(WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE).singleResult(); + if (ObjectUtil.isNotEmpty(terminate) && ObjectUtil.isNotEmpty(terminate.getValue())) { + String processIsFinished = terminate.getValue().toString(); + if ("true".equals(processIsFinished)) processIsFinished = WfProcessConstant.STATUS_TERMINATE; + process.setProcessIsFinished(processIsFinished); + } + } else { + process.setProcessIsFinished(WfProcessConstant.STATUS_DELETED); + } + } + + @Override + public boolean hasProcessAccess(String processInsId, String userId) { + // 管理员权限 + if (AuthUtil.isAdmin() || AuthUtil.isAdministrator()) { + return true; + } + // 流程参与者 + long processInstance = historyService.createHistoricProcessInstanceQuery() + .processInstanceId(processInsId) + .involvedUser(userId) + .count(); + // 抄送 + long copy = wfCopyService.count(new LambdaQueryWrapper() + .eq(WfCopy::getProcessId, processInsId) + .eq(WfCopy::getUserId, NumberUtils.toLong(userId))); + return processInstance != 0 || copy != 0; + } + + /** + * 审核通过 + */ + private void passTask(WfProcess process, Task task) { + String taskId = task.getId(); + String processInstanceId = process.getProcessInstanceId(); + String processDefinitionId = process.getProcessDefinitionId(); + String assignee = process.getAssignee(); + String comment = process.getComment(); + + // 创建变量 + Map variables = process.getVariables(); + if (variables == null) { + variables = new HashMap<>(); + } + variables.put(WfProcessConstant.TASK_VARIABLE_ASSIGNEE, assignee); + + if (StringUtil.isNoneBlank(processInstanceId, comment)) { // 增加评论 + taskService.addComment(taskId, processInstanceId, comment); + } + List attachment = process.getAttachment(); + if (ObjectUtil.isNotEmpty(attachment)) { // 增加评论附件 + String finalComment = comment; + attachment.forEach(att -> taskService.saveAttachment(taskService.createAttachment(WfProcessConstant.COMMENT_TYPE_COMMENT, taskId, task.getProcessInstanceId(), att.getName(), finalComment, att.getUrl()))); + } + + taskService.removeVariable(taskId, WfProcessConstant.TASK_VARIABLE_PROCESS_TERMINATE); // 删除撤回/驳回标记 + + boolean needComplete = true; + // 重新提交回到驳回人 + Object nodeId = runtimeService.getVariable(processInstanceId, WfExtendConstant.BACK_TO_REJECTER); + if (ObjectUtil.isNotEmpty(nodeId) && StringUtil.isNotBlank(processDefinitionId)) { + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); + String backToRejecter = WfModelUtil.getUserTaskExtensionAttribute(task.getTaskDefinitionKey(), bpmnModel, WfExtendConstant.BACK_TO_REJECTER); + if (StringUtil.isNotBlank(backToRejecter) && "true".equals(backToRejecter)) { + taskService.setVariables(taskId, variables); +// this.dispatchTaskTo(processInstanceId, nodeId.toString()); + + runtimeService.createChangeActivityStateBuilder() + .processInstanceId(task.getProcessInstanceId()) + .moveActivityIdTo(task.getTaskDefinitionKey(), nodeId.toString()).changeState(); + + runtimeService.removeVariable(processInstanceId, WfExtendConstant.BACK_TO_REJECTER); + needComplete = false; + } + } + + if (needComplete) { + if (StringUtil.isNotBlank(task.getOwner())) { // 转办/委托设置了owner + DelegationState delegationState = task.getDelegationState(); + if (delegationState != null) { + switch (delegationState) { + case PENDING: // 委托任务先处理,处理完成后会回到委派人的任务中,再执行完成 + if (StringUtil.isBlank(comment)) { // 默认委托处理意见,防止被委托人处理完后委托人无法理解 + comment = WfTaskUtil.getNickName() + ":同意"; + taskService.addComment(taskId, processInstanceId, comment); + } + taskService.resolveTask(taskId, variables); +// taskService.complete(taskId, variables); + break; + case RESOLVED: // 已处理委托 + default: // 无委托 + taskService.complete(taskId, variables); + break; + } + } else { + taskService.complete(taskId, variables); + } + } else if (StringUtil.isBlank(task.getAssignee())) { // 待签任务,先签收 + this.claimTask(taskId); + taskService.complete(taskId, variables); + } else { + taskService.complete(taskId, variables); + } + } + + // 指定下一步审批人 + int num = this.handleNextNodeAssignee(processInstanceId, assignee); + if (num > 0) { + throw new RuntimeException("需指定 " + num + " 个审核人"); + } + + // 保存流程表单变量 + wfFormVariableService.saveFormVariable(processInstanceId, task, null, variables, Long.valueOf(WfTaskUtil.getTaskUser())); + } + + /** + * 审核不通过 + */ + @Transactional(rollbackFor = Exception.class) + protected void rejectTask(WfProcess process) { + String taskKey = process.getTaskDefinitionKey(); + String processDefinitionId = process.getProcessDefinitionId(); + String rollbackNode = null; + + if (StringUtil.isNotBlank(processDefinitionId)) { + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); + + // 判断节点上是否配置了驳回节点,若没有配置则使用流程上配置的驳回节点,若流程也没有配置则驳回到上一节点 + List attributes; + rollbackNode = WfModelUtil.getUserTaskExtensionAttribute(taskKey, bpmnModel, WfExtendConstant.ROLLBACK_NODE); + if (StringUtil.isBlank(rollbackNode)) { + attributes = WfModelUtil.getProcessExtensionAttributes(bpmnModel, WfExtendConstant.ROLLBACK_NODE); + if (attributes != null) { + rollbackNode = attributes.get(0).getValue(); + } + } + } + List backNodes = this.getBackNodes(process); + if (backNodes.size() > 0) { + String finalRollbackNode = rollbackNode; + // 配置了默认退回节点并且可退回节点中包含配置的退回节点 + if (StringUtil.isNotBlank(rollbackNode) && backNodes.stream().filter(wfNode -> wfNode.getNodeId().equals(finalRollbackNode)).findAny().orElse(null) != null) { + process.setNodeId(rollbackNode); + } else { + WfNode node = backNodes.get(backNodes.size() - 1); + process.setNodeId(node.getNodeId()); + } + this.rollbackTask(process); + } + } + + /** + * 构建流程列表 + */ + private void buildProcessList(List wfProcessList, HistoricProcessInstanceQuery historyQuery, Query query) { + // 查询列表 + List historyList; + if (query == null || query.getSize() == -1) { + historyList = historyQuery.list(); + } else { + historyList = historyQuery.listPage(Func.toInt((query.getCurrent() - 1) * query.getSize()), Func.toInt(query.getSize())); + } + + historyList.forEach(historicProcessInstance -> { + WfProcess process = new WfProcess(); + // historicProcessInstance + process.setCreateTime(historicProcessInstance.getStartTime()); + process.setEndTime(historicProcessInstance.getEndTime()); + process.setProcessInstanceId(historicProcessInstance.getId()); + // Variables + process.setVariables(buildTaskVariables(WfProcessConstant.STATUS_DONE, historicProcessInstance.getId(), process)); + // ProcessDefinition + ProcessDefinition processDefinition = WfProcessCache.getProcessDefinition(historicProcessInstance.getProcessDefinitionId()); + process.setProcessDefinitionId(processDefinition.getId()); + process.setProcessDefinitionName(StringUtil.isNotBlank(historicProcessInstance.getName()) ? historicProcessInstance.getName() : processDefinition.getName()); + process.setProcessDefinitionKey(processDefinition.getKey()); + process.setCategory(processDefinition.getCategory()); + // HistoricTaskInstance + List historyTasks = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(historicProcessInstance.getId()) + .orderByTaskCreateTime().desc() + .orderByHistoricTaskInstanceEndTime().desc() + .list(); + if (Func.isNotEmpty(historyTasks)) { + HistoricTaskInstance historyTask = historyTasks.iterator().next(); + + Set taskNames = new LinkedHashSet<>(); + Set assignees = new LinkedHashSet<>(); + historyTasks.stream().filter(historicTaskInstance -> historicTaskInstance.getEndTime() == null).forEach(task -> { + taskNames.add(task.getName()); + if (task.getAssignee() != null) { + WfUser assignee = WfUserCache.getUser(Long.valueOf(task.getAssignee())); + if (assignee != null) { + assignees.add(assignee.getName()); + } + } + }); + // 管理员查看表单字段权限 + if (AuthUtil.isAdmin() || AuthUtil.isAdministrator()) { + process.setTaskId(historyTask.getId()); + } else { // 其他人若有已办,表单字段以已办为准。没有以最新任务为准。 + String taskUser = WfTaskUtil.getTaskUser(); + HistoricTaskInstance taskInstance = historyTasks + .stream() + .filter(historicTaskInstance -> taskUser.equals(historicTaskInstance.getAssignee())) + .findFirst() + .orElse(null); + if (taskInstance != null) { + process.setTaskId(taskInstance.getId()); + } else { + process.setTaskId(historyTask.getId()); + } + } + + process.setTaskName(Func.join(taskNames, " / ")); + process.setAssigneeName(Func.join(assignees, " / ")); + + // ExForm + buildExForm(historyTask.getProcessDefinitionId(), historyTask.getTaskDefinitionKey(), process); + } + // Status + if (historicProcessInstance.getEndActivityId() != null) { + process.setTaskName("结束"); + process.setAssigneeName("无"); + } + this.setProcessStatus(process, historicProcessInstance); + wfProcessList.add(process); + }); + } + + /** + * 构建任务列表 + */ + private void buildTaskList(List wfProcessList, org.flowable.common.engine.api.query.Query taskQuery, Query query, String status) { + List taskList = taskQuery.listPage(Func.toInt((query.getCurrent() - 1) * query.getSize()), Func.toInt(query.getSize())); + + taskList.forEach(task -> { + HistoricTaskInstance t1 = null; + Task t2 = null; + if (task instanceof HistoricTaskInstance) { + t1 = (HistoricTaskInstance) task; + } else { + t2 = (Task) task; + } + String taskId = t1 == null ? t2.getId() : t1.getId(); // 任务id + String taskDefKey = t1 == null ? t2.getTaskDefinitionKey() : t1.getTaskDefinitionKey(); // 任务key + String taskName = t1 == null ? t2.getName() : t1.getName(); // 任务名称 + Date taskCreateTime = t1 == null ? t2.getCreateTime() : t1.getCreateTime(); // 任务创建时间 + String processInsId = t1 == null ? t2.getProcessInstanceId() : t1.getProcessInstanceId(); // 流程实例id + String processDefId = t1 == null ? t2.getProcessDefinitionId() : t1.getProcessDefinitionId(); // 流程定义id + + WfProcess process = new WfProcess(); + process.setTaskId(taskId); + process.setTaskDefinitionKey(taskDefKey); + process.setTaskName(taskName); + process.setCreateTime(taskCreateTime); + process.setStatus(status); + process.setProcessInstanceId(processInsId); + // Variables + process.setVariables(buildTaskVariables(status, processInsId, process)); + // ProcessDefinition + ProcessDefinition processDefinition = WfProcessCache.getProcessDefinition(processDefId); + process.setCategory(processDefinition.getCategory()); + process.setProcessDefinitionId(processDefinition.getId()); + process.setProcessDefinitionKey(processDefinition.getKey()); + // ProcessInstance + HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() + .processInstanceId(processInsId) + .singleResult(); + process.setProcessDefinitionName(StringUtil.isNotBlank(historicProcessInstance.getName()) ? historicProcessInstance.getName() : processDefinition.getName()); + + // ExForm + buildExForm(processDefId, taskDefKey, process); + + wfProcessList.add(process); + }); + } + + /** + * 构建业务变量 + */ + private Map buildTaskVariables(String status, String processInsId, WfProcess process) { + Map variables = new HashMap<>(); + if (WfProcessConstant.STATUS_TODO.equals(status)) { // 进行中实例 + Object applyUsername = runtimeService.getVariable(processInsId, WfProcessConstant.TASK_VARIABLE_APPLY_USER_NAME); + // 发起人 + if (ObjectUtil.isNotEmpty(applyUsername)) { + variables.put(WfProcessConstant.TASK_VARIABLE_APPLY_USER_NAME, applyUsername.toString()); + process.setStartUsername(applyUsername.toString()); + } + // 流水号 + Object sn = runtimeService.getVariable(processInsId, WfProcessConstant.TASK_VARIABLE_SN); + if (ObjectUtil.isNotEmpty(sn)) { + variables.put(WfProcessConstant.TASK_VARIABLE_SN, sn.toString()); + } + } else { // 历史实例 + HistoricVariableInstanceQuery variableInstanceQuery = historyService.createHistoricVariableInstanceQuery() + .processInstanceId(processInsId); + // 发起人 + HistoricVariableInstance applyUsername = variableInstanceQuery.variableName(WfProcessConstant.TASK_VARIABLE_APPLY_USER_NAME).singleResult(); + if (ObjectUtil.isNotEmpty(applyUsername)) { + variables.put(WfProcessConstant.TASK_VARIABLE_APPLY_USER_NAME, applyUsername.getValue()); + process.setStartUsername(applyUsername.getValue().toString()); + } + // 流水号 + HistoricVariableInstance sn = variableInstanceQuery.variableName(WfProcessConstant.TASK_VARIABLE_SN).singleResult(); + if (ObjectUtil.isNotEmpty(sn)) { + variables.put(WfProcessConstant.TASK_VARIABLE_SN, sn.getValue()); + } + } + + return variables; + } + + /** + * 构建外置表单url + */ + private void buildExForm(String processDefId, String taskDefKey, WfProcess process) { + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefId); + String exFormKey = WfModelUtil.getUserTaskExtensionAttribute(taskDefKey, bpmnModel, WfExtendConstant.EX_FORM_KEY); + if (StringUtil.isNotBlank(exFormKey)) { + process.setFormKey(WfProcessConstant.EX_FORM_PREFIX + exFormKey); + } + + String exFormUrl = WfModelUtil.getUserTaskExtensionAttribute(taskDefKey, bpmnModel, WfExtendConstant.EX_FORM_URL); + if (StringUtil.isNotBlank(exFormUrl)) { + process.setFormUrl(exFormUrl); + } + + String exAppFormUrl = WfModelUtil.getUserTaskExtensionAttribute(taskDefKey, bpmnModel, WfExtendConstant.EX_APP_FORM_URL); + if (StringUtil.isNotBlank(exAppFormUrl)) { + process.setAppFormUrl(exAppFormUrl); + } + } + + /** + * 处理指定下一步审核人 + * + * @param processInsId 流程实例id + * @param assignee 下一步审核人 + */ + private int handleNextNodeAssignee(String processInsId, Object assignee) { + List list = taskService.createTaskQuery() + .processInstanceId(processInsId) + .taskVariableNotExists(WfProcessConstant.TASK_VARIABLE_APPOINT) + .list(); + if (list.size() == 0) return 0; + if (ObjectUtil.isNotEmpty(assignee)) { + String[] ids = assignee.toString().split(","); + List taskKeys = list.stream().map(Task::getTaskDefinitionKey).distinct().collect(Collectors.toList()); + if (taskKeys.size() > 1) { // 并行网关 + if (ids.length != taskKeys.size()) { + return taskKeys.size(); + } + for (int i = 0; i < taskKeys.size(); i++) { + String taskKey = taskKeys.get(i); + List ls = list.stream().filter(task -> task.getTaskDefinitionKey().equals(taskKey)).collect(Collectors.toList()); + if (ls.size() == 0) continue; + if (ls.size() > 1) { // 包含多实例并行节点 + this.addOrDelMultiInstance(ls, ids, processInsId); + } else { // 普通用户任务节点 + Task task = ls.get(0); + taskService.setAssignee(task.getId(), ids[i]); + taskService.setVariableLocal(task.getId(), WfProcessConstant.TASK_VARIABLE_APPOINT, "1"); + } + } + } else { // 多实例并行节点 + this.addOrDelMultiInstance(list, ids, processInsId); + } + } else { + for (Task task : list) { + taskService.setVariableLocal(task.getId(), WfProcessConstant.TASK_VARIABLE_APPOINT, "1"); + } + } + return 0; + } + + /** + * 加签或减签 + * + * @param list taskList + * @param ids 选择的审核人 + * @param processInsId 流程实例id + */ + private void addOrDelMultiInstance(List list, String[] ids, String processInsId) { + if (list.size() > 1 || (list.size() == 1 && wfTaskService.isMultiInstance(list.get(0).getTaskDefinitionKey(), list.get(0).getProcessDefinitionId()))) { // 多实例 + int index = 0; + if (list.size() == ids.length) { // 实例数量等于指定数量,循环赋值 + for (Task task : list) { + taskService.setAssignee(task.getId(), ids[index]); + taskService.setVariableLocal(task.getId(), WfProcessConstant.TASK_VARIABLE_APPOINT, "1"); + index++; + } + } else if (list.size() > ids.length) { // 实例数量大于指定数量,需动态减签 + for (int i = 0; i < ids.length; i++) { + taskService.setAssignee(list.get(i).getId(), ids[i]); + taskService.setVariableLocal(list.get(i).getId(), WfProcessConstant.TASK_VARIABLE_APPOINT, "1"); + } + list.subList(ids.length, list.size()).forEach(task -> runtimeService.deleteMultiInstanceExecution(task.getExecutionId(), false)); + } else { // 实例数量小于指定数量,需动态加签 + for (int i = 0; i < list.size(); i++) { + taskService.setAssignee(list.get(i).getId(), ids[i]); + taskService.setVariableLocal(list.get(i).getId(), WfProcessConstant.TASK_VARIABLE_APPOINT, "1"); + } + for (int i = 0; i < ids.length - list.size(); i++) { + Task task = list.get(0); + runtimeService.addMultiInstanceExecution(task.getTaskDefinitionKey(), task.getProcessInstanceId(), Collections.singletonMap("assignee", ids[i + list.size()])); + } + list = taskService.createTaskQuery() + .processInstanceId(processInsId) + .taskVariableNotExists(WfProcessConstant.TASK_VARIABLE_APPOINT) + .list(); + list.forEach(t -> taskService.setVariableLocal(t.getId(), WfProcessConstant.TASK_VARIABLE_APPOINT, "1")); + } + } else { + taskService.setAssignee(list.get(0).getId(), ids[0]); + taskService.setVariableLocal(list.get(0).getId(), WfProcessConstant.TASK_VARIABLE_APPOINT, "1"); + } + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfTaskService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfTaskService.java new file mode 100644 index 0000000..cab55f7 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfTaskService.java @@ -0,0 +1,312 @@ +package org.springblade.plugin.workflow.process.service.impl; + +import com.alibaba.fastjson.JSON; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.bpmn.model.Process; +import org.flowable.bpmn.model.*; +import org.flowable.engine.HistoryService; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; +import org.flowable.engine.TaskService; +import org.flowable.engine.impl.bpmn.behavior.ParallelMultiInstanceBehavior; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.task.api.Task; +import org.flowable.task.api.history.HistoricTaskInstance; +import org.jetbrains.annotations.Nullable; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.constant.WfExtendConstant; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.user.WfUser; +import org.springblade.plugin.workflow.core.user.WfUserService; +import org.springblade.plugin.workflow.core.utils.ObjectUtil; +import org.springblade.plugin.workflow.core.utils.WfModelUtil; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.ops.service.IWfProxyService; +import org.springblade.plugin.workflow.process.model.WfTaskUser; +import org.springblade.plugin.workflow.process.service.IWfExpressionService; +import org.springblade.plugin.workflow.process.service.IWfTaskService; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class WfTaskService implements IWfTaskService { + + private final RepositoryService repositoryService; + private final RuntimeService runtimeService; + private final HistoryService historyService; + private final TaskService taskService; + + private final WfUserService userSearchService; + private final IWfExpressionService wfExpressionService; + private final IWfProxyService wfProxyService; + + @Override + public WfTaskUser getTaskUser(String processDefId, @Nullable String processInsId, String nodeId) { + return getTaskUser(processDefId, processInsId, nodeId, WfTaskUtil.getTaskUser()); + } + + @Override + public WfTaskUser getTaskUser(String processDefId, @Nullable String processInsId, String nodeId, String currentUser) { + WfTaskUser taskUser = new WfTaskUser(); + + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefId); + if (bpmnModel == null) { + return taskUser; + } + + List elements; + String nodeType; + FlowElement flowElement = bpmnModel.getFlowElement(nodeId); + if (flowElement instanceof UserTask) { + nodeType = "userTask"; + elements = WfModelUtil.getUserTaskExtensionElements(nodeId, bpmnModel, WfExtendConstant.ASSIGNEE); + } else if (flowElement instanceof SubProcess) { + nodeType = "subProcess"; + elements = WfModelUtil.getSubProcessExtensionElements(nodeId, bpmnModel, WfExtendConstant.ASSIGNEE); + } else if (flowElement instanceof CallActivity) { + nodeType = "callActivity"; + elements = WfModelUtil.getCallActivityExtensionElements(nodeId, bpmnModel, WfExtendConstant.ASSIGNEE); + } else { + return taskUser; + } + + // 人员 - 单个 请赋值assignee,表示审核人唯一。!!赋值assignee后,候选人将失效!! + // userList所有用户,包含组查询出来的人员和配置的人员,可用于多实例、流程图显示未到达节点的候选人。 + LinkedHashSet userList = new LinkedHashSet<>(); // 所有用户,包含角色、部门、岗位查询出的用户,审核人等。 + String assignee = null; // 唯一审核人 + + LinkedHashSet roleUserList = new LinkedHashSet<>(); // 根据角色查询出的用户 + LinkedHashSet deptUserList = new LinkedHashSet<>(); // 根据部门查询出的用户 + LinkedHashSet postUserList = new LinkedHashSet<>(); // 根据岗位查询出的用户 + LinkedHashSet customUserList = new LinkedHashSet<>(); // 根据自定义查询出的用户 + + if (elements == null || elements.isEmpty()) { + return taskUser; + } + for (ExtensionElement element : elements) { + String type = element.getAttributes().get("type").get(0).getValue(); + String value = element.getAttributes().get("value").get(0).getValue(); + + switch (type) { + case "role": // 角色 + roleUserList.addAll(userSearchService.listByRole(Func.toLongList(value))); + break; + case "dept": // 部门 + deptUserList.addAll(userSearchService.listByDept(Func.toLongList(value))); + break; + case "post": // 岗位 + postUserList.addAll(userSearchService.listByPost(Func.toLongList(value))); + break; + case "user": // 用户 + userList.addAll(userSearchService.listByUser(Func.toLongList(value))); + break; + case "custom": // 自定义 + if (StringUtil.isBlank(processInsId)) { + break; + } + + switch (value) { + case "currentUser": // 当前操作人 + customUserList.addAll(userSearchService.listByUser(Func.toLongList(WfTaskUtil.getTaskUser()))); + assignee = WfTaskUtil.getTaskUser(); + break; + case "${assignee}": + assignee = "${assignee}"; + break; + case "leader": // 示例,请自行修改 + customUserList.addAll(userSearchService.listByUser(Func.toLongList("1123598821738675201"))); + assignee = "1123598821738675201"; + break; + default: + List users = new ArrayList<>(); + if ((!value.startsWith("${") && !value.startsWith("#{") && !value.endsWith("}"))) { + value = String.format("${%s}", value); + } + try { + // flowable表达式解析 + Object defaultVal = wfExpressionService.getValue(processInsId, value); + if (defaultVal != null) { + // id1,id2,id3,... + if (defaultVal instanceof String) { + users = userSearchService.listByUser(Func.toLongList(defaultVal.toString())); + } + // [User1, User2, User3, ...] + else if (defaultVal instanceof List && !((List) defaultVal).isEmpty() && ((List) defaultVal).get(0) instanceof WfUser) { + users = JSON.parseArray(JSON.toJSONString(defaultVal), WfUser.class); + } + // String [id1, id2, id3, ...] + else if (defaultVal instanceof List && !((List) defaultVal).isEmpty() && ((List) defaultVal).get(0) instanceof String) { + List ids = JSON.parseArray(JSON.toJSONString(defaultVal), String.class); + users = userSearchService.listByUser(Func.toLongList(Func.join(ids))); + } + // Long [id1, id2, id3, ...] + else if (defaultVal instanceof List && !((List) defaultVal).isEmpty() && ((List) defaultVal).get(0) instanceof Long) { + List ids = JSON.parseArray(JSON.toJSONString(defaultVal), Long.class); + users = userSearchService.listByUser(ids); + } + // 人员选择v2,rowKey为id的情况 + else if (defaultVal instanceof LinkedHashMap map) { + if (map.containsKey("id")) { + users = userSearchService.listByUser(Func.toLongList(map.get("id").toString())); + } + } + // 人员选择v3 + else if (defaultVal instanceof List && !((List) defaultVal).isEmpty() && ((List) defaultVal).get(0) instanceof LinkedHashMap map) { + if (map.containsKey("id")) { + users = JSON.parseArray(JSON.toJSONString(defaultVal), WfUser.class); + } + } + } + } catch (Exception ignore) { + } + if (ObjectUtil.isNotEmpty(users) && !users.isEmpty()) { + customUserList.addAll(users); + } + break; + } + break; + } + } + // 人员交集/并集 + String assigneeRetain = ""; + if ("userTask".equals(nodeType)) { + assigneeRetain = WfModelUtil.getUserTaskExtensionAttribute(nodeId, bpmnModel, WfExtendConstant.ASSIGNEE_RETAIN); + } else if ("subProcess".equals(nodeType)) { + List extensionElements = WfModelUtil.getSubProcessExtensionElements(nodeId, bpmnModel, WfExtendConstant.ASSIGNEE_RETAIN); + if (extensionElements != null && !extensionElements.isEmpty()) { + assigneeRetain = extensionElements.get(0).getAttributes().get("value").get(0).getValue(); + } + } else if ("callActivity".equals(nodeType)) { + List extensionElements = WfModelUtil.getCallActivityExtensionElements(nodeId, bpmnModel, WfExtendConstant.ASSIGNEE_RETAIN); + if (extensionElements != null && !extensionElements.isEmpty()) { + assigneeRetain = extensionElements.get(0).getAttributes().get("value").get(0).getValue(); + } + } + if (StringUtil.isNotBlank(assigneeRetain) && "true".equals(assigneeRetain)) { // 交集 + userList = Arrays.asList(roleUserList, deptUserList, postUserList, customUserList, userList) + .parallelStream() + .filter(elementList -> elementList != null && !elementList.isEmpty()) + .reduce((a, b) -> { + a.retainAll(b); + return a; + }).orElse(new LinkedHashSet<>()); + } else { // 并集 + userList.addAll(roleUserList); + userList.addAll(deptUserList); + userList.addAll(postUserList); + userList.addAll(customUserList); + } + + // 替换代理人员 + userList = wfProxyService.getProxyUsers(userList, processInsId); + assignee = wfProxyService.getProxyUser(assignee, processInsId); + + taskUser.setUserList(new ArrayList<>(userList)); + taskUser.setAssignee(assignee); + taskUser.setCandidateUserIds(userList.stream().map(u -> String.valueOf(u.getId())).collect(Collectors.toCollection(LinkedHashSet::new))); + + return taskUser; + } + + @Override + public Boolean isMultiInstance(String taskKey, String processDefId) { + boolean isMultiInstance = false; + + BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefId); + Process process = bpmnModel.getMainProcess(); + FlowElement flowElement = process.getFlowElement(taskKey, true); + if (flowElement instanceof UserTask userTask) { + if (userTask.getBehavior() instanceof ParallelMultiInstanceBehavior behavior) { + if (behavior.getCollectionExpression() != null) { + isMultiInstance = true; + } + } + } + return isMultiInstance; + } + + @Override + public Boolean checkIsSkip(Task task, String appointUser) { + if ("发起人".equals(task.getName())) { + return true; + } + + String assignee = StringUtils.isEmpty(appointUser) ? task.getAssignee() : appointUser; + if (StringUtils.isBlank(assignee)) { + WfTaskUser taskUser = this.getTaskUser(task.getProcessDefinitionId(), task.getProcessInstanceId(), task.getTaskDefinitionKey(), WfTaskUtil.getTaskUser()); + if (taskUser != null) { + assignee = taskUser.getAssignee(); + List userList = taskUser.getUserList(); + if (StringUtils.isBlank(assignee) && userList.size() == 1) { + assignee = userList.get(0).getId() + ""; + } + } + } + if (StringUtils.isBlank(assignee)) { // 当前节点没有唯一审核人,无法跳过。 + return false; + } + + boolean skip = false; + String comment = ""; + BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId()); + + // 当前任务人为发起人时跳过 + String skipWhenStartUser = WfModelUtil.getProcessExtensionAttribute(bpmnModel, WfExtendConstant.SKIP_WHEN_START_USER); + if (StringUtil.isNotBlank(skipWhenStartUser) && "true".equals(skipWhenStartUser)) { + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() + .processInstanceId(task.getProcessInstanceId()) + .singleResult(); + String startUserId = processInstance.getStartUserId(); + if (startUserId.equals(assignee)) { + skip = true; + comment = "任务审核人为发起人"; + } + } + // 当前任务人之前处理过任务时跳过 + String skipWhenAssignee = WfModelUtil.getProcessExtensionAttribute(bpmnModel, WfExtendConstant.SKIP_WHEN_ASSIGNEE); + if (StringUtil.isNotBlank(skipWhenAssignee) && "true".equals(skipWhenAssignee)) { + // 事务未完成,最后完成的任务信息在runtime + List list = taskService.createTaskQuery() + .processInstanceId(task.getProcessInstanceId()) + .list(); + if (list != null && !list.isEmpty()) { + for (Task t : list) { + if (StringUtils.isNotBlank(t.getAssignee()) && t.getAssignee().equals(assignee)) { + skip = true; + comment = "任务审核人已处理过其他任务"; + break; + } + } + } + if (!skip) { // 上个节点之前的任务 + List historicTaskList = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(task.getProcessInstanceId()) + .finished() + .taskWithoutDeleteReason() + .taskAssigned() + .list(); + if (historicTaskList != null && !historicTaskList.isEmpty()) { + for (HistoricTaskInstance t : historicTaskList) { + if (StringUtils.isNotBlank(t.getAssignee()) && t.getAssignee().equals(assignee)) { + skip = true; + comment = "任务审核人已处理过其他任务"; + break; + } + } + } + } + } + if (skip) { + // 添加评论 + taskService.addComment(task.getId(), task.getProcessInstanceId(), WfProcessConstant.COMMENT_TYPE_SKIP_COMMENT, comment); + // 完成任务, 添加跳过标记 + taskService.complete(task.getId(), Collections.singletonMap(WfProcessConstant.TASK_VARIABLE_SKIP, true), true); + } + return skip; + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/vo/WfCopyVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/vo/WfCopyVO.java new file mode 100644 index 0000000..f745fd5 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/vo/WfCopyVO.java @@ -0,0 +1,23 @@ + +package org.springblade.plugin.workflow.process.vo; + +import org.springblade.plugin.workflow.process.entity.WfCopy; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程抄送视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfCopyVO对象", description = "流程抄送") +public class WfCopyVO extends WfCopy { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/vo/WfDraftVO.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/vo/WfDraftVO.java new file mode 100644 index 0000000..0c26694 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/vo/WfDraftVO.java @@ -0,0 +1,22 @@ +package org.springblade.plugin.workflow.process.vo; + +import org.springblade.plugin.workflow.process.entity.WfDraft; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serial; + +/** + * 流程草稿箱视图实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(name = "WfDraftVO对象", description = "流程草稿箱") +public class WfDraftVO extends WfDraft { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/wrapper/WfCopyWrapper.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/wrapper/WfCopyWrapper.java new file mode 100644 index 0000000..07754a1 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/process/wrapper/WfCopyWrapper.java @@ -0,0 +1,33 @@ + +package org.springblade.plugin.workflow.process.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.workflow.process.entity.WfCopy; +import org.springblade.plugin.workflow.process.vo.WfCopyVO; +import java.util.Objects; + +/** + * 流程抄送包装类,返回视图层所需的字段 + * + * @author ssc + */ +public class WfCopyWrapper extends BaseEntityWrapper { + + public static WfCopyWrapper build() { + return new WfCopyWrapper(); + } + + @Override + public WfCopyVO entityVO(WfCopy wfCopy) { + WfCopyVO wfCopyVO = Objects.requireNonNull(BeanUtil.copyProperties(wfCopy, WfCopyVO.class)); + + //User createUser = UserCache.getUser(wfCopy.getCreateUser()); + //User updateUser = UserCache.getUser(wfCopy.getUpdateUser()); + //wfCopyVO.setCreateUserName(createUser.getName()); + //wfCopyVO.setUpdateUserName(updateUser.getName()); + + return wfCopyVO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/controller/IndexController.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/controller/IndexController.java new file mode 100644 index 0000000..93733e7 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/controller/IndexController.java @@ -0,0 +1,172 @@ +package org.springblade.plugin.workflow.statistics.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.Operation; +import lombok.RequiredArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.utils.WfTaskUtil; +import org.springblade.plugin.workflow.statistics.entity.WfProcessStatistics; +import org.springblade.plugin.workflow.statistics.entity.WfStatisticsQuery; +import org.springblade.plugin.workflow.statistics.entity.WfTaskStatistics; +import org.springblade.plugin.workflow.statistics.service.WfStatisticsService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; + +/** + * 统计控制器 + * + * @author ssc + */ +@RestController("statisticsIndexController") +@RequestMapping("/statistics") +@RequiredArgsConstructor +@Tag(name = "流程统计") +public class IndexController { + + private final WfStatisticsService wfStatisticsService; + + @GetMapping("index") + @Operation(summary = "总览") + @Parameters({ + @Parameter(name = "startTimeRange", description = "时间范围,逗号分隔"), + }) + public R index(WfStatisticsQuery statistics) throws ExecutionException, InterruptedException { + String timeRange = statistics.getStartTimeRange(); + String tenantId = WfTaskUtil.getTenantId(); + // 全部流程数量 + Future processFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange)); + // 全部任务数量 + Future taskCount = wfStatisticsService.taskCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setType(WfProcessConstant.STATUS_DONE)); + // 进行中任务数量 + Future unfinishedTaskCount = wfStatisticsService.taskCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setType(WfProcessConstant.STATUS_TODO)); + // 超时任务数量 + Future timeoutTaskCount = wfStatisticsService.taskCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setIsTimeout(true)); + // 进行中流程 + Future unfinishedProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setType(WfProcessConstant.STATUS_UNFINISHED)); + // 已结束流程,默认包含驳回/终结/撤销/删除。若需排除请打开WfSearchUtil.buildHistoricProcessQuery()中的相关注释 + Future finishedProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setType(WfProcessConstant.STATUS_FINISHED)); + // 被驳回 + Future rejectProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setType(WfProcessConstant.STATUS_REJECT)); + // 已终结 + Future terminateProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setType(WfProcessConstant.STATUS_TERMINATE)); + // 已撤销 + Future withdrawProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setType(WfProcessConstant.STATUS_WITHDRAW)); + // 已撤回 + Future recallProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setType(WfProcessConstant.STATUS_RECALL)); + // 已删除 + Future deletedProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setTimeRange(timeRange) + .setType(WfProcessConstant.STATUS_DELETED)); + // 今日 - 流程数量 + Future todayProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setIsToday(true)); + // 今日 - 进行中流程 + Future todayUnfinishedProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setIsToday(true) + .setType(WfProcessConstant.STATUS_UNFINISHED)); + // 今日 - 已结束流程 + Future todayFinishedProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setIsToday(true) + .setType(WfProcessConstant.STATUS_FINISHED)); + // 今日 - 被驳回流程 + Future todayRejectProcessFuture = wfStatisticsService.processCount(new WfStatisticsQuery() + .setTid(tenantId) + .setIsToday(true) + .setType(WfProcessConstant.STATUS_REJECT)); + // 今日 - 任务数量 + Future todayTaskCount = wfStatisticsService.taskCount(new WfStatisticsQuery() + .setTid(tenantId) + .setIsToday(true) + .setType(WfProcessConstant.STATUS_DONE)); + // 今日 - 进行中任务数量 + Future todayUnfinishedTaskCount = wfStatisticsService.taskCount(new WfStatisticsQuery() + .setTid(tenantId) + .setIsToday(true) + .setType(WfProcessConstant.STATUS_TODO)); + // 今日 - 超时任务数量 + Future todayTimeoutTaskCount = wfStatisticsService.taskCount(new WfStatisticsQuery() + .setTid(tenantId) + .setIsToday(true) + .setIsTimeout(true)); + + Map result = new HashMap<>(); + result.put("process", WfProcessStatistics.builder() + .process(processFuture.get()) + .unfinished(unfinishedProcessFuture.get()) + .finished(finishedProcessFuture.get()) + .reject(rejectProcessFuture.get()) + .terminate(terminateProcessFuture.get()) + .withdraw(withdrawProcessFuture.get()) + .recall(recallProcessFuture.get()) + .deleted(deletedProcessFuture.get()) + .todayProcess(todayProcessFuture.get()) + .todayUnfinished(todayUnfinishedProcessFuture.get()) + .todayFinished(todayFinishedProcessFuture.get()) + .todayReject(todayRejectProcessFuture.get()) + .build()); + + result.put("task", WfTaskStatistics.builder() + .task(taskCount.get()) + .unfinished(unfinishedTaskCount.get()) + .timeout(timeoutTaskCount.get()) + .todayTask(todayTaskCount.get()) + .todayUnfinished(todayUnfinishedTaskCount.get()) + .todayTimeout(todayTimeoutTaskCount.get()) + .build()); + + return R.data(result); + } + + @GetMapping("bar") + @Operation(summary = "柱状图") + @Parameters({ + @Parameter(name = "startTimeRange", description = "时间范围,逗号分隔"), + }) + public R indexBar(WfStatisticsQuery statistics) throws ExecutionException, InterruptedException { + statistics.setTimeRange(statistics.getStartTimeRange()); + statistics.setTid(WfTaskUtil.getTenantId()); + return R.data(wfStatisticsService.barCount(statistics).get()); + } +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfBarStatistics.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfBarStatistics.java new file mode 100644 index 0000000..504dd47 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfBarStatistics.java @@ -0,0 +1,22 @@ +package org.springblade.plugin.workflow.statistics.entity; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author ssc + */ +@Data +@Builder +public class WfBarStatistics implements Serializable { + + @JsonProperty("xData") + private List xData; + + @JsonProperty("yData") + private List yData; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfProcessStatistics.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfProcessStatistics.java new file mode 100644 index 0000000..9cd6e98 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfProcessStatistics.java @@ -0,0 +1,51 @@ +package org.springblade.plugin.workflow.statistics.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ssc + */ +@Data +@Builder +public class WfProcessStatistics implements Serializable { + + @Schema(description = "流程总数") + private Long process; + + @Schema(description = "进行中流程数量") + private Long unfinished; + + @Schema(description = "已结束流程数量") + private Long finished; + + @Schema(description = "被驳回流程总数") + private Long reject; + + @Schema(description = "被终结流程总数") + private Long terminate; + + @Schema(description = "撤销流程总数") + private Long withdraw; + + @Schema(description = "撤回流程总数") + private Long recall; + + @Schema(description = "删除流程总数") + private Long deleted; + + @Schema(description = "今日流程总数") + private Long todayProcess; + + @Schema(description = "今日进行中流程总数") + private Long todayUnfinished; + + @Schema(description = "今日结束流程总数") + private Long todayFinished; + + @Schema(description = "今日被驳回流程总数") + private Long todayReject; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfStatisticsQuery.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfStatisticsQuery.java new file mode 100644 index 0000000..d2ff272 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfStatisticsQuery.java @@ -0,0 +1,30 @@ +package org.springblade.plugin.workflow.statistics.entity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springblade.plugin.workflow.process.model.WfProcess; + +/** + * 统计实体类 + * + * @author ssc + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +public class WfStatisticsQuery extends WfProcess { + + private Boolean isToday; + + private String type; + + private Boolean isTimeout; + + private String timeRange; + + /** + * 租户id + */ + private String tid; +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfTaskStatistics.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfTaskStatistics.java new file mode 100644 index 0000000..8759ede --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/entity/WfTaskStatistics.java @@ -0,0 +1,34 @@ +package org.springblade.plugin.workflow.statistics.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ssc + */ +@Data +@Builder +public class WfTaskStatistics implements Serializable { + + @Schema(description = "任务总数") + private Long task; + + @Schema(description = "进行中任务数量") + private Long unfinished; + + @Schema(description = "超时任务总数") + private Long timeout; + + @Schema(description = "今日任务总数") + private Long todayTask; + + @Schema(description = "今日进行中任务总数") + private Long todayUnfinished; + + @Schema(description = "今日超时任务总数") + private Long todayTimeout; + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/service/WfStatisticsService.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/service/WfStatisticsService.java new file mode 100644 index 0000000..4a13a7e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/service/WfStatisticsService.java @@ -0,0 +1,30 @@ +package org.springblade.plugin.workflow.statistics.service; + +import org.springblade.plugin.workflow.statistics.entity.WfBarStatistics; +import org.springblade.plugin.workflow.statistics.entity.WfStatisticsQuery; + +import java.util.concurrent.Future; + +/** + * 统计服务类 + * + * @author ssc + */ +public interface WfStatisticsService { + + /** + * 流程数量统计 + */ + Future processCount(WfStatisticsQuery statistics); + + /** + * 任务数量统计 + */ + Future taskCount(WfStatisticsQuery statistics); + + /** + * 柱状图 + */ + Future barCount(WfStatisticsQuery statistics); + +} diff --git a/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/service/impl/WfStatisticsServiceImpl.java b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/service/impl/WfStatisticsServiceImpl.java new file mode 100644 index 0000000..dbc14dc --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/java/org/springblade/plugin/workflow/statistics/service/impl/WfStatisticsServiceImpl.java @@ -0,0 +1,199 @@ +package org.springblade.plugin.workflow.statistics.service.impl; + +import lombok.RequiredArgsConstructor; +import org.flowable.engine.HistoryService; +import org.flowable.engine.TaskService; +import org.flowable.engine.history.HistoricProcessInstance; +import org.flowable.engine.history.HistoricProcessInstanceQuery; +import org.flowable.task.api.TaskQuery; +import org.flowable.task.api.history.HistoricTaskInstanceQuery; +import org.springblade.core.tool.constant.BladeConstant; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.StringUtil; +import org.springblade.plugin.workflow.core.constant.WfProcessConstant; +import org.springblade.plugin.workflow.core.utils.WfSearchUtil; +import org.springblade.plugin.workflow.process.model.WfProcess; +import org.springblade.plugin.workflow.statistics.entity.WfBarStatistics; +import org.springblade.plugin.workflow.statistics.entity.WfStatisticsQuery; +import org.springblade.plugin.workflow.statistics.service.WfStatisticsService; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.AsyncResult; +import org.springframework.stereotype.Service; + +import java.time.Duration; +import java.util.*; +import java.util.concurrent.Future; + +/** + * 统计服务实现类 + * + * @author ssc + */ +@Service +@RequiredArgsConstructor +public class WfStatisticsServiceImpl implements WfStatisticsService { + + private final HistoryService historyService; + private final TaskService taskService; + + @Async + @Override + public Future processCount(WfStatisticsQuery statistics) { + HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery(); + + // 租户 + String tenantId = statistics.getTid(); + if (!tenantId.equals(BladeConstant.ADMIN_TENANT_ID)) { + query.processInstanceTenantId(tenantId); + } + + if (statistics.getIsToday() != null && statistics.getIsToday()) { // 今日 + query.startedAfter(todayBeginDate()); + query.startedBefore(todayEndDate()); + } + + statistics.setProcessIsFinished(statistics.getType()); + statistics.setStartTimeRange(statistics.getTimeRange()); + WfSearchUtil.buildSearchQuery(query, statistics); + + return new AsyncResult<>(query.count()); + } + + @Async + @Override + public Future taskCount(WfStatisticsQuery statistics) { + statistics.setStartTimeRange(statistics.getTimeRange()); + String tenantId = statistics.getTid(); + if (WfProcessConstant.STATUS_DONE.equals(statistics.getType())) { // 全部任务 + HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery(); + + // 租户 + if (!tenantId.equals(BladeConstant.ADMIN_TENANT_ID)) { + query.taskTenantId(tenantId); + } + + if (statistics.getIsToday() != null && statistics.getIsToday()) { // 今日 + query.taskCreatedAfter(todayBeginDate()); + query.taskCreatedBefore(todayEndDate()); + } + + WfSearchUtil.buildSearchQuery(query, statistics); + + return new AsyncResult<>(query.count()); + } else { // 进行中任务 + TaskQuery query = taskService.createTaskQuery(); + + // 租户 + if (!tenantId.equals(BladeConstant.ADMIN_TENANT_ID)) { + query.taskTenantId(tenantId); + } + + if (statistics.getIsToday() != null && statistics.getIsToday()) { // 今日 + query.taskCreatedAfter(todayBeginDate()); + query.taskCreatedBefore(todayEndDate()); + } + if (statistics.getIsTimeout() != null && statistics.getIsTimeout()) { // 超时任务 + query.taskDueBefore(new Date()); + } + + WfSearchUtil.buildSearchQuery(query, statistics); + + return new AsyncResult<>(query.count()); + } + } + + @Override + public Future barCount(WfStatisticsQuery statistics) { + HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery(); + + // 租户 + String tenantId = statistics.getTid(); + if (!tenantId.equals(BladeConstant.ADMIN_TENANT_ID)) { + query.processInstanceTenantId(tenantId); + } + + Map> groupBy = new HashMap<>(); + if (StringUtil.isBlank(statistics.getTimeRange())) { // 时间查询为空,默认查询最近10天数据 + Date end = todayEndDate(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(end); + calendar.add(Calendar.DAY_OF_YEAR, -10); + Date begin = calendar.getTime(); + + query.startedAfter(begin); + query.startedBefore(end); + + for (int i = 0; i < 10; i++) { + calendar.add(Calendar.DAY_OF_YEAR, 1); + groupBy.put(DateUtil.format(calendar.getTime(), "yy-MM-dd"), new ArrayList<>()); + } + } else { + try { + String startTimeRange = statistics.getTimeRange(); + String[] split = startTimeRange.split(","); + Date begin = DateUtil.parse(split[0], DateUtil.PATTERN_DATETIME); + Date end = DateUtil.parse(split[1], DateUtil.PATTERN_DATETIME); + Duration between = DateUtil.between(begin, end); + long days = between.toDays(); + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(begin); + for (int i = 0; i <= days; i++) { + groupBy.put(DateUtil.format(calendar.getTime(), "yy-MM-dd"), new ArrayList<>()); + calendar.add(Calendar.DAY_OF_YEAR, 1); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + WfProcess process = BeanUtil.copyProperties(statistics, WfProcess.class); + assert process != null; + process.setProcessIsFinished(statistics.getType()); + process.setStartTimeRange(statistics.getTimeRange()); + WfSearchUtil.buildSearchQuery(query, process); + + List list = query.list(); + list.forEach(p -> { + Date date = p.getStartTime(); + String format = DateUtil.format(date, "yy-MM-dd"); + List l = groupBy.get(format); + if (l == null) { + l = new ArrayList<>(); + } + l.add(p); + groupBy.put(format, l); + }); + + // 日期排序 + List>> toSort = new ArrayList<>(groupBy.entrySet()); + toSort.sort(Map.Entry.comparingByKey()); + LinkedHashMap> collect = new LinkedHashMap<>(); + for (Map.Entry> stringListEntry : toSort) { + collect.putIfAbsent(stringListEntry.getKey(), stringListEntry.getValue()); + } + + List xData = new ArrayList<>(); + List yData = new ArrayList<>(); + collect.forEach((k, v) -> { + xData.add(k.substring(3)); + yData.add(v.size() + ""); + }); + + return new AsyncResult<>(WfBarStatistics.builder() + .xData(xData) + .yData(yData) + .build()); + } + + private Date todayBeginDate() { + String today = DateUtil.format(new Date(), DateUtil.PATTERN_DATE); + return DateUtil.parse(today + " 00:00:00", DateUtil.PATTERN_DATETIME); + } + + private Date todayEndDate() { + String today = DateUtil.format(new Date(), DateUtil.PATTERN_DATE); + return DateUtil.parse(today + " 23:59:59", DateUtil.PATTERN_DATETIME); + } +} diff --git a/blade-plugin/blade-workflow/src/main/resources/application-dev.yml b/blade-plugin/blade-workflow/src/main/resources/application-dev.yml new file mode 100644 index 0000000..9062373 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/application-dev.yml @@ -0,0 +1,6 @@ +#数据源配置 +spring: + datasource: + url: ${blade.datasource.workflow.dev.url} + username: ${blade.datasource.workflow.dev.username} + password: ${blade.datasource.workflow.dev.password} diff --git a/blade-plugin/blade-workflow/src/main/resources/application-prod.yml b/blade-plugin/blade-workflow/src/main/resources/application-prod.yml new file mode 100644 index 0000000..d3ed744 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/application-prod.yml @@ -0,0 +1,6 @@ +#数据源配置 +spring: + datasource: + url: ${blade.datasource.workflow.prod.url} + username: ${blade.datasource.workflow.prod.username} + password: ${blade.datasource.workflow.prod.password} diff --git a/blade-plugin/blade-workflow/src/main/resources/application-test.yml b/blade-plugin/blade-workflow/src/main/resources/application-test.yml new file mode 100644 index 0000000..8a403e1 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/application-test.yml @@ -0,0 +1,6 @@ +#数据源配置 +spring: + datasource: + url: ${blade.datasource.workflow.test.url} + username: ${blade.datasource.workflow.test.username} + password: ${blade.datasource.workflow.test.password} diff --git a/blade-plugin/blade-workflow/src/main/resources/application.yml b/blade-plugin/blade-workflow/src/main/resources/application.yml new file mode 100644 index 0000000..fb4e51d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/application.yml @@ -0,0 +1,32 @@ +#服务器端口 +server: + port: 8009 + +spring: + jackson: + default-property-inclusion: non_null + +#flowable配置 +flowable: + activity-font-name: \u5B8B\u4F53 + label-font-name: \u5B8B\u4F53 + annotation-font-name: \u5B8B\u4F53 + check-process-definitions: false + database-schema-update: true # 升级flowable 表自动更新 + async-executor-activate: false # 定时任务 + app: + enabled: false + cmmn: + enabled: false + idm: + enabled: false + dmn: + enabled: false + form: + enabled: false + content: + enabled: false + eventregistry: + enabled: false + custom-mybatis-x-m-l-mappers: + - org/springblade/plugin/workflow/process/mapper/WfProcessDefinition.xml diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/controller.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/controller.java.btl new file mode 100644 index 0000000..276f8c2 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/controller.java.btl @@ -0,0 +1,224 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${package.Controller}; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; +import jakarta.validation.Valid; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import ${packageName!}.pojo.entity.${entityKey!}Entity; +import ${packageName!}.pojo.vo.${entityKey!}VO; +import ${packageName!}.excel.${entityKey!}Excel; +#if(hasWrapper) { +import ${packageName!}.wrapper.${entityKey!}Wrapper; +#} +import ${packageName!}.service.${table.serviceName!}; +#if(isNotEmpty(superControllerClassPackage)){ +import ${superControllerClassPackage!}; +#} +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; +import java.util.Map; +import java.util.List; +import jakarta.servlet.http.HttpServletResponse; + +/** + * ${table.comment!} 控制器 + * + * @author ${author!} + * @since ${date!} + */ +@RestController +@AllArgsConstructor +#if(hasServiceName) { +@RequestMapping("${serviceName!}/${entityKeyPath!}") +#}else{ +@RequestMapping("/${entityKeyPath!}") +#} +@Tag(name = "${table.comment!}", description = "${table.comment!}接口") +#if(isNotEmpty(superControllerClass)){ +public class ${table.controllerName!} extends ${superControllerClass!} { +#} +#else{ +public class ${table.controllerName!} { +#} + + private final ${table.serviceName!} ${entityKeyPath!}Service; + +#if(hasWrapper){ + /** + * ${table.comment!} 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入${entityKeyPath!}") + public R<${entityKey!}VO> detail(${entityKey!}Entity ${entityKeyPath!}) { + ${entityKey!}Entity detail = ${entityKeyPath!}Service.getOne(Condition.getQueryWrapper(${entityKeyPath!})); + return R.data(${entityKey!}Wrapper.build().entityVO(detail)); + } + + /** + * ${table.comment!} 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入${entityKeyPath!}") + public R> list(@Parameter(hidden = true) @RequestParam Map ${entityKeyPath!}, Query query) { + IPage<${entityKey!}Entity> pages = ${entityKeyPath!}Service.page(Condition.getPage(query), Condition.getQueryWrapper(${entityKeyPath!}, ${entityKey!}Entity.class)); + return R.data(${entityKey!}Wrapper.build().pageVO(pages)); + } + +#}else{ + /** + * ${table.comment!} 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入${entityKeyPath!}") + public R<${entityKey!}Entity> detail(${entityKey!}Entity ${entityKeyPath!}) { + ${entityKey!}Entity detail = ${entityKeyPath!}Service.getOne(Condition.getQueryWrapper(${entityKeyPath!})); + return R.data(detail); + } + + /** + * ${table.comment!} 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入${entityKeyPath!}") + public R> list(@Parameter(hidden = true) @RequestParam Map ${entityKeyPath!}, Query query) { + IPage<${entityKey!}Entity> pages = ${entityKeyPath!}Service.page(Condition.getPage(query), Condition.getQueryWrapper(${entityKeyPath!}, ${entityKey!}Entity.class)); + return R.data(pages); + } + +#} + + /** + * ${table.comment!} 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入${entityKeyPath!}") + public R> page(${entityKey!}VO ${entityKeyPath!}, Query query) { + IPage<${entityKey!}VO> pages = ${entityKeyPath!}Service.select${entityKey!}Page(Condition.getPage(query), ${entityKeyPath!}); + return R.data(pages); + } + + /** + * ${table.comment!} 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入${entityKeyPath!}") + public R save(@Valid @RequestBody ${entityKey!}Entity ${entityKeyPath!}) { + return R.status(${entityKeyPath!}Service.save(${entityKeyPath!})); + } + + /** + * ${table.comment!} 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入${entityKeyPath!}") + public R update(@Valid @RequestBody ${entityKey!}Entity ${entityKeyPath!}) { + return R.status(${entityKeyPath!}Service.updateById(${entityKeyPath!})); + } + + /** + * ${table.comment!} 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入${entityKeyPath!}") + public R submit(@Valid @RequestBody ${entityKey!}Entity ${entityKeyPath!}) { + #if(isNotEmpty(children)) { + return R.status(${entityKeyPath!}Service.submit(${entityKeyPath!})); + #} else { + return R.status(${entityKeyPath!}Service.saveOrUpdate(${entityKeyPath!})); + #} + } + +#if(hasSuperEntity){ + /** + * ${table.comment!} 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + #if(isNotEmpty(children)) { + return R.status(${entityKeyPath!}Service.deleteByIds(Func.toLongList(ids))); + #} else { + return R.status(${entityKeyPath!}Service.deleteLogic(Func.toLongList(ids))); + #} + } +#}else{ + /** + * ${table.comment!} 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + #if(isNotEmpty(children)) { + return R.status(${entityKeyPath!}Service.deleteByIds(Func.toLongList(ids))); + #} else { + return R.status(${entityKeyPath!}Service.removeByIds(Func.toLongList(ids))); + #} + } +#} + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-${entityKeyPath!}") + @ApiOperationSupport(order = 8) + @Operation(summary = "导出数据", description = "传入${entityKeyPath!}") + public void export${entityKey!}(@Parameter(hidden = true) @RequestParam Map ${entityKeyPath!}, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper<${entityKey!}Entity> queryWrapper = Condition.getQueryWrapper(${entityKeyPath!}, ${entityKey!}Entity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(${entity!}::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(${entityKey!}Entity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List<${entityKey!}Excel> list = ${entityKeyPath!}Service.export${entityKey!}(queryWrapper); + ExcelUtil.export(response, "${table.comment!}数据" + DateUtil.time(), "${table.comment!}数据表", list, ${entityKey!}Excel.class); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entity.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entity.java.btl new file mode 100644 index 0000000..63a6919 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entity.java.btl @@ -0,0 +1,122 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${package.Entity!}; + +#if(isNotEmpty(children)) { +import com.baomidou.mybatisplus.annotation.TableField; +#} +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +#for(x in table.importPackages){ +#if(isNotEmpty(x)){ +#if(hasSuperEntity&&!strutil.contain(x,"Serializable")){ +import ${x!}; +#} +#if(!hasSuperEntity&&!strutil.contain(x,"TenantEntity")){ +import ${x!}; +#} +#} +#} +#if(hasSuperEntity){ +import lombok.EqualsAndHashCode; +#}else{ +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +#} + +import java.io.Serial; +#if(isNotEmpty(children)) { +import java.util.List; +#} + +/** + * ${table.comment!} 实体类 + * + * @author ${author!} + * @since ${date!} + */ +@Data +@TableName("${table.name!}") +@Schema(description = "${entity!}对象") +#if(hasSuperEntity){ +@EqualsAndHashCode(callSuper = true) +public class ${entityKey!}Entity extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; +#}else{ +public class ${entityKey!}Entity implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @JsonSerialize(using = ToStringSerializer.class) + @Schema(description = "主键") + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; +#} + +#for(x in table.fields) { + #if(hasSuperEntity){ + #if(x.propertyName!="id"&&x.propertyName!="createUser"&&x.propertyName!="createDept"&&x.propertyName!="createTime"&&x.propertyName!="updateUser"&&x.propertyName!="updateTime"&&x.propertyName!="status"&&x.propertyName!="isDeleted"&&x.propertyName!="tenantId"){ + /** + * ${x.comment!} + */ + @Schema(description = "${x.comment!}") + private ${x.propertyType!} ${x.propertyName!}; + #} + #}else{ + #if(x.propertyName!="id"){ + /** + * ${x.comment!} + */ + @Schema(description = "${x.comment!}") + private ${x.propertyType!} ${x.propertyName!}; + #} + #} +#} + +#if(isNotEmpty(children)) { +#for(x in children) { + /** + * ${x.codeName!} + */ + @Schema(description = "${x.codeName!}") + @TableField(exist = false) + #if(x.fieldType == 'list') { + private List<${x.modelClass!}Entity> ${x.fieldProp}; + #} else { + private ${x.modelClass!}Entity ${x.fieldProp}; + #} +#} +#} +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityDTO.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityDTO.java.btl new file mode 100644 index 0000000..5a56c0d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityDTO.java.btl @@ -0,0 +1,45 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${strutil.replace(package.Entity,"entity","dto")}; + +import ${packageName!}.pojo.entity.${entityKey!}Entity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * ${table.comment!} 数据传输对象实体类 + * + * @author ${author!} + * @since ${date!} + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ${entityKey!}DTO extends ${entityKey!}Entity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityExcel.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityExcel.java.btl new file mode 100644 index 0000000..db8f1cc --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityExcel.java.btl @@ -0,0 +1,69 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${strutil.replace(package.Entity,"pojo.entity","excel")}; + + +import lombok.Data; + +#for(x in table.importPackages){ +#if(isNotEmpty(x)&&!strutil.contain(x,"TableName")&&!strutil.contain(x,"TenantEntity")){ +import ${x!}; +#} +#} +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import java.io.Serial; + + +/** + * ${table.comment!} Excel实体类 + * + * @author ${author!} + * @since ${date!} + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class ${entityKey!}Excel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + +#for(x in table.fields) { + #if(x.propertyName!="createUser"&&x.propertyName!="createDept"&&x.propertyName!="createTime"&&x.propertyName!="updateUser"&&x.propertyName!="updateTime"){ + /** + * ${x.comment!} + */ + @ColumnWidth(20) + @ExcelProperty("${x.comment!}") + private ${x.propertyType!} ${x.propertyName!}; + #} +#} + +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityVO.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityVO.java.btl new file mode 100644 index 0000000..b9b5981 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/entityVO.java.btl @@ -0,0 +1,45 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${strutil.replace(package.Entity,"entity","vo")}; + +import ${packageName!}.pojo.entity.${entityKey!}Entity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; + +/** + * ${table.comment!} 视图实体类 + * + * @author ${author!} + * @since ${date!} + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ${entityKey!}VO extends ${entityKey!}Entity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/feign.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/feign.java.btl new file mode 100644 index 0000000..b4fa763 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/feign.java.btl @@ -0,0 +1,58 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${strutil.replace(package.Entity,"pojo.entity","feign")}; + +import org.springblade.core.mp.support.BladePage; +import ${packageName!}.pojo.entity.${modelClass!}Entity; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * ${codeName!} Feign接口类 + * + * @author ${author!} + * @since ${date!} + */ +@FeignClient( + value = "${serviceName!}" +) +public interface I${modelClass!}Client { + + String API_PREFIX = "/feign/client/${modelCode!}"; + String TOP = API_PREFIX + "/top"; + + /** + * 获取${codeName!}列表 + * + * @param current 页号 + * @param size 页数 + * @return BladePage + */ + @GetMapping(TOP) + BladePage<${modelClass!}Entity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); + +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/feignClient.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/feignClient.java.btl new file mode 100644 index 0000000..a59b759 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/feignClient.java.btl @@ -0,0 +1,62 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${strutil.replace(package.Entity,"pojo.entity","feign")}; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.BladePage; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import io.swagger.v3.oas.annotations.Hidden; +import ${packageName!}.pojo.entity.${modelClass!}Entity; +import ${packageName!}.service.I${modelClass!}Service; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * ${codeName!} Feign实现类 + * + * @author ${author!} + * @since ${date!} + */ +@Hidden +@RestController +@AllArgsConstructor +public class ${modelClass!}Client implements I${modelClass!}Client { + + private final I${modelClass!}Service ${modelCode!}Service; + + @Override + @GetMapping(TOP) + public BladePage<${modelClass!}Entity> top(Integer current, Integer size) { + Query query = new Query(); + query.setCurrent(current); + query.setSize(size); + IPage<${modelClass!}Entity> page = ${modelCode!}Service.page(Condition.getPage(query)); + return BladePage.of(page); + } + +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/mapper.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/mapper.java.btl new file mode 100644 index 0000000..d49c3d4 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/mapper.java.btl @@ -0,0 +1,62 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${package.Mapper!}; + +import ${packageName!}.pojo.entity.${entityKey!}Entity; +import ${packageName!}.pojo.vo.${entityKey!}VO; +import ${packageName!}.excel.${entityKey!}Excel; +import ${superMapperClassPackage!}; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * ${table.comment!} Mapper 接口 + * + * @author ${author!} + * @since ${date!} + */ +public interface ${table.mapperName!} extends ${superMapperClass!}<${entityKey!}Entity> { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param ${entityKeyPath!} 查询参数 + * @return List<${entityKey!}VO> + */ + List<${entityKey!}VO> select${entityKey!}Page(IPage page, ${entityKey!}VO ${entityKeyPath!}); + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List<${entityKey!}Excel> + */ + List<${entityKey!}Excel> export${entityKey!}(@Param("ew") Wrapper<${entityKey!}Entity> queryWrapper); + +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/mapper.xml.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/mapper.xml.btl new file mode 100644 index 0000000..ea15f49 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/mapper.xml.btl @@ -0,0 +1,24 @@ + + + + +#if(enableCache){ + + +#} + + + #for(x in table.fields) { + + #} + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/service.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/service.java.btl new file mode 100644 index 0000000..3ade828 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/service.java.btl @@ -0,0 +1,79 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${package.Service!}; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import ${packageName!}.pojo.entity.${entityKey!}Entity; +import ${packageName!}.pojo.vo.${entityKey!}VO; +import ${packageName!}.excel.${entityKey!}Excel; +import com.baomidou.mybatisplus.core.metadata.IPage; +#if(hasSuperEntity){ +import ${superServiceClassPackage!}; +#}else{ +import com.baomidou.mybatisplus.extension.service.IService; +#} +import java.util.List; + +/** + * ${table.comment!} 服务类 + * + * @author ${author!} + * @since ${date!} + */ +#if(hasSuperEntity){ +public interface ${table.serviceName!} extends ${superServiceClass!}<${entity!}> { +#}else{ +public interface ${table.serviceName!} extends IService<${entity!}> { +#} + /** + * 自定义分页 + * + * @param page 分页参数 + * @param ${entityKeyPath!} 查询参数 + * @return IPage<${entityKey!}VO> + */ + IPage<${entityKey!}VO> select${entityKey!}Page(IPage<${entityKey!}VO> page, ${entityKey!}VO ${entityKeyPath!}); + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List<${entityKey!}Excel> + */ + List<${entityKey!}Excel> export${entityKey!}(Wrapper<${entityKey!}Entity> queryWrapper); + + #if(isNotEmpty(children)) { + /** + * 自定义提交,包含子表 + */ + boolean submit(${entityKey!}Entity entity); + + /** + * 自定义删除数据,包含子表 + */ + boolean deleteByIds(List ids); + #} +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/serviceImpl.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/serviceImpl.java.btl new file mode 100644 index 0000000..9f24fd8 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/serviceImpl.java.btl @@ -0,0 +1,144 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${package.ServiceImpl!}; + +#if(isNotEmpty(children)) { +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.transaction.annotation.Transactional; +#for(x in children) { +import ${packageName!}.pojo.entity.${x.modelClass!}Entity; +import ${packageName!}.service.${x.serviceClass!}; +#} +#} +import ${packageName!}.pojo.entity.${entityKey!}Entity; +import ${packageName!}.pojo.vo.${entityKey!}VO; +import ${packageName!}.excel.${entityKey!}Excel; +import ${packageName!}.mapper.${table.mapperName!}; +import ${packageName!}.service.${table.serviceName!}; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +#if(hasSuperEntity){ +import ${superServiceImplClassPackage!}; +#}else{ +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +#} + +import java.util.List; + +/** + * ${table.comment!} 服务实现类 + * + * @author ${author!} + * @since ${date!} + */ +@Service +#if(isNotEmpty(children)) { +@RequiredArgsConstructor +#} +#if(hasSuperEntity){ +public class ${table.serviceImplName!} extends ${superServiceImplClass!}<${table.mapperName!}, ${entity!}> implements ${table.serviceName!} { +#}else{ +public class ${table.serviceImplName!} extends ServiceImpl<${table.mapperName!}, ${entity!}> implements ${table.serviceName!} { +#} + + #if(isNotEmpty(children)) { + #for(x in children) { + private final ${x.serviceClass!} ${x.serviceField!}; + #} + #} + + @Override + public IPage<${entityKey!}VO> select${entityKey!}Page(IPage<${entityKey!}VO> page, ${entityKey!}VO ${entityKeyPath!}) { + return page.setRecords(baseMapper.select${entityKey!}Page(page, ${entityKeyPath!})); + } + + @Override + public List<${entityKey!}Excel> export${entityKey!}(Wrapper<${entityKey!}Entity> queryWrapper) { + List<${entityKey!}Excel> ${entityKeyPath!}List = baseMapper.export${entityKey!}(queryWrapper); + //${entityKeyPath!}List.forEach(${entityKeyPath!} -> { + // ${entityKeyPath!}.setTypeName(DictCache.getValue(DictEnum.YES_NO, ${entity!}.getType())); + //}); + return ${entityKeyPath!}List; + } + + #if(isNotEmpty(children)) { + @Override + @Transactional(rollbackFor = Exception.class) + public boolean submit(${entityKey!}Entity entity) { + boolean b = this.saveOrUpdate(entity); + + #for(x in children) { + #if(x.fieldType == 'list') { + List<${x.modelClass!}Entity> ${x.fieldProp!} = entity.get${x.fieldFunc!}(); + #} else { + ${x.modelClass!}Entity ${x.fieldProp!} = entity.get${x.fieldFunc!}(); + #} + if (ObjectUtils.isNotEmpty(${x.fieldProp!})) { + if (ObjectUtils.isNotEmpty(entity.getId())) { // 更新先删除子表数据,再添加。 + ${x.serviceField!}.remove(new LambdaQueryWrapper<${x.modelClass!}Entity>() + .eq(${x.modelClass!}Entity::getParentId, entity.getId())); + } + #if(x.fieldType == 'list') { + ${x.fieldProp!}.forEach(t -> { + t.setParentId(entity.getId()); + t.setId(null); + }); + ${x.serviceField!}.saveBatch(${x.fieldProp!}); + #} else { + ${x.fieldProp!}.setParentId(entity.getId()); + ${x.fieldProp!}.setId(null); + ${x.serviceField!}.save(${x.fieldProp!}); + #} + } + #} + + return b; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean deleteByIds(List ids) { + #if(hasSuperEntity) { + boolean b = this.deleteLogic(ids); + #} else { + boolean b = this.removeByIds(ids); + #} + + ids.forEach(id -> { + #for(x in children) { + ${x.serviceField!}.remove(new LambdaQueryWrapper<${x.modelClass!}Entity>() + .eq(${x.modelClass!}Entity::getParentId, id)); + #} + }); + + return b; + } + #} + +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/wrapper.java.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/wrapper.java.btl new file mode 100644 index 0000000..0d36eba --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/java/wrapper.java.btl @@ -0,0 +1,92 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package ${strutil.replace(package.Entity,"pojo.entity","wrapper")}; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +#if(isNotEmpty(children)) { +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springblade.core.tool.utils.SpringUtil; +#for(x in children) { +import ${packageName!}.pojo.entity.${x.modelClass!}Entity; +import ${packageName!}.service.${x.serviceClass!}; +#} +#} +import ${packageName!}.pojo.entity.${entityKey!}Entity; +import ${packageName!}.pojo.vo.${entityKey!}VO; + +import java.util.Objects; + +/** + * ${table.comment!} 包装类,返回视图层所需的字段 + * + * @author ${author!} + * @since ${date!} + */ +public class ${entityKey!}Wrapper extends BaseEntityWrapper<${entityKey!}Entity, ${entityKey!}VO> { + + public static ${entityKey!}Wrapper build() { + return new ${entityKey!}Wrapper(); + } + + #if(isNotEmpty(children)) { + #for(x in children) { + private static ${x.serviceClass!} ${x.serviceField!}; + + private static ${x.serviceClass!} get${x.serviceClass!}() { + if (${x.serviceField!} == null) { + ${x.serviceField!} = SpringUtil.getBean(${x.serviceClass!}.class); + } + return ${x.serviceField!}; + } + #} + #} + + @Override + public ${entityKey!}VO entityVO(${entityKey!}Entity ${entityKeyPath!}) { + ${entityKey!}VO ${entityKeyPath!}VO = Objects.requireNonNull(BeanUtil.copyProperties(${entityKeyPath!}, ${entityKey!}VO.class)); + + //User createUser = UserCache.getUser(${entityKeyPath!}.getCreateUser()); + //User updateUser = UserCache.getUser(${entityKeyPath!}.getUpdateUser()); + //${entityKeyPath!}VO.setCreateUserName(createUser.getName()); + //${entityKeyPath!}VO.setUpdateUserName(updateUser.getName()); + + #if(isNotEmpty(children)) { + #for(x in children) { + #if (x.fieldType == 'list') { + ${entityKeyPath!}VO.set${x.fieldFunc}(get${x.serviceClass!}().list(new LambdaQueryWrapper<${x.modelClass!}Entity>() + .eq(${x.modelClass!}Entity::getParentId, ${entityKeyPath!}.getId()))); + #} else { + ${entityKeyPath!}VO.set${x.fieldFunc}(get${x.serviceClass!}().getOne(new LambdaQueryWrapper<${x.modelClass!}Entity>() + .eq(${x.modelClass!}Entity::getParentId, ${entityKeyPath!}.getId()))); + #} + #} + #} + + return ${entityKeyPath!}VO; + } + +} diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/api.js.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/api.js.btl new file mode 100644 index 0000000..09d886e --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/api.js.btl @@ -0,0 +1,52 @@ +import request from '@/axios'; + +const prefix = '/${serviceName!}/${entityKeyPath!}'; + +export const getList = (current, size, params) => { + return request({ + url: `\${prefix}/list`, + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: `\${prefix}/detail`, + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: `\${prefix}/remove`, + method: 'post', + params: { + ids, + } + }) +} + +export const add = (data) => { + return request({ + url: `\${prefix}/submit`, + method: 'post', + data, + }) +} + +export const update = (data) => { + return request({ + url: `\${prefix}/submit`, + method: 'post', + data, + }) +} + diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/crud.vue.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/crud.vue.btl new file mode 100644 index 0000000..70dd046 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/crud.vue.btl @@ -0,0 +1,261 @@ + + + + + + + diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/form.vue.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/form.vue.btl new file mode 100644 index 0000000..02afba7 --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/saber3/form.vue.btl @@ -0,0 +1,74 @@ + + diff --git a/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/sql/menu.sql.btl b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/sql/menu.sql.btl new file mode 100644 index 0000000..99c839d --- /dev/null +++ b/blade-plugin/blade-workflow/src/main/resources/templates/nutflow/sql/menu.sql.btl @@ -0,0 +1,10 @@ +INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted) +VALUES ('${menuId}', '${parentMenuId}', '${modelCode!}', '${codeName!}', 'menu', '/${serviceCode!}/${modelName!}', NULL, 1, 1, 0, 1, NULL, 0); +INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted) +VALUES ('${addMenuId}', '${menuId}', '${modelCode!}_add', '新增', 'add', '/${serviceCode!}/${modelName!}/add', 'plus', 1, 2, 1, 1, NULL, 0); +INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted) +VALUES ('${editMenuId}', '${menuId}', '${modelCode!}_edit', '修改', 'edit', '/${serviceCode!}/${modelName!}/edit', 'form', 2, 2, 2, 1, NULL, 0); +INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted) +VALUES ('${removeMenuId}', '${menuId}', '${modelCode!}_delete', '删除', 'delete', '/${serviceCode!}/${modelName!}/remove', 'delete', 3, 2, 3, 1, NULL, 0); +INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted) +VALUES ('${viewMenuId}', '${menuId}', '${modelCode!}_view', '查看', 'view', '/${serviceCode!}/${modelName!}/view', 'file-text', 4, 2, 2, 1, NULL, 0); diff --git a/blade-service-api/blade-system-api/hs_err_pid42528.log b/blade-service-api/blade-system-api/hs_err_pid42528.log new file mode 100644 index 0000000..9bab10b --- /dev/null +++ b/blade-service-api/blade-system-api/hs_err_pid42528.log @@ -0,0 +1,205 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (malloc) failed to allocate 1048576 bytes for AllocateHeap +# Possible reasons: +# The system is out of physical RAM or swap space +# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# JVM is running with Unscaled Compressed Oops mode in which the Java heap is +# placed in the first 4GB address space. The Java Heap base address is the +# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress +# to set the Java Heap base and to place the Java Heap above 4GB virtual address. +# This output file may be truncated or incomplete. +# +# Out of Memory Error (allocation.cpp:44), pid=42528, tid=22824 +# +# JRE version: (17.0.11+7) (build ) +# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) +# Core dump will be written. Default location: E:\kongxz\MyProject\bladex\blade-service-api\blade-system-api\hs_err_pid42528.mdmp +# + +--------------- S U M M A R Y ------------ + +Command Line: -Dclassworlds.conf=C:\Program Files\maven\bin\m2.conf -Dmaven.home=C:\Program Files\maven -Dlibrary.jansi.path=C:\Program Files\maven\lib\jansi-native -Dmaven.multiModuleProjectDirectory=E:\kongxz\MyProject\bladex\blade-service-api\blade-system-api org.codehaus.plexus.classworlds.launcher.Launcher -v + +Host: Intel Xeon Processor (Skylake, IBRS), 8 cores, 31G, Windows Server 2019 , 64 bit Build 17763 (10.0.17763.1879) +Time: Tue Jun 23 16:03:36 2026 Öйú±ê׼ʱ¼ä elapsed time: 0.029122 seconds (0d 0h 0m 0s) + +--------------- T H R E A D --------------- + +Current thread (0x000001a48403fb90): JavaThread "Unknown thread" [_thread_in_vm, id=22824, stack(0x0000006b47200000,0x0000006b47300000)] + +Stack: [0x0000006b47200000,0x0000006b47300000] +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x679cca] +V [jvm.dll+0x7da13d] +V [jvm.dll+0x7dba83] +V [jvm.dll+0x7dc0f3] +V [jvm.dll+0x2449af] +V [jvm.dll+0xa5e73] +V [jvm.dll+0x2d4767] +V [jvm.dll+0x7ac67c] +V [jvm.dll+0x366f61] +V [jvm.dll+0x78b609] +V [jvm.dll+0x3ec22f] +V [jvm.dll+0x3ede61] +C [jli.dll+0x5297] +C [ucrtbase.dll+0x2268a] +C [KERNEL32.DLL+0x17974] +C [ntdll.dll+0x5a2f1] + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x00007ff9716c7a18, length=0, elements={ +} + +Java Threads: ( => current thread ) + +Other Threads: + +=>0x000001a48403fb90 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=22824, stack(0x0000006b47200000,0x0000006b47300000)] + +Threads with active compile tasks: + +VM state: not at safepoint (not fully initialized) + +VM Mutex/Monitor currently owned by a thread: None + +Heap address: 0x0000000000000000, size: 0 MB, Compressed Oops mode: 32-bit + +CDS archive(s) mapped at: [0x0000000000000000-0x0000000000000000-0x0000000000000000), size 0, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 1. +Narrow klass base: 0x0000000000000000, Narrow klass shift: 0, Narrow klass range: 0x0 + +GC Precious Log: + + +GC Heap History (0 events): +No events + +Deoptimization events (0 events): +No events + +Classes unloaded (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (0 events): +No events + +VM Operations (0 events): +No events + +Events (1 events): +Event: 0.010 Loaded shared library C:\Program Files\Java\jdk-17\bin\java.dll + + +Dynamic libraries: +0x00007ff6b2a10000 - 0x00007ff6b2a20000 C:\Program Files\Java\jdk-17\bin\java.exe +0x00007ff9f7660000 - 0x00007ff9f784c000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ff9f4bb0000 - 0x00007ff9f4c63000 C:\Windows\System32\KERNEL32.DLL +0x00007ff9f3a40000 - 0x00007ff9f3cd4000 C:\Windows\System32\KERNELBASE.dll +0x00007ff9f3ed0000 - 0x00007ff9f3fca000 C:\Windows\System32\ucrtbase.dll +0x00007ff9d97e0000 - 0x00007ff9d97fb000 C:\Program Files\Java\jdk-17\bin\VCRUNTIME140.dll +0x00007ff9d99d0000 - 0x00007ff9d99e9000 C:\Program Files\Java\jdk-17\bin\jli.dll +0x00007ff9f5560000 - 0x00007ff9f5603000 C:\Windows\System32\ADVAPI32.dll +0x00007ff9f4df0000 - 0x00007ff9f4e8e000 C:\Windows\System32\msvcrt.dll +0x00007ff9f7460000 - 0x00007ff9f74fe000 C:\Windows\System32\sechost.dll +0x00007ff9f4eb0000 - 0x00007ff9f4fcf000 C:\Windows\System32\RPCRT4.dll +0x00007ff9f53c0000 - 0x00007ff9f5557000 C:\Windows\System32\USER32.dll +0x00007ff9f37a0000 - 0x00007ff9f37c0000 C:\Windows\System32\win32u.dll +0x00007ff9f4b80000 - 0x00007ff9f4ba9000 C:\Windows\System32\GDI32.dll +0x00007ff9f37f0000 - 0x00007ff9f398c000 C:\Windows\System32\gdi32full.dll +0x00007ff9f4020000 - 0x00007ff9f40c0000 C:\Windows\System32\msvcp_win.dll +0x00007ff9e51b0000 - 0x00007ff9e5429000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.1879_none_de7416585348d805\COMCTL32.dll +0x00007ff9f5090000 - 0x00007ff9f53bd000 C:\Windows\System32\combase.dll +0x00007ff9f4810000 - 0x00007ff9f488f000 C:\Windows\System32\bcryptPrimitives.dll +0x00007ff9e9540000 - 0x00007ff9e954a000 C:\Windows\SYSTEM32\VERSION.dll +0x00007ff9f49e0000 - 0x00007ff9f4a0e000 C:\Windows\System32\IMM32.DLL +0x00007ff9dcc00000 - 0x00007ff9dcc0c000 C:\Program Files\Java\jdk-17\bin\vcruntime140_1.dll +0x00007ff9863f0000 - 0x00007ff98647e000 C:\Program Files\Java\jdk-17\bin\msvcp140.dll +0x00007ff970c10000 - 0x00007ff9717f0000 C:\Program Files\Java\jdk-17\bin\server\jvm.dll +0x00007ff9f7500000 - 0x00007ff9f7508000 C:\Windows\System32\PSAPI.DLL +0x00007ff9f1750000 - 0x00007ff9f1774000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ff9dd980000 - 0x00007ff9dd989000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ff9f75c0000 - 0x00007ff9f762d000 C:\Windows\System32\WS2_32.dll +0x00007ff9f1720000 - 0x00007ff9f174d000 C:\Windows\SYSTEM32\WINMMBASE.dll +0x00007ff9f3fd0000 - 0x00007ff9f401a000 C:\Windows\System32\cfgmgr32.dll +0x00007ff9f3650000 - 0x00007ff9f3661000 C:\Windows\System32\kernel.appcore.dll +0x00007ff9db400000 - 0x00007ff9db40a000 C:\Program Files\Java\jdk-17\bin\jimage.dll +0x00007ff9e5900000 - 0x00007ff9e5aed000 C:\Windows\SYSTEM32\DBGHELP.DLL +0x00007ff9e4f60000 - 0x00007ff9e4f8a000 C:\Windows\SYSTEM32\dbgcore.DLL +0x00007ff9d7820000 - 0x00007ff9d7845000 C:\Program Files\Java\jdk-17\bin\java.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Java\jdk-17\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.1879_none_de7416585348d805;C:\Program Files\Java\jdk-17\bin\server + +VM Arguments: +jvm_args: -Dclassworlds.conf=C:\Program Files\maven\bin\m2.conf -Dmaven.home=C:\Program Files\maven -Dlibrary.jansi.path=C:\Program Files\maven\lib\jansi-native -Dmaven.multiModuleProjectDirectory=E:\kongxz\MyProject\bladex\blade-service-api\blade-system-api +java_command: org.codehaus.plexus.classworlds.launcher.Launcher -v +java_class_path (initial): C:\Program Files\maven\boot\plexus-classworlds-2.6.0.jar +Launcher Type: SUN_STANDARD + +[Global flags] + intx CICompilerCount = 4 {product} {ergonomic} + uint ConcGCThreads = 2 {product} {ergonomic} + uint G1ConcRefinementThreads = 8 {product} {ergonomic} + size_t G1HeapRegionSize = 4194304 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 536870912 {product} {ergonomic} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 8589934592 {product} {ergonomic} + size_t MinHeapDeltaBytes = 4194304 {product} {ergonomic} + size_t MinHeapSize = 8388608 {product} {ergonomic} + uintx NonNMethodCodeHeapSize = 5839372 {pd product} {ergonomic} + uintx NonProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} + uintx ProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} + uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} + bool SegmentedCodeCache = true {product} {ergonomic} + size_t SoftMaxHeapSize = 8589934592 {manageable} {ergonomic} + bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} + bool UseCompressedOops = true {product lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=C:\Program Files\Java\jdk-17 +PATH=C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\maven\bin;C:\Program Files\Java\jdk\bin;E:\lishuo\nodejs\;C:\Users\¿×ÏéÕ÷\AppData\Local\Microsoft\WindowsApps; +USERNAME=¿×ÏéÕ÷ +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 85 Stepping 4, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: + Windows Server 2019 , 64 bit Build 17763 (10.0.17763.1879) +OS uptime: 43 days 4:19 hours +KVM virtualization detected + +CPU: total 8 (initial active 8) (1 cores per cpu, 1 threads per core) family 6 model 85 stepping 4 microcode 0x1, cx8, cmov, fxsr, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, avx, avx2, aes, erms, clmul, bmi1, bmi2, rtm, adx, fma, vzeroupper, clflush, clflushopt, clwb, hv + +Memory: 4k page, system-wide physical 32767M (1405M free) +TotalPageFile size 45498M (AvailPageFile size 5M) +current process WorkingSet (physical memory assigned to process): 9M, peak: 9M +current process commit charge ("private bytes"): 18M, peak: 19M + +vm_info: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207) for windows-amd64 JRE (17.0.11+7-LTS-207), built on Mar 11 2024 19:01:50 by "mach5one" with MS VC++ 17.6 (VS2022) + +END. diff --git a/blade-service-api/blade-system-api/hs_err_pid42528.mdmp b/blade-service-api/blade-system-api/hs_err_pid42528.mdmp new file mode 100644 index 0000000..e69de29 diff --git a/blade-service-api/blade-system-api/hs_err_pid7312.log b/blade-service-api/blade-system-api/hs_err_pid7312.log new file mode 100644 index 0000000..5e2540c --- /dev/null +++ b/blade-service-api/blade-system-api/hs_err_pid7312.log @@ -0,0 +1,219 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (mmap) failed to map 1048576 bytes for G1 virtual space +# Possible reasons: +# The system is out of physical RAM or swap space +# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# JVM is running with Zero Based Compressed Oops mode in which the Java heap is +# placed in the first 32GB address space. The Java Heap base address is the +# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress +# to set the Java Heap base and to place the Java Heap above 32GB virtual address. +# This output file may be truncated or incomplete. +# +# Out of Memory Error (os_windows.cpp:3548), pid=7312, tid=42748 +# +# JRE version: (17.0.11+7) (build ) +# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) +# Core dump will be written. Default location: E:\kongxz\MyProject\bladex\blade-service-api\blade-system-api\hs_err_pid7312.mdmp +# + +--------------- S U M M A R Y ------------ + +Command Line: -Dclassworlds.conf=C:\Program Files\maven\bin\m2.conf -Dmaven.home=C:\Program Files\maven -Dlibrary.jansi.path=C:\Program Files\maven\lib\jansi-native -Dmaven.multiModuleProjectDirectory=E:\kongxz\MyProject\bladex\blade-service-api\blade-system-api org.codehaus.plexus.classworlds.launcher.Launcher -v + +Host: Intel Xeon Processor (Skylake, IBRS), 8 cores, 31G, Windows Server 2019 , 64 bit Build 17763 (10.0.17763.1879) +Time: Tue Jun 23 16:06:47 2026 Öйú±ê׼ʱ¼ä elapsed time: 0.039810 seconds (0d 0h 0m 0s) + +--------------- T H R E A D --------------- + +Current thread (0x0000024f6a25f2d0): JavaThread "Unknown thread" [_thread_in_vm, id=42748, stack(0x000000b7d3800000,0x000000b7d3900000)] + +Stack: [0x000000b7d3800000,0x000000b7d3900000] +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x679cca] +V [jvm.dll+0x7da13d] +V [jvm.dll+0x7dba83] +V [jvm.dll+0x7dc0f3] +V [jvm.dll+0x2449af] +V [jvm.dll+0x676ce9] +V [jvm.dll+0x66b852] +V [jvm.dll+0x3018d6] +V [jvm.dll+0x308e76] +V [jvm.dll+0x35974d] +V [jvm.dll+0x35991f] +V [jvm.dll+0x2d89a8] +V [jvm.dll+0x2d9914] +V [jvm.dll+0x7ac6b1] +V [jvm.dll+0x366f61] +V [jvm.dll+0x78b609] +V [jvm.dll+0x3ec22f] +V [jvm.dll+0x3ede61] +C [jli.dll+0x5297] +C [ucrtbase.dll+0x2268a] +C [KERNEL32.DLL+0x17974] +C [ntdll.dll+0x5a2f1] + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x00007ff9716c7a18, length=0, elements={ +} + +Java Threads: ( => current thread ) + +Other Threads: + 0x0000024f6a30c060 GCTaskThread "GC Thread#0" [stack: 0x000000b7d3900000,0x000000b7d3a00000] [id=41504] + 0x0000024f6a31e3c0 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000b7d3a00000,0x000000b7d3b00000] [id=42904] + 0x0000024f6a31f990 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000b7d3b00000,0x000000b7d3c00000] [id=41356] + +[error occurred during error reporting (printing all threads), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff970ef9497] + +VM state: not at safepoint (not fully initialized) + +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) +[0x0000024f6a25b350] Heap_lock - owner thread: 0x0000024f6a25f2d0 + +Heap address: 0x0000000600000000, size: 8192 MB, Compressed Oops mode: Zero based, Oop shift amount: 3 + +CDS archive(s) mapped at: [0x0000000000000000-0x0000000000000000-0x0000000000000000), size 0, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 1. +Narrow klass base: 0x0000000000000000, Narrow klass shift: 0, Narrow klass range: 0x0 + +GC Precious Log: + + +Heap: + garbage-first heap total 0K, used 0K [0x0000000600000000, 0x0000000800000000) + region size 4096K, 0 young (0K), 0 survivors (0K) + +[error occurred during error reporting (printing heap information), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff9712e3559] + +GC Heap History (0 events): +No events + +Deoptimization events (0 events): +No events + +Classes unloaded (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (0 events): +No events + +VM Operations (0 events): +No events + +Events (1 events): +Event: 0.011 Loaded shared library C:\Program Files\Java\jdk-17\bin\java.dll + + +Dynamic libraries: +0x00007ff6b2a10000 - 0x00007ff6b2a20000 C:\Program Files\Java\jdk-17\bin\java.exe +0x00007ff9f7660000 - 0x00007ff9f784c000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ff9f4bb0000 - 0x00007ff9f4c63000 C:\Windows\System32\KERNEL32.DLL +0x00007ff9f3a40000 - 0x00007ff9f3cd4000 C:\Windows\System32\KERNELBASE.dll +0x00007ff9f3ed0000 - 0x00007ff9f3fca000 C:\Windows\System32\ucrtbase.dll +0x00007ff9d99d0000 - 0x00007ff9d99e9000 C:\Program Files\Java\jdk-17\bin\jli.dll +0x00007ff9d97e0000 - 0x00007ff9d97fb000 C:\Program Files\Java\jdk-17\bin\VCRUNTIME140.dll +0x00007ff9f5560000 - 0x00007ff9f5603000 C:\Windows\System32\ADVAPI32.dll +0x00007ff9f4df0000 - 0x00007ff9f4e8e000 C:\Windows\System32\msvcrt.dll +0x00007ff9f7460000 - 0x00007ff9f74fe000 C:\Windows\System32\sechost.dll +0x00007ff9f4eb0000 - 0x00007ff9f4fcf000 C:\Windows\System32\RPCRT4.dll +0x00007ff9f53c0000 - 0x00007ff9f5557000 C:\Windows\System32\USER32.dll +0x00007ff9f37a0000 - 0x00007ff9f37c0000 C:\Windows\System32\win32u.dll +0x00007ff9f4b80000 - 0x00007ff9f4ba9000 C:\Windows\System32\GDI32.dll +0x00007ff9f37f0000 - 0x00007ff9f398c000 C:\Windows\System32\gdi32full.dll +0x00007ff9e51b0000 - 0x00007ff9e5429000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.1879_none_de7416585348d805\COMCTL32.dll +0x00007ff9f4020000 - 0x00007ff9f40c0000 C:\Windows\System32\msvcp_win.dll +0x00007ff9f5090000 - 0x00007ff9f53bd000 C:\Windows\System32\combase.dll +0x00007ff9f4810000 - 0x00007ff9f488f000 C:\Windows\System32\bcryptPrimitives.dll +0x00007ff9e9540000 - 0x00007ff9e954a000 C:\Windows\SYSTEM32\VERSION.dll +0x00007ff9f49e0000 - 0x00007ff9f4a0e000 C:\Windows\System32\IMM32.DLL +0x00007ff9dcc00000 - 0x00007ff9dcc0c000 C:\Program Files\Java\jdk-17\bin\vcruntime140_1.dll +0x00007ff9863f0000 - 0x00007ff98647e000 C:\Program Files\Java\jdk-17\bin\msvcp140.dll +0x00007ff970c10000 - 0x00007ff9717f0000 C:\Program Files\Java\jdk-17\bin\server\jvm.dll +0x00007ff9f7500000 - 0x00007ff9f7508000 C:\Windows\System32\PSAPI.DLL +0x00007ff9f1750000 - 0x00007ff9f1774000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ff9dd980000 - 0x00007ff9dd989000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ff9f75c0000 - 0x00007ff9f762d000 C:\Windows\System32\WS2_32.dll +0x00007ff9f1720000 - 0x00007ff9f174d000 C:\Windows\SYSTEM32\WINMMBASE.dll +0x00007ff9f3fd0000 - 0x00007ff9f401a000 C:\Windows\System32\cfgmgr32.dll +0x00007ff9f3650000 - 0x00007ff9f3661000 C:\Windows\System32\kernel.appcore.dll +0x00007ff9db400000 - 0x00007ff9db40a000 C:\Program Files\Java\jdk-17\bin\jimage.dll +0x00007ff9e5900000 - 0x00007ff9e5aed000 C:\Windows\SYSTEM32\DBGHELP.DLL +0x00007ff9e4f60000 - 0x00007ff9e4f8a000 C:\Windows\SYSTEM32\dbgcore.DLL +0x00007ff9d7820000 - 0x00007ff9d7845000 C:\Program Files\Java\jdk-17\bin\java.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Java\jdk-17\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.1879_none_de7416585348d805;C:\Program Files\Java\jdk-17\bin\server + +VM Arguments: +jvm_args: -Dclassworlds.conf=C:\Program Files\maven\bin\m2.conf -Dmaven.home=C:\Program Files\maven -Dlibrary.jansi.path=C:\Program Files\maven\lib\jansi-native -Dmaven.multiModuleProjectDirectory=E:\kongxz\MyProject\bladex\blade-service-api\blade-system-api +java_command: org.codehaus.plexus.classworlds.launcher.Launcher -v +java_class_path (initial): C:\Program Files\maven\boot\plexus-classworlds-2.6.0.jar +Launcher Type: SUN_STANDARD + +[Global flags] + intx CICompilerCount = 4 {product} {ergonomic} + uint ConcGCThreads = 2 {product} {ergonomic} + uint G1ConcRefinementThreads = 8 {product} {ergonomic} + size_t G1HeapRegionSize = 4194304 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 536870912 {product} {ergonomic} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 8589934592 {product} {ergonomic} + size_t MinHeapDeltaBytes = 4194304 {product} {ergonomic} + size_t MinHeapSize = 8388608 {product} {ergonomic} + uintx NonNMethodCodeHeapSize = 5839372 {pd product} {ergonomic} + uintx NonProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} + uintx ProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} + uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} + bool SegmentedCodeCache = true {product} {ergonomic} + size_t SoftMaxHeapSize = 8589934592 {manageable} {ergonomic} + bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} + bool UseCompressedOops = true {product lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=C:\Program Files\Java\jdk-17 +PATH=C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\maven\bin;C:\Program Files\Java\jdk\bin;E:\lishuo\nodejs\;C:\Users\¿×ÏéÕ÷\AppData\Local\Microsoft\WindowsApps; +USERNAME=¿×ÏéÕ÷ +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 85 Stepping 4, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: + Windows Server 2019 , 64 bit Build 17763 (10.0.17763.1879) +OS uptime: 43 days 4:22 hours +KVM virtualization detected + +CPU: total 8 (initial active 8) (1 cores per cpu, 1 threads per core) family 6 model 85 stepping 4 microcode 0x1, cx8, cmov, fxsr, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, avx, avx2, aes, erms, clmul, bmi1, bmi2, rtm, adx, fma, vzeroupper, clflush, clflushopt, clwb, hv + +Memory: 4k page, system-wide physical 32767M (1933M free) +TotalPageFile size 45498M (AvailPageFile size 13M) +current process WorkingSet (physical memory assigned to process): 11M, peak: 11M +current process commit charge ("private bytes"): 591M, peak: 592M + +vm_info: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207) for windows-amd64 JRE (17.0.11+7-LTS-207), built on Mar 11 2024 19:01:50 by "mach5one" with MS VC++ 17.6 (VS2022) + +END. diff --git a/blade-service-api/blade-system-api/hs_err_pid7312.mdmp b/blade-service-api/blade-system-api/hs_err_pid7312.mdmp new file mode 100644 index 0000000..e69de29 diff --git a/hs_err_pid4796.log b/hs_err_pid4796.log new file mode 100644 index 0000000..c72eace --- /dev/null +++ b/hs_err_pid4796.log @@ -0,0 +1,220 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (mmap) failed to map 536870912 bytes for G1 virtual space +# Possible reasons: +# The system is out of physical RAM or swap space +# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# JVM is running with Zero Based Compressed Oops mode in which the Java heap is +# placed in the first 32GB address space. The Java Heap base address is the +# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress +# to set the Java Heap base and to place the Java Heap above 32GB virtual address. +# This output file may be truncated or incomplete. +# +# Out of Memory Error (os_windows.cpp:3548), pid=4796, tid=33888 +# +# JRE version: (17.0.11+7) (build ) +# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207, mixed mode, emulated-client, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) +# Core dump will be written. Default location: E:\kongxz\MyProject\bladex\hs_err_pid4796.mdmp +# + +--------------- S U M M A R Y ------------ + +Command Line: -XX:TieredStopAtLevel=1 -Dspring.profiles.active=dev -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dmanagement.endpoints.jmx.exposure.include=* -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.4\lib\idea_rt.jar=56128:C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.4\bin -Dfile.encoding=UTF-8 org.springblade.system.SystemApplication + +Host: Intel Xeon Processor (Skylake, IBRS), 8 cores, 31G, Windows Server 2019 , 64 bit Build 17763 (10.0.17763.1879) +Time: Tue Jun 30 09:09:26 2026 Öйú±ê׼ʱ¼ä elapsed time: 0.044371 seconds (0d 0h 0m 0s) + +--------------- T H R E A D --------------- + +Current thread (0x000001c84bb34770): JavaThread "Unknown thread" [_thread_in_vm, id=33888, stack(0x00000071ff300000,0x00000071ff400000)] + +Stack: [0x00000071ff300000,0x00000071ff400000] +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x679cca] +V [jvm.dll+0x7da13d] +V [jvm.dll+0x7dba83] +V [jvm.dll+0x7dc0f3] +V [jvm.dll+0x2449af] +V [jvm.dll+0x676ce9] +V [jvm.dll+0x66b852] +V [jvm.dll+0x3018d6] +V [jvm.dll+0x308e76] +V [jvm.dll+0x3596ee] +V [jvm.dll+0x35991f] +V [jvm.dll+0x2d89a8] +V [jvm.dll+0x2d9914] +V [jvm.dll+0x7ac6b1] +V [jvm.dll+0x366f61] +V [jvm.dll+0x78b609] +V [jvm.dll+0x3ec22f] +V [jvm.dll+0x3ede61] +C [jli.dll+0x5297] +C [ucrtbase.dll+0x2268a] +C [KERNEL32.DLL+0x17974] +C [ntdll.dll+0x5a2f1] + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x00007ff9716c7a18, length=0, elements={ +} + +Java Threads: ( => current thread ) + +Other Threads: + 0x000001c86b5419b0 GCTaskThread "GC Thread#0" [stack: 0x00000071ff400000,0x00000071ff500000] [id=41012] + 0x000001c84bbb1100 ConcurrentGCThread "G1 Main Marker" [stack: 0x00000071ff500000,0x00000071ff600000] [id=10520] + 0x000001c84bbb26d0 ConcurrentGCThread "G1 Conc#0" [stack: 0x00000071ff600000,0x00000071ff700000] [id=32288] + +[error occurred during error reporting (printing all threads), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff970ef9497] + +VM state: not at safepoint (not fully initialized) + +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) +[0x000001c84bb317f0] Heap_lock - owner thread: 0x000001c84bb34770 + +Heap address: 0x0000000600000000, size: 8192 MB, Compressed Oops mode: Zero based, Oop shift amount: 3 + +CDS archive(s) mapped at: [0x0000000000000000-0x0000000000000000-0x0000000000000000), size 0, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 1. +Narrow klass base: 0x0000000000000000, Narrow klass shift: 0, Narrow klass range: 0x0 + +GC Precious Log: + + +Heap: + garbage-first heap total 0K, used 0K [0x0000000600000000, 0x0000000800000000) + region size 4096K, 0 young (0K), 0 survivors (0K) + +[error occurred during error reporting (printing heap information), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff9712e3559] + +GC Heap History (0 events): +No events + +Deoptimization events (0 events): +No events + +Classes unloaded (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (0 events): +No events + +VM Operations (0 events): +No events + +Events (1 events): +Event: 0.017 Loaded shared library C:\Program Files\Java\jdk-17\bin\java.dll + + +Dynamic libraries: +0x00007ff6b2a10000 - 0x00007ff6b2a20000 C:\Program Files\Java\jdk-17\bin\java.exe +0x00007ff9f7660000 - 0x00007ff9f784c000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ff9f4bb0000 - 0x00007ff9f4c63000 C:\Windows\System32\KERNEL32.DLL +0x00007ff9f3a40000 - 0x00007ff9f3cd4000 C:\Windows\System32\KERNELBASE.dll +0x00007ff9f3ed0000 - 0x00007ff9f3fca000 C:\Windows\System32\ucrtbase.dll +0x00007ff9d97e0000 - 0x00007ff9d97fb000 C:\Program Files\Java\jdk-17\bin\VCRUNTIME140.dll +0x00007ff9d99d0000 - 0x00007ff9d99e9000 C:\Program Files\Java\jdk-17\bin\jli.dll +0x00007ff9f5560000 - 0x00007ff9f5603000 C:\Windows\System32\ADVAPI32.dll +0x00007ff9f4df0000 - 0x00007ff9f4e8e000 C:\Windows\System32\msvcrt.dll +0x00007ff9f7460000 - 0x00007ff9f74fe000 C:\Windows\System32\sechost.dll +0x00007ff9f4eb0000 - 0x00007ff9f4fcf000 C:\Windows\System32\RPCRT4.dll +0x00007ff9f53c0000 - 0x00007ff9f5557000 C:\Windows\System32\USER32.dll +0x00007ff9f37a0000 - 0x00007ff9f37c0000 C:\Windows\System32\win32u.dll +0x00007ff9f4b80000 - 0x00007ff9f4ba9000 C:\Windows\System32\GDI32.dll +0x00007ff9f37f0000 - 0x00007ff9f398c000 C:\Windows\System32\gdi32full.dll +0x00007ff9f4020000 - 0x00007ff9f40c0000 C:\Windows\System32\msvcp_win.dll +0x00007ff9e51b0000 - 0x00007ff9e5429000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.1879_none_de7416585348d805\COMCTL32.dll +0x00007ff9f5090000 - 0x00007ff9f53bd000 C:\Windows\System32\combase.dll +0x00007ff9f4810000 - 0x00007ff9f488f000 C:\Windows\System32\bcryptPrimitives.dll +0x00007ff9e9540000 - 0x00007ff9e954a000 C:\Windows\SYSTEM32\VERSION.dll +0x00007ff9f49e0000 - 0x00007ff9f4a0e000 C:\Windows\System32\IMM32.DLL +0x00007ff9dcc00000 - 0x00007ff9dcc0c000 C:\Program Files\Java\jdk-17\bin\vcruntime140_1.dll +0x00007ff9863f0000 - 0x00007ff98647e000 C:\Program Files\Java\jdk-17\bin\msvcp140.dll +0x00007ff970c10000 - 0x00007ff9717f0000 C:\Program Files\Java\jdk-17\bin\server\jvm.dll +0x00007ff9f7500000 - 0x00007ff9f7508000 C:\Windows\System32\PSAPI.DLL +0x00007ff9f1750000 - 0x00007ff9f1774000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ff9dd980000 - 0x00007ff9dd989000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ff9f1720000 - 0x00007ff9f174d000 C:\Windows\SYSTEM32\WINMMBASE.dll +0x00007ff9f3fd0000 - 0x00007ff9f401a000 C:\Windows\System32\cfgmgr32.dll +0x00007ff9f75c0000 - 0x00007ff9f762d000 C:\Windows\System32\WS2_32.dll +0x00007ff9f3650000 - 0x00007ff9f3661000 C:\Windows\System32\kernel.appcore.dll +0x00007ff9db400000 - 0x00007ff9db40a000 C:\Program Files\Java\jdk-17\bin\jimage.dll +0x00007ff9e5900000 - 0x00007ff9e5aed000 C:\Windows\SYSTEM32\DBGHELP.DLL +0x00007ff9e4f60000 - 0x00007ff9e4f8a000 C:\Windows\SYSTEM32\dbgcore.DLL +0x00007ff9e64f0000 - 0x00007ff9e64fe000 C:\Program Files\Java\jdk-17\bin\instrument.dll +0x00007ff9d7820000 - 0x00007ff9d7845000 C:\Program Files\Java\jdk-17\bin\java.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Java\jdk-17\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.1879_none_de7416585348d805;C:\Program Files\Java\jdk-17\bin\server + +VM Arguments: +jvm_args: -XX:TieredStopAtLevel=1 -Dspring.profiles.active=dev -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dmanagement.endpoints.jmx.exposure.include=* -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.4\lib\idea_rt.jar=56128:C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.4\bin -Dfile.encoding=UTF-8 +java_command: org.springblade.system.SystemApplication +java_class_path (initial): E:\kongxz\MyProject\bladex\blade-service\blade-system\target\classes;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-boot\4.9.0.RELEASE\blade-core-boot-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-context\4.9.0.RELEASE\blade-core-context-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-db\4.9.0.RELEASE\blade-core-db-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\3.5.13\spring-boot-starter-jdbc-3.5.13.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\zaxxer\HikariCP\6.3.3\HikariCP-6.3.3.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\spring-jdbc\6.2.17\spring-jdbc-6.2.17.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\spring-tx\6.2.17\spring-tx-6.2.17.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\baomidou\mybatis-plus-spring-boot3-starter\3.5.14\mybatis-plus-spring-boot3-starter-3.5.14.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\3.5.13\spring-boot-autoconfigure-3.5.13.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\alibaba\druid-spring-boot-3-starter\1.2.28\druid-spring-boot-3-starter-1.2.28.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\mysql\mysql-connector-j\9.4.0\mysql-connector-j-9.4.0.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\google\protobuf\protobuf-java\4.31.1\protobuf-java-4.31.1.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-secure\4.9.0.RELEASE\blade-core-secure-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-cloud\4.9.0.RELEASE\blade-core-cloud-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\de\codecentric\spring-boot-admin-starter-client\3.5.8\spring-boot-admin-starter-client-3.5.8.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\de\codecentric\spring-boot-admin-client\3.5.8\spring-boot-admin-client-3.5.8.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\boot\spring-boot-starter-actuator\3.5.13\spring-boot-starter-actuator-3.5.13.jar;C:\Users\¿×ÏéÕ÷\.m2\re +Launcher Type: SUN_STANDARD + +[Global flags] + intx CICompilerCount = 4 {product} {ergonomic} + uint ConcGCThreads = 2 {product} {ergonomic} + uint G1ConcRefinementThreads = 8 {product} {ergonomic} + size_t G1HeapRegionSize = 4194304 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 536870912 {product} {ergonomic} + bool ManagementServer = true {product} {command line} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 8589934592 {product} {ergonomic} + size_t MinHeapDeltaBytes = 4194304 {product} {ergonomic} + size_t MinHeapSize = 8388608 {product} {ergonomic} + uintx NonProfiledCodeHeapSize = 0 {pd product} {ergonomic} + bool ProfileInterpreter = false {pd product} {command line} + uintx ProfiledCodeHeapSize = 0 {pd product} {ergonomic} + size_t SoftMaxHeapSize = 8589934592 {manageable} {ergonomic} + intx TieredStopAtLevel = 1 {product} {command line} + bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} + bool UseCompressedOops = true {product lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=C:\Program Files\Java\jdk +PATH=C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\maven\bin;C:\Program Files\Java\jdk\bin;E:\lishuo\nodejs\;C:\Users\¿×ÏéÕ÷\AppData\Local\Microsoft\WindowsApps; +USERNAME=¿×ÏéÕ÷ +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 85 Stepping 4, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: + Windows Server 2019 , 64 bit Build 17763 (10.0.17763.1879) +OS uptime: 49 days 21:24 hours +KVM virtualization detected + +CPU: total 8 (initial active 8) (1 cores per cpu, 1 threads per core) family 6 model 85 stepping 4 microcode 0x1, cx8, cmov, fxsr, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, avx, avx2, aes, erms, clmul, bmi1, bmi2, rtm, adx, fma, vzeroupper, clflush, clflushopt, clwb, hv + +Memory: 4k page, system-wide physical 32767M (2136M free) +TotalPageFile size 45498M (AvailPageFile size 96M) +current process WorkingSet (physical memory assigned to process): 10M, peak: 10M +current process commit charge ("private bytes"): 56M, peak: 568M + +vm_info: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207) for windows-amd64 JRE (17.0.11+7-LTS-207), built on Mar 11 2024 19:01:50 by "mach5one" with MS VC++ 17.6 (VS2022) + +END. diff --git a/hs_err_pid4796.mdmp b/hs_err_pid4796.mdmp new file mode 100644 index 0000000..e69de29 diff --git a/hs_err_pid6156.log b/hs_err_pid6156.log new file mode 100644 index 0000000..30b9159 --- /dev/null +++ b/hs_err_pid6156.log @@ -0,0 +1,220 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (mmap) failed to map 536870912 bytes for G1 virtual space +# Possible reasons: +# The system is out of physical RAM or swap space +# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# JVM is running with Zero Based Compressed Oops mode in which the Java heap is +# placed in the first 32GB address space. The Java Heap base address is the +# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress +# to set the Java Heap base and to place the Java Heap above 32GB virtual address. +# This output file may be truncated or incomplete. +# +# Out of Memory Error (os_windows.cpp:3548), pid=6156, tid=11040 +# +# JRE version: (17.0.11+7) (build ) +# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207, mixed mode, emulated-client, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) +# Core dump will be written. Default location: E:\kongxz\MyProject\bladex\hs_err_pid6156.mdmp +# + +--------------- S U M M A R Y ------------ + +Command Line: -XX:TieredStopAtLevel=1 -Dspring.profiles.active=dev -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dmanagement.endpoints.jmx.exposure.include=* -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.4\lib\idea_rt.jar=55955:C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.4\bin -Dfile.encoding=UTF-8 org.springblade.system.SystemApplication + +Host: Intel Xeon Processor (Skylake, IBRS), 8 cores, 31G, Windows Server 2019 , 64 bit Build 17763 (10.0.17763.1879) +Time: Tue Jun 30 09:07:39 2026 Öйú±ê׼ʱ¼ä elapsed time: 0.034086 seconds (0d 0h 0m 0s) + +--------------- T H R E A D --------------- + +Current thread (0x0000026039389790): JavaThread "Unknown thread" [_thread_in_vm, id=11040, stack(0x000000ad98400000,0x000000ad98500000)] + +Stack: [0x000000ad98400000,0x000000ad98500000] +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x679cca] +V [jvm.dll+0x7da13d] +V [jvm.dll+0x7dba83] +V [jvm.dll+0x7dc0f3] +V [jvm.dll+0x2449af] +V [jvm.dll+0x676ce9] +V [jvm.dll+0x66b852] +V [jvm.dll+0x3018d6] +V [jvm.dll+0x308e76] +V [jvm.dll+0x3596ee] +V [jvm.dll+0x35991f] +V [jvm.dll+0x2d89a8] +V [jvm.dll+0x2d9914] +V [jvm.dll+0x7ac6b1] +V [jvm.dll+0x366f61] +V [jvm.dll+0x78b609] +V [jvm.dll+0x3ec22f] +V [jvm.dll+0x3ede61] +C [jli.dll+0x5297] +C [ucrtbase.dll+0x2268a] +C [KERNEL32.DLL+0x17974] +C [ntdll.dll+0x5a2f1] + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x00007ff9716c7a18, length=0, elements={ +} + +Java Threads: ( => current thread ) + +Other Threads: + 0x0000026056df19b0 GCTaskThread "GC Thread#0" [stack: 0x000000ad98500000,0x000000ad98600000] [id=10360] + 0x0000026039406240 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000ad98600000,0x000000ad98700000] [id=9352] + 0x0000026039406c50 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000ad98700000,0x000000ad98800000] [id=42688] + +[error occurred during error reporting (printing all threads), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff970ef9497] + +VM state: not at safepoint (not fully initialized) + +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) +[0x0000026039385f10] Heap_lock - owner thread: 0x0000026039389790 + +Heap address: 0x0000000600000000, size: 8192 MB, Compressed Oops mode: Zero based, Oop shift amount: 3 + +CDS archive(s) mapped at: [0x0000000000000000-0x0000000000000000-0x0000000000000000), size 0, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 1. +Narrow klass base: 0x0000000000000000, Narrow klass shift: 0, Narrow klass range: 0x0 + +GC Precious Log: + + +Heap: + garbage-first heap total 0K, used 0K [0x0000000600000000, 0x0000000800000000) + region size 4096K, 0 young (0K), 0 survivors (0K) + +[error occurred during error reporting (printing heap information), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff9712e3559] + +GC Heap History (0 events): +No events + +Deoptimization events (0 events): +No events + +Classes unloaded (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (0 events): +No events + +VM Operations (0 events): +No events + +Events (1 events): +Event: 0.017 Loaded shared library C:\Program Files\Java\jdk-17\bin\java.dll + + +Dynamic libraries: +0x00007ff6b2a10000 - 0x00007ff6b2a20000 C:\Program Files\Java\jdk-17\bin\java.exe +0x00007ff9f7660000 - 0x00007ff9f784c000 C:\Windows\SYSTEM32\ntdll.dll +0x00007ff9f4bb0000 - 0x00007ff9f4c63000 C:\Windows\System32\KERNEL32.DLL +0x00007ff9f3a40000 - 0x00007ff9f3cd4000 C:\Windows\System32\KERNELBASE.dll +0x00007ff9f3ed0000 - 0x00007ff9f3fca000 C:\Windows\System32\ucrtbase.dll +0x00007ff9d97e0000 - 0x00007ff9d97fb000 C:\Program Files\Java\jdk-17\bin\VCRUNTIME140.dll +0x00007ff9d99d0000 - 0x00007ff9d99e9000 C:\Program Files\Java\jdk-17\bin\jli.dll +0x00007ff9f5560000 - 0x00007ff9f5603000 C:\Windows\System32\ADVAPI32.dll +0x00007ff9f4df0000 - 0x00007ff9f4e8e000 C:\Windows\System32\msvcrt.dll +0x00007ff9f7460000 - 0x00007ff9f74fe000 C:\Windows\System32\sechost.dll +0x00007ff9f4eb0000 - 0x00007ff9f4fcf000 C:\Windows\System32\RPCRT4.dll +0x00007ff9f53c0000 - 0x00007ff9f5557000 C:\Windows\System32\USER32.dll +0x00007ff9f37a0000 - 0x00007ff9f37c0000 C:\Windows\System32\win32u.dll +0x00007ff9f4b80000 - 0x00007ff9f4ba9000 C:\Windows\System32\GDI32.dll +0x00007ff9f37f0000 - 0x00007ff9f398c000 C:\Windows\System32\gdi32full.dll +0x00007ff9f4020000 - 0x00007ff9f40c0000 C:\Windows\System32\msvcp_win.dll +0x00007ff9e51b0000 - 0x00007ff9e5429000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.1879_none_de7416585348d805\COMCTL32.dll +0x00007ff9f5090000 - 0x00007ff9f53bd000 C:\Windows\System32\combase.dll +0x00007ff9e9540000 - 0x00007ff9e954a000 C:\Windows\SYSTEM32\VERSION.dll +0x00007ff9f4810000 - 0x00007ff9f488f000 C:\Windows\System32\bcryptPrimitives.dll +0x00007ff9f49e0000 - 0x00007ff9f4a0e000 C:\Windows\System32\IMM32.DLL +0x00007ff9dcc00000 - 0x00007ff9dcc0c000 C:\Program Files\Java\jdk-17\bin\vcruntime140_1.dll +0x00007ff9863f0000 - 0x00007ff98647e000 C:\Program Files\Java\jdk-17\bin\msvcp140.dll +0x00007ff970c10000 - 0x00007ff9717f0000 C:\Program Files\Java\jdk-17\bin\server\jvm.dll +0x00007ff9f7500000 - 0x00007ff9f7508000 C:\Windows\System32\PSAPI.DLL +0x00007ff9dd980000 - 0x00007ff9dd989000 C:\Windows\SYSTEM32\WSOCK32.dll +0x00007ff9f1750000 - 0x00007ff9f1774000 C:\Windows\SYSTEM32\WINMM.dll +0x00007ff9f75c0000 - 0x00007ff9f762d000 C:\Windows\System32\ws2_32.DLL +0x00007ff9f1720000 - 0x00007ff9f174d000 C:\Windows\SYSTEM32\WINMMBASE.dll +0x00007ff9f3fd0000 - 0x00007ff9f401a000 C:\Windows\System32\cfgmgr32.dll +0x00007ff9f3650000 - 0x00007ff9f3661000 C:\Windows\System32\kernel.appcore.dll +0x00007ff9db400000 - 0x00007ff9db40a000 C:\Program Files\Java\jdk-17\bin\jimage.dll +0x00007ff9e5900000 - 0x00007ff9e5aed000 C:\Windows\SYSTEM32\DBGHELP.DLL +0x00007ff9e4f60000 - 0x00007ff9e4f8a000 C:\Windows\SYSTEM32\dbgcore.DLL +0x00007ff9e64f0000 - 0x00007ff9e64fe000 C:\Program Files\Java\jdk-17\bin\instrument.dll +0x00007ff9d7820000 - 0x00007ff9d7845000 C:\Program Files\Java\jdk-17\bin\java.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Java\jdk-17\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.1879_none_de7416585348d805;C:\Program Files\Java\jdk-17\bin\server + +VM Arguments: +jvm_args: -XX:TieredStopAtLevel=1 -Dspring.profiles.active=dev -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dmanagement.endpoints.jmx.exposure.include=* -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.4\lib\idea_rt.jar=55955:C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.4\bin -Dfile.encoding=UTF-8 +java_command: org.springblade.system.SystemApplication +java_class_path (initial): E:\kongxz\MyProject\bladex\blade-service\blade-system\target\classes;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-boot\4.9.0.RELEASE\blade-core-boot-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-context\4.9.0.RELEASE\blade-core-context-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-db\4.9.0.RELEASE\blade-core-db-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\3.5.13\spring-boot-starter-jdbc-3.5.13.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\zaxxer\HikariCP\6.3.3\HikariCP-6.3.3.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\spring-jdbc\6.2.17\spring-jdbc-6.2.17.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\spring-tx\6.2.17\spring-tx-6.2.17.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\baomidou\mybatis-plus-spring-boot3-starter\3.5.14\mybatis-plus-spring-boot3-starter-3.5.14.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\3.5.13\spring-boot-autoconfigure-3.5.13.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\alibaba\druid-spring-boot-3-starter\1.2.28\druid-spring-boot-3-starter-1.2.28.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\mysql\mysql-connector-j\9.4.0\mysql-connector-j-9.4.0.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\com\google\protobuf\protobuf-java\4.31.1\protobuf-java-4.31.1.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-secure\4.9.0.RELEASE\blade-core-secure-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springblade\blade-core-cloud\4.9.0.RELEASE\blade-core-cloud-4.9.0.RELEASE.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\de\codecentric\spring-boot-admin-starter-client\3.5.8\spring-boot-admin-starter-client-3.5.8.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\de\codecentric\spring-boot-admin-client\3.5.8\spring-boot-admin-client-3.5.8.jar;C:\Users\¿×ÏéÕ÷\.m2\repository\org\springframework\boot\spring-boot-starter-actuator\3.5.13\spring-boot-starter-actuator-3.5.13.jar;C:\Users\¿×ÏéÕ÷\.m2\re +Launcher Type: SUN_STANDARD + +[Global flags] + intx CICompilerCount = 4 {product} {ergonomic} + uint ConcGCThreads = 2 {product} {ergonomic} + uint G1ConcRefinementThreads = 8 {product} {ergonomic} + size_t G1HeapRegionSize = 4194304 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 536870912 {product} {ergonomic} + bool ManagementServer = true {product} {command line} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 8589934592 {product} {ergonomic} + size_t MinHeapDeltaBytes = 4194304 {product} {ergonomic} + size_t MinHeapSize = 8388608 {product} {ergonomic} + uintx NonProfiledCodeHeapSize = 0 {pd product} {ergonomic} + bool ProfileInterpreter = false {pd product} {command line} + uintx ProfiledCodeHeapSize = 0 {pd product} {ergonomic} + size_t SoftMaxHeapSize = 8589934592 {manageable} {ergonomic} + intx TieredStopAtLevel = 1 {product} {command line} + bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} + bool UseCompressedOops = true {product lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=C:\Program Files\Java\jdk +PATH=C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\maven\bin;C:\Program Files\Java\jdk\bin;E:\lishuo\nodejs\;C:\Users\¿×ÏéÕ÷\AppData\Local\Microsoft\WindowsApps; +USERNAME=¿×ÏéÕ÷ +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 85 Stepping 4, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: + Windows Server 2019 , 64 bit Build 17763 (10.0.17763.1879) +OS uptime: 49 days 21:22 hours +KVM virtualization detected + +CPU: total 8 (initial active 8) (1 cores per cpu, 1 threads per core) family 6 model 85 stepping 4 microcode 0x1, cx8, cmov, fxsr, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, avx, avx2, aes, erms, clmul, bmi1, bmi2, rtm, adx, fma, vzeroupper, clflush, clflushopt, clwb, hv + +Memory: 4k page, system-wide physical 32767M (2450M free) +TotalPageFile size 45498M (AvailPageFile size 407M) +current process WorkingSet (physical memory assigned to process): 10M, peak: 10M +current process commit charge ("private bytes"): 55M, peak: 567M + +vm_info: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207) for windows-amd64 JRE (17.0.11+7-LTS-207), built on Mar 11 2024 19:01:50 by "mach5one" with MS VC++ 17.6 (VS2022) + +END. diff --git a/hs_err_pid6156.mdmp b/hs_err_pid6156.mdmp new file mode 100644 index 0000000..e69de29