Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jeecg-workflow
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jeecg-workflow
Commits
3b7af128
Commit
3b7af128
authored
May 05, 2023
by
赵剑炜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
整理代码,未测试
parent
276e7527
隐藏空白字符变更
内嵌
并排
正在显示
105 个修改的文件
包含
806 行增加
和
287 行删除
+806
-287
db_key_app.sql
db/db_key_app.sql
+3
-1
pom.xml
jeecg-module-process/pom.xml
+1
-0
CommonConstants.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/common/CommonConstants.java
+1
-1
R.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/common/R.java
+1
-1
Result.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/common/Result.java
+1
-1
WorkFlowConstants.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/common/WorkFlowConstants.java
+1
-1
ActivitiConfig.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/config/ActivitiConfig.java
+3
-3
IdWorkerConfig.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/config/IdWorkerConfig.java
+2
-2
MainProcessController.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/controller/MainProcessController.java
+17
-14
OrgUserAndDeptController.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/controller/OrgUserAndDeptController.java
+7
-2
SettingController.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/controller/SettingController.java
+10
-8
WorkspaceProcessController.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/controller/WorkspaceProcessController.java
+88
-17
ApplyDTO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/ApplyDTO.java
+2
-2
AttachmentDTO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/AttachmentDTO.java
+1
-1
FlowDTO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/FlowDTO.java
+15
-1
FlowEngineDTO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/FlowEngineDTO.java
+1
-1
HandleDataDTO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/HandleDataDTO.java
+2
-2
PageDTO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/PageDTO.java
+1
-1
StartProcessInstanceDTO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/StartProcessInstanceDTO.java
+2
-2
TaskDTO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/TaskDTO.java
+2
-2
ChildNode.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/ChildNode.java
+2
-1
ConditionInfo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/ConditionInfo.java
+1
-1
EmailInfo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/EmailInfo.java
+1
-1
FormItem.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/FormItem.java
+1
-1
FormItemProps.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/FormItemProps.java
+1
-1
FormOperates.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/FormOperates.java
+1
-1
GroupsInfo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/GroupsInfo.java
+1
-1
HttpInfo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/HttpInfo.java
+1
-1
LogoInfo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/LogoInfo.java
+1
-1
NotifyType.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/NotifyType.java
+1
-1
NotifyTypeInfo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/NotifyTypeInfo.java
+1
-1
Properties.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/Properties.java
+1
-1
SettingsInfo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/SettingsInfo.java
+1
-1
UserInfo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/UserInfo.java
+1
-1
FlowApproverGroups.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowApproverGroups.java
+16
-2
FlowChildNode.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowChildNode.java
+17
-11
FlowConditionGroup.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowConditionGroup.java
+20
-0
FlowConditionNodes.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowConditionNodes.java
+21
-1
FlowNode.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowNode.java
+3
-1
Inout.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/Inout.java
+11
-0
Departments.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/Departments.java
+1
-1
FormGroups.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/FormGroups.java
+1
-1
Process.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/Process.java
+1
-1
ProcessTemplates.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/ProcessTemplates.java
+1
-1
TemplateGroup.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/TemplateGroup.java
+1
-1
TemplateGroupBo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/TemplateGroupBo.java
+1
-1
Users.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/Users.java
+1
-1
AssigneeTypeEnums.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/enums/AssigneeTypeEnums.java
+1
-1
ModeEnums.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/enums/ModeEnums.java
+1
-1
GlobalExceptionHandlerResolver.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/exception/GlobalExceptionHandlerResolver.java
+2
-2
WorkFlowException.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/exception/WorkFlowException.java
+1
-1
CustomJobCmd.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/job/CustomJobCmd.java
+1
-1
CustomJobHandler.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/job/CustomJobHandler.java
+1
-1
IdWorkerIdGenerator.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/job/IdWorkerIdGenerator.java
+3
-3
CounterSignListener.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/CounterSignListener.java
+8
-8
ProcessListener.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/ProcessListener.java
+3
-3
ServiceListener.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/ServiceListener.java
+1
-1
TaskCreatedListener.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/TaskCreatedListener.java
+1
-1
TimerListener.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/TimerListener.java
+1
-1
DepartmentsMapper.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/DepartmentsMapper.java
+2
-3
FormGroupsMapper.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/FormGroupsMapper.java
+2
-2
ProcessTemplatesMapper.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/ProcessTemplatesMapper.java
+2
-2
TemplateGroupMapper.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/TemplateGroupMapper.java
+3
-3
UsersMapper.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/UsersMapper.java
+2
-2
OrgUserAndDeptService.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/OrgUserAndDeptService.java
+1
-1
SettingService.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/SettingService.java
+10
-4
WorkProcessService.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/WorkProcessService.java
+15
-11
OrgUserAndDeptServiceImpl.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/impl/OrgUserAndDeptServiceImpl.java
+8
-9
SettingServiceImpl.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/impl/SettingServiceImpl.java
+20
-23
WorkProcessServiceImpl.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/impl/WorkProcessServiceImpl.java
+232
-18
DepartmentsService.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/DepartmentsService.java
+2
-2
FormGroupService.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/FormGroupService.java
+2
-2
ProcessTemplateService.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/ProcessTemplateService.java
+2
-2
TemplateGroupService.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/TemplateGroupService.java
+2
-2
UserService.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/UserService.java
+2
-2
WorkspaceProcessService.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/WorkspaceProcessService.java
+1
-1
DepartmentsServiceImpl.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/DepartmentsServiceImpl.java
+4
-4
FormGroupServiceImpl.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/FormGroupServiceImpl.java
+4
-4
ProcessTemplateServiceImpl.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/ProcessTemplateServiceImpl.java
+4
-4
TemplateGroupServiceImpl.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/TemplateGroupServiceImpl.java
+4
-4
UserServiceImpl.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/UserServiceImpl.java
+4
-4
WorkspaceProcessServiceImpl.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/WorkspaceProcessServiceImpl.java
+3
-3
BpmnModelUtils.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/BpmnModelUtils.java
+121
-14
DateUtils.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/DateUtils.java
+1
-1
ExUtils.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/ExUtils.java
+2
-2
FileUtil.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/FileUtil.java
+1
-1
IdWorker.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/IdWorker.java
+1
-1
ServletUtil.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/ServletUtil.java
+1
-1
SpringContextHolderV2.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/SpringContextHolderV2.java
+1
-1
XSSEscape.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/XSSEscape.java
+1
-1
AttachmentVO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/AttachmentVO.java
+1
-1
CommentVO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/CommentVO.java
+1
-1
HandleDataVO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/HandleDataVO.java
+3
-3
HistoryProcessInstanceVO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/HistoryProcessInstanceVO.java
+2
-2
MultiVO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/MultiVO.java
+1
-1
OptionVO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/OptionVO.java
+1
-1
OrgTreeVo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/OrgTreeVo.java
+1
-1
ProcessInstanceDetailVO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/ProcessInstanceDetailVO.java
+2
-2
TaskDetailVO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/TaskDetailVO.java
+1
-1
TaskVO.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/TaskVO.java
+2
-2
TemplateGroupVo.java
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/TemplateGroupVo.java
+1
-1
LoginController.java
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
+7
-7
SysUserTenantMapper.xml
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserTenantMapper.xml
+1
-0
application-dev.yml
jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml
+5
-5
pom.xml
pom.xml
+22
-2
没有找到文件。
db/db_key_app.sql
View file @
3b7af128
...
...
@@ -11,7 +11,7 @@
Target Server Version : 80032
File Encoding : 65001
Date: 26/04/2023 1
3:56:28
Date: 26/04/2023 1
7:15:19
*/
SET
NAMES
utf8mb4
;
...
...
@@ -2311,3 +2311,5 @@ INSERT INTO `users` VALUES (489564, '李秋香', 'liqiuxiang', '李秋香', NULL
INSERT
INTO
`users`
VALUES
(
568898
,
'王翠花'
,
'wangcuihua'
,
'王翠花'
,
NULL
,
NULL
,
'4319868'
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`users`
VALUES
(
6418616
,
'张三'
,
'zhangsan'
,
'张三'
,
NULL
,
NULL
,
'6179678'
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`users`
VALUES
(
61769798
,
'李四'
,
'lisi'
,
'李四'
,
NULL
,
NULL
,
'231535'
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
SET
FOREIGN_KEY_CHECKS
=
1
;
jeecg-module-process/pom.xml
View file @
3b7af128
...
...
@@ -17,6 +17,7 @@
<groupId>
org.jeecgframework.boot
</groupId>
<artifactId>
jeecg-boot-base-core
</artifactId>
</dependency>
</dependencies>
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/common/CommonConstants.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
common
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
common
;
/**
*/
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/common/R.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
common
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
common
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/common/Result.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
common
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
common
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
io.swagger.annotations.ApiModel
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/common/WorkFlowConstants.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
common
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
common
;
/**
* @author LoveMyOrange
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/config/ActivitiConfig.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
config
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
config
;
import
org.jeecg.module.junmpProcess.job.CustomJobHandler
;
import
org.jeecg.module.junmpProcess.job.IdWorkerIdGenerator
;
import
org.flowable.engine.ProcessEngineConfiguration
;
import
org.flowable.engine.cfg.HttpClientConfig
;
import
org.flowable.engine.impl.cfg.DelegateExpressionFieldInjectionMode
;
import
org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl
;
import
org.flowable.job.service.JobHandler
;
import
org.flowable.spring.SpringProcessEngineConfiguration
;
import
org.jeecg.modules.junmpProcess.job.CustomJobHandler
;
import
org.jeecg.modules.junmpProcess.job.IdWorkerIdGenerator
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/config/IdWorkerConfig.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
config
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
config
;
import
org.jeecg.module.junmpProcess.utils.IdWorker
;
import
org.jeecg.module
s
.junmpProcess.utils.IdWorker
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/controller/MainProcessController.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
controller
;
import
org.jeecg.module.junmpProcess.common.Result
;
import
org.jeecg.module.junmpProcess.dto.ApplyDTO
;
import
org.jeecg.module.junmpProcess.dto.HandleDataDTO
;
import
org.jeecg.module.junmpProcess.dto.StartProcessInstanceDTO
;
import
org.jeecg.module.junmpProcess.dto.TaskDTO
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.module.junmpProcess.service.Bussiness.WorkProcessService
;
package
org
.
jeecg
.
modules
.
junmpProcess
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.jeecg.common.aspect.annotation.PermissionData
;
import
org.jeecg.module.junmpProcess.vo.HandleDataVO
;
import
org.jeecg.module.junmpProcess.vo.HistoryProcessInstanceVO
;
import
org.jeecg.module.junmpProcess.vo.MultiVO
;
import
org.jeecg.module.junmpProcess.vo.TaskVO
;
import
org.jeecg.modules.junmpProcess.common.Result
;
import
org.jeecg.modules.junmpProcess.dto.ApplyDTO
;
import
org.jeecg.modules.junmpProcess.dto.HandleDataDTO
;
import
org.jeecg.modules.junmpProcess.dto.StartProcessInstanceDTO
;
import
org.jeecg.modules.junmpProcess.dto.TaskDTO
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.modules.junmpProcess.service.Bussiness.WorkProcessService
;
import
org.jeecg.modules.junmpProcess.vo.HandleDataVO
;
import
org.jeecg.modules.junmpProcess.vo.HistoryProcessInstanceVO
;
import
org.jeecg.modules.junmpProcess.vo.MultiVO
;
import
org.jeecg.modules.junmpProcess.vo.TaskVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -41,6 +39,11 @@ public class MainProcessController {
return
ProcessService
.
detail
(
templateId
);
}
@ApiOperation
(
"新建流程"
)
@PostMapping
(
"process/create"
)
public
Result
<
Object
>
create
(
@RequestBody
StartProcessInstanceDTO
startProcessInstanceDTO
){
return
ProcessService
.
start
(
startProcessInstanceDTO
);
}
@ApiOperation
(
"通过流程定义id启动流程"
)
@PostMapping
(
"process/start"
)
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/controller/OrgUserAndDeptController.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
controller
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
controller
;
import
org.jeecg.module.junmpProcess.service.Bussiness.OrgUserAndDeptService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.jeecg.common.aspect.annotation.PermissionData
;
import
org.jeecg.modules.junmpProcess.service.Bussiness.OrgUserAndDeptService
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
...
...
@@ -26,7 +28,9 @@ public class OrgUserAndDeptController {
* @param deptId 部门id
* @return 组织架构树数据
*/
@ApiOperation
(
"查询组织架构树"
)
@GetMapping
(
"tree"
)
// @PermissionData(pageComponent = "jeecg/JeecgDemoList")
public
Object
getOrgTreeData
(
@RequestParam
(
defaultValue
=
"0"
)
Integer
deptId
,
@RequestParam
(
defaultValue
=
"user"
)
String
type
){
...
...
@@ -38,6 +42,7 @@ public class OrgUserAndDeptController {
* @param userName 用户名/拼音/首字母
* @return 匹配到的用户
*/
@ApiOperation
(
"模糊搜索用户"
)
@GetMapping
(
"tree/search"
)
public
Object
getOrgTreeUser
(
@RequestParam
String
userName
){
return
orgService
.
getOrgTreeUser
(
userName
.
trim
());
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/controller/SettingController.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
controller
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
controller
;
import
org.jeecg.module.junmpProcess.common.R
;
import
org.jeecg.module.junmpProcess.dto.FlowEngineDTO
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.module.junmpProcess.service.Bussiness.SettingService
;
import
org.jeecg.module.junmpProcess.vo.TemplateGroupVo
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.jeecg.modules.junmpProcess.common.R
;
import
org.jeecg.modules.junmpProcess.dto.FlowEngineDTO
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.modules.junmpProcess.service.Bussiness.SettingService
;
import
org.jeecg.modules.junmpProcess.vo.TemplateGroupVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -18,9 +17,12 @@ import java.util.List;
* @author : willian fu
* @date : 2020/9/17
*/
@Slf4j
@RestController
@RequestMapping
(
"/Setting"
)
@Api
(
tags
=
"和表单有关的接口"
)
public
class
SettingController
{
@Autowired
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/controller/WorkspaceProcessController.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
controller
;
import
org.jeecg.module.junmpProcess.common.Result
;
import
org.jeecg.module.junmpProcess.dto.*
;
import
org.jeecg.module.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.module.junmpProcess.dto.json.FormOperates
;
import
org.jeecg.module.junmpProcess.dto.json.SettingsInfo
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.module.junmpProcess.exception.WorkFlowException
;
import
org.jeecg.module.junmpProcess.service.Repository.ProcessTemplateService
;
import
org.jeecg.module.junmpProcess.service.Repository.UserService
;
package
org
.
jeecg
.
modules
.
junmpProcess
.
controller
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.map.MapUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -31,6 +21,7 @@ import org.flowable.engine.TaskService;
import
org.flowable.engine.history.HistoricActivityInstance
;
import
org.flowable.engine.history.HistoricProcessInstance
;
import
org.flowable.engine.impl.persistence.entity.ExecutionEntity
;
import
org.flowable.engine.repository.Model
;
import
org.flowable.engine.repository.ProcessDefinition
;
import
org.flowable.engine.runtime.Execution
;
import
org.flowable.engine.runtime.ProcessInstance
;
...
...
@@ -40,16 +31,27 @@ import org.flowable.engine.task.Comment;
import
org.flowable.task.api.DelegationState
;
import
org.flowable.task.api.Task
;
import
org.flowable.task.api.history.HistoricTaskInstance
;
import
org.jeecg.module.junmpProcess.vo.*
;
import
org.jeecg.modules.junmpProcess.common.Result
;
import
org.jeecg.modules.junmpProcess.dto.*
;
import
org.jeecg.modules.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.modules.junmpProcess.dto.json.FormOperates
;
import
org.jeecg.modules.junmpProcess.dto.json.SettingsInfo
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.modules.junmpProcess.exception.WorkFlowException
;
import
org.jeecg.modules.junmpProcess.service.Repository.ProcessTemplateService
;
import
org.jeecg.modules.junmpProcess.service.Repository.UserService
;
import
org.jeecg.modules.junmpProcess.vo.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.io.UnsupportedEncodingException
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
common
.
CommonConstants
.*;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
common
.
WorkFlowConstants
.
PROCESS_PREFIX
;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
utils
.
BpmnModelUtils
.
getChildNode
;
import
static
org
.
jeecg
.
module
s
.
junmpProcess
.
common
.
CommonConstants
.*;
import
static
org
.
jeecg
.
module
s
.
junmpProcess
.
common
.
WorkFlowConstants
.
PROCESS_PREFIX
;
import
static
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
.
BpmnModelUtils
.
getChildNode
;
/**
* @author : willian fu
...
...
@@ -626,6 +628,75 @@ public class WorkspaceProcessController {
}
return
Result
.
OK
();
}
/**
* 添加流程模型并返回modelId
*
* @param processId 流程唯一标识key
* @param processAuthor 流程作者
* @param name 流程名称
* @param modelname 模型名称
* @param description 模型描述
* @param category 模型分类
* @return
* @throws UnsupportedEncodingException
*/
protected
String
createModel
(
String
processId
,
String
processAuthor
,
String
name
,
String
modelname
,
String
description
,
String
category
)
throws
UnsupportedEncodingException
{
ObjectMapper
objectMapper
=
new
ObjectMapper
();
ObjectNode
editorNode
=
objectMapper
.
createObjectNode
();
editorNode
.
put
(
"id"
,
"canvs"
);
editorNode
.
put
(
"resourceId"
,
"canvs"
);
ObjectNode
stencilSetNode
=
objectMapper
.
createObjectNode
();
//命名空间(禁止修改)
stencilSetNode
.
put
(
"namespace"
,
"http://b3mn.org/stencilset/bpmn2.0#"
);
//流程节点作者
stencilSetNode
.
put
(
"author"
,
""
);
editorNode
.
set
(
"stencilset"
,
stencilSetNode
);
ObjectNode
propertiesNode
=
objectMapper
.
createObjectNode
();
//流程唯一标识
propertiesNode
.
put
(
"process_id"
,
processId
);
//流程作者
propertiesNode
.
put
(
"process_author"
,
processAuthor
);
//流程名称
propertiesNode
.
put
(
"name"
,
name
);
editorNode
.
set
(
"properties"
,
propertiesNode
);
ObjectNode
modelObjectNode
=
objectMapper
.
createObjectNode
();
//模型名称
modelObjectNode
.
put
(
"name"
,
modelname
);
//模型版本
modelObjectNode
.
put
(
"revision"
,
1
);
//模型描述
modelObjectNode
.
put
(
"description"
,
description
);
Model
modelData
=
repositoryService
.
newModel
();
//模型分类
modelData
.
setCategory
(
category
);
modelData
.
setDeploymentId
(
null
);
modelData
.
setKey
(
null
);
modelData
.
setMetaInfo
(
modelObjectNode
.
toString
());
//模型名称
modelData
.
setName
(
modelname
);
modelData
.
setTenantId
(
""
);
modelData
.
setVersion
(
1
);
//保存模型,存储数据到表:act_re_model 流程设计模型部署表
repositoryService
.
saveModel
(
modelData
);
//保存资源,存储数据到表:act_ge_bytearray 二进制数据表
repositoryService
.
addModelEditorSource
(
modelData
.
getId
(),
editorNode
.
toString
().
getBytes
(
"utf-8"
));
return
modelData
.
getId
();
}
@ApiOperation
(
"评论按钮"
)
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/ApplyDTO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
/**
* @author LoveMyOrange
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/AttachmentDTO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/FlowDTO.java
View file @
3b7af128
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
;
public
class
FlowDto
{
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
;
import
lombok.Data
;
/**
* 流程DTO
*/
@Data
public
class
FlowDTO
{
//表单分类id
private
String
process
;
private
Integer
groupId
;
}
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/FlowEngineDTO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/HandleDataDTO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
com.alibaba.fastjson.JSONObject
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
import
java.util.List
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/PageDTO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/StartProcessInstanceDTO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.Data
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
import
java.util.List
;
import
java.util.Map
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/TaskDTO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
/**
* @author LoveMyOrange
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/ChildNode.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.Data
;
...
...
@@ -33,6 +33,7 @@ public class ChildNode {
private
String
desc
;
private
Properties
props
;
private
ChildNode
children
;
private
List
<
ChildNode
>
branchs
;
private
String
parallelStr
;
private
JSONObject
incoming
=
new
JSONObject
();
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/ConditionInfo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/EmailInfo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/FormItem.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/FormItemProps.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/FormOperates.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/GroupsInfo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/HttpInfo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/LogoInfo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/NotifyType.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/NotifyTypeInfo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/Properties.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/SettingsInfo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/UserInfo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
dto
.
json
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowApproverGroups.java
View file @
3b7af128
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
.
flowJson
;
public
class
FlowApproverGroups
{
}
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
.
flowJson
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
FlowApproverGroups
{
private
String
id
;
private
int
approverType
;
private
int
levelMode
;
private
List
<
String
>
approverIds
;
private
List
<
String
>
approverNames
;
}
\ No newline at end of file
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowChildNode.java
View file @
3b7af128
...
...
@@ -5,19 +5,25 @@ import lombok.Data;
import
org.jeecg.modules.junmpProcess.dto.json.Properties
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
ChildNode
{
public
class
Flow
ChildNode
{
private
String
id
;
private
String
parentId
;
private
String
type
;
private
String
name
;
private
String
desc
;
private
Properties
props
;
private
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
.
ChildNode
children
;
private
List
<
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
.
ChildNode
>
branchs
;
private
String
parallelStr
;
private
JSONObject
incoming
=
new
JSONObject
();
private
Boolean
typeElse
;
private
int
type
;
private
int
status
;
private
FlowChildNode
childNode
;
private
boolean
addable
;
private
List
<
FlowChildNode
>
conditionNodes
;
private
String
pid
;
private
Map
<
String
,
Object
>
attr
;
private
List
<
FlowApproverGroups
>
approverGroups
;
//不确定什么类型
private
List
<
String
>
privileges
;
private
Map
<
String
,
Object
>
configure
;
private
List
<
FlowConditionNodes
>
FlowConditionNodes
;
private
boolean
deletable
;
private
boolean
error
;
private
String
content
;
}
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowConditionGroup.java
0 → 100644
View file @
3b7af128
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
.
flowJson
;
import
lombok.Data
;
@Data
public
class
FlowConditionGroup
{
private
String
id
;
private
String
condition
;
private
String
name
;
private
int
type
;
private
int
status
;
private
boolean
error
;
private
FlowChildNode
childNode
;
private
FlowChildNode
addable
;
private
FlowChildNode
deletable
;
private
int
conditionGroup
;
private
int
attr
;
private
boolean
content
;
}
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowConditionNodes.java
View file @
3b7af128
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
.
flowJson
;
public
class
FlowConditionNodes
{
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
.
flowJson
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
FlowConditionNodes
{
private
String
id
;
private
String
pid
;
private
String
name
;
private
int
type
;
private
int
status
;
private
boolean
error
;
private
FlowChildNode
childNode
;
private
FlowChildNode
addable
;
private
FlowChildNode
deletable
;
private
List
<
FlowConditionGroup
>
conditionGroup
;
private
int
attr
;
private
boolean
content
;
}
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/FlowNode.java
View file @
3b7af128
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
;
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
.
flowJson
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.Data
;
import
org.jeecg.modules.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.modules.junmpProcess.dto.json.Properties
;
import
java.util.List
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/dto/json/flowJson/Inout.java
0 → 100644
View file @
3b7af128
package
org
.
jeecg
.
modules
.
junmpProcess
.
dto
.
json
.
flowJson
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
@Data
@AllArgsConstructor
public
class
Inout
{
private
String
in
;
private
String
out
;
}
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/Departments.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
entity
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/FormGroups.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
entity
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/Process.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
entity
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/ProcessTemplates.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
entity
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/TemplateGroup.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
entity
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/TemplateGroupBo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
entity
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/entity/Users.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
entity
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/enums/AssigneeTypeEnums.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
enums
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
enums
;
/**
* @Author:LoveMyOrange
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/enums/ModeEnums.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
enums
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
enums
;
/**
* @Author:LoveMyOrange
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/exception/GlobalExceptionHandlerResolver.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
exception
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
exception
;
import
org.jeecg.module.junmpProcess.common.R
;
import
lombok.extern.slf4j.Slf4j
;
import
org.jeecg.modules.junmpProcess.common.R
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.validation.BindException
;
import
org.springframework.validation.FieldError
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/exception/WorkFlowException.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
exception
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
exception
;
/**
* 流程异常封装
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/job/CustomJobCmd.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
job
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
job
;
import
com.alibaba.fastjson.JSONObject
;
import
org.flowable.common.engine.impl.interceptor.Command
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/job/CustomJobHandler.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
job
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
job
;
import
com.alibaba.fastjson.JSON
;
import
lombok.extern.slf4j.Slf4j
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/job/IdWorkerIdGenerator.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
job
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
job
;
import
org.jeecg.common.util.SpringContextHolder
;
import
org.jeecg.module.junmpProcess.utils.IdWorker
;
import
org.flowable.common.engine.impl.cfg.IdGenerator
;
import
org.jeecg.common.util.SpringContextHolder
;
import
org.jeecg.modules.junmpProcess.utils.IdWorker
;
import
org.springframework.stereotype.Component
;
/**
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/CounterSignListener.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
listener
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
listener
;
import
org.jeecg.module.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.module.junmpProcess.dto.json.Properties
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
org.jeecg.module.junmpProcess.enums.AssigneeTypeEnums
;
import
org.jeecg.module.junmpProcess.exception.WorkFlowException
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.map.MapUtil
;
import
com.alibaba.fastjson.JSONObject
;
...
...
@@ -14,6 +9,11 @@ import org.flowable.bpmn.model.UserTask;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.delegate.DelegateExecution
;
import
org.flowable.engine.delegate.ExecutionListener
;
import
org.jeecg.modules.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.modules.junmpProcess.dto.json.Properties
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
import
org.jeecg.modules.junmpProcess.enums.AssigneeTypeEnums
;
import
org.jeecg.modules.junmpProcess.exception.WorkFlowException
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
...
...
@@ -21,8 +21,8 @@ import java.util.ArrayList;
import
java.util.List
;
import
java.util.Map
;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
common
.
CommonConstants
.
START_USER_INFO
;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
utils
.
BpmnModelUtils
.
getChildNode
;
import
static
org
.
jeecg
.
module
s
.
junmpProcess
.
common
.
CommonConstants
.
START_USER_INFO
;
import
static
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
.
BpmnModelUtils
.
getChildNode
;
/**
* @author LoveMyOrange
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/ProcessListener.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
listener
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
listener
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.delegate.DelegateExecution
;
...
...
@@ -7,8 +7,8 @@ import org.springframework.stereotype.Component;
import
javax.annotation.Resource
;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
common
.
CommonConstants
.
BUSINESS_STATUS_4
;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
common
.
CommonConstants
.
PROCESS_STATUS
;
import
static
org
.
jeecg
.
module
s
.
junmpProcess
.
common
.
CommonConstants
.
BUSINESS_STATUS_4
;
import
static
org
.
jeecg
.
module
s
.
junmpProcess
.
common
.
CommonConstants
.
PROCESS_STATUS
;
/**
* @author LoveMyOrange
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/ServiceListener.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
listener
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
listener
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.delegate.DelegateExecution
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/TaskCreatedListener.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
listener
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
listener
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.RuntimeService
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/listener/TimerListener.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
listener
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
listener
;
import
lombok.extern.slf4j.Slf4j
;
import
org.flowable.engine.RepositoryService
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/DepartmentsMapper.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
mapper
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
mapper
;
import
org.jeecg.module.junmpProcess.entity.Departments
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.jeecg.modules.junmpProcess.entity.Departments
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/FormGroupsMapper.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
mapper
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
mapper
;
import
org.jeecg.module.junmpProcess.entity.FormGroups
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.jeecg.modules.junmpProcess.entity.FormGroups
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/ProcessTemplatesMapper.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
mapper
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
mapper
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/TemplateGroupMapper.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
mapper
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
mapper
;
import
org.jeecg.module.junmpProcess.entity.TemplateGroup
;
import
org.jeecg.module.junmpProcess.entity.TemplateGroupBo
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Select
;
import
org.jeecg.modules.junmpProcess.entity.TemplateGroup
;
import
org.jeecg.modules.junmpProcess.entity.TemplateGroupBo
;
import
java.util.List
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/mapper/UsersMapper.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
mapper
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
mapper
;
import
org.jeecg.module.junmpProcess.entity.Users
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.jeecg.modules.junmpProcess.entity.Users
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/OrgUserAndDeptService.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Bussiness
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Bussiness
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/SettingService.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Bussiness
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Bussiness
;
import
org.jeecg.module.junmpProcess.dto.FlowEngineDTO
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.module.junmpProcess.vo.TemplateGroupVo
;
import
org.jeecg.module
s
.junmpProcess.dto.FlowEngineDTO
;
import
org.jeecg.module
s
.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.module
s
.junmpProcess.vo.TemplateGroupVo
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.List
;
...
...
@@ -71,5 +71,11 @@ public interface SettingService {
Object
updateFormDetail
(
ProcessTemplates
template
);
/**
* 保存表单
* @param
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
void
jsonToBpmn
(
FlowEngineDTO
flowEngineDTO
)
throws
InvocationTargetException
,
IllegalAccessException
;
}
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/WorkProcessService.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Bussiness
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Bussiness
;
import
org.jeecg.module.junmpProcess.common.Result
;
import
org.jeecg.module.junmpProcess.dto.ApplyDTO
;
import
org.jeecg.module.junmpProcess.dto.HandleDataDTO
;
import
org.jeecg.module.junmpProcess.dto.StartProcessInstanceDTO
;
import
org.jeecg.module.junmpProcess.dto.TaskDTO
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.jeecg.module.junmpProcess.vo.HandleDataVO
;
import
org.jeecg.module.junmpProcess.vo.HistoryProcessInstanceVO
;
import
org.jeecg.module.junmpProcess.vo.MultiVO
;
import
org.jeecg.module.junmpProcess.vo.TaskVO
;
import
org.jeecg.modules.junmpProcess.common.Result
;
import
org.jeecg.modules.junmpProcess.dto.*
;
import
org.jeecg.modules.junmpProcess.dto.json.flowJson.FlowChildNode
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.modules.junmpProcess.vo.HandleDataVO
;
import
org.jeecg.modules.junmpProcess.vo.HistoryProcessInstanceVO
;
import
org.jeecg.modules.junmpProcess.vo.MultiVO
;
import
org.jeecg.modules.junmpProcess.vo.TaskVO
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.List
;
...
...
@@ -19,6 +17,12 @@ import java.util.Map;
public
interface
WorkProcessService
{
/**
* 创建表单
* @return
*/
boolean
createBpmn
(
FlowChildNode
flowdto
);
/**
* 获取用户可见表单
* @return
*/
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/impl/OrgUserAndDeptServiceImpl.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Bussiness
.
impl
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Bussiness
.
impl
;
import
org.jeecg.module.junmpProcess.common.R
;
import
org.jeecg.module.junmpProcess.entity.Departments
;
import
org.jeecg.module.junmpProcess.service.Bussiness.OrgUserAndDeptService
;
import
org.jeecg.module.junmpProcess.service.Repository.DepartmentsService
;
import
org.jeecg.module.junmpProcess.service.Repository.UserService
;
import
org.jeecg.module.junmpProcess.entity.Users
;
import
org.jeecg.module.junmpProcess.vo.OrgTreeVo
;
import
cn.hutool.core.lang.Validator
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
org.jeecg.modules.junmpProcess.common.R
;
import
org.jeecg.modules.junmpProcess.entity.Departments
;
import
org.jeecg.modules.junmpProcess.entity.Users
;
import
org.jeecg.modules.junmpProcess.service.Bussiness.OrgUserAndDeptService
;
import
org.jeecg.modules.junmpProcess.service.Repository.DepartmentsService
;
import
org.jeecg.modules.junmpProcess.service.Repository.UserService
;
import
org.jeecg.modules.junmpProcess.vo.OrgTreeVo
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/impl/SettingServiceImpl.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Bussiness
.
impl
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Bussiness
.
impl
;
import
org.jeecg.common.util.SpringContextHolder
;
import
org.jeecg.module.junmpProcess.common.R
;
import
org.jeecg.module.junmpProcess.common.WorkFlowConstants
;
import
org.jeecg.module.junmpProcess.dto.FlowEngineDTO
;
import
org.jeecg.module.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.module.junmpProcess.dto.json.SettingsInfo
;
import
org.jeecg.module.junmpProcess.entity.FormGroups
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.module.junmpProcess.entity.TemplateGroup
;
import
org.jeecg.module.junmpProcess.entity.TemplateGroupBo
;
import
org.jeecg.module.junmpProcess.exception.WorkFlowException
;
import
org.jeecg.module.junmpProcess.mapper.TemplateGroupMapper
;
import
org.jeecg.module.junmpProcess.service.Bussiness.SettingService
;
import
org.jeecg.module.junmpProcess.service.Repository.FormGroupService
;
import
org.jeecg.module.junmpProcess.service.Repository.ProcessTemplateService
;
import
org.jeecg.module.junmpProcess.service.Repository.TemplateGroupService
;
import
org.jeecg.module.junmpProcess.utils.IdWorker
;
import
org.jeecg.module.junmpProcess.vo.TemplateGroupVo
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson.JSONObject
;
...
...
@@ -34,6 +13,24 @@ import org.flowable.bpmn.model.Process;
import
org.flowable.bpmn.model.*
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.delegate.ExecutionListener
;
import
org.jeecg.common.util.SpringContextHolder
;
import
org.jeecg.modules.junmpProcess.common.R
;
import
org.jeecg.modules.junmpProcess.common.WorkFlowConstants
;
import
org.jeecg.modules.junmpProcess.dto.FlowEngineDTO
;
import
org.jeecg.modules.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.modules.junmpProcess.dto.json.SettingsInfo
;
import
org.jeecg.modules.junmpProcess.entity.FormGroups
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.modules.junmpProcess.entity.TemplateGroup
;
import
org.jeecg.modules.junmpProcess.entity.TemplateGroupBo
;
import
org.jeecg.modules.junmpProcess.exception.WorkFlowException
;
import
org.jeecg.modules.junmpProcess.mapper.TemplateGroupMapper
;
import
org.jeecg.modules.junmpProcess.service.Bussiness.SettingService
;
import
org.jeecg.modules.junmpProcess.service.Repository.FormGroupService
;
import
org.jeecg.modules.junmpProcess.service.Repository.ProcessTemplateService
;
import
org.jeecg.modules.junmpProcess.service.Repository.TemplateGroupService
;
import
org.jeecg.modules.junmpProcess.utils.IdWorker
;
import
org.jeecg.modules.junmpProcess.vo.TemplateGroupVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -43,7 +40,7 @@ import javax.annotation.Resource;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.*
;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
utils
.
BpmnModelUtils
.*;
import
static
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
.
BpmnModelUtils
.*;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Bussiness/impl/WorkProcessServiceImpl.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Bussiness
.
impl
;
import
org.jeecg.module.junmpProcess.common.Result
;;
import
org.jeecg.module.junmpProcess.dto.*
;
import
org.jeecg.module.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.module.junmpProcess.dto.json.FormOperates
;
import
org.jeecg.module.junmpProcess.dto.json.SettingsInfo
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.module.junmpProcess.exception.WorkFlowException
;
import
org.jeecg.module.junmpProcess.service.Bussiness.WorkProcessService
;
import
org.jeecg.module.junmpProcess.service.Repository.ProcessTemplateService
;
package
org
.
jeecg
.
modules
.
junmpProcess
.
service
.
Bussiness
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.map.MapUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.google.common.collect.Lists
;
import
com.sun.org.apache.bcel.internal.generic.RETURN
;
import
org.apache.commons.lang3.StringUtils
;
import
org.flowable.bpmn.model.BpmnModel
;
import
org.flowable.bpmn.model.FlowElement
;
import
org.flowable.bpmn.BpmnAutoLayout
;
import
org.flowable.bpmn.converter.BpmnXMLConverter
;
import
org.flowable.bpmn.model.*
;
import
org.flowable.bpmn.model.Process
;
import
org.flowable.common.engine.impl.identity.Authentication
;
import
org.flowable.engine.HistoryService
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.RuntimeService
;
import
org.flowable.engine.TaskService
;
import
org.flowable.engine.delegate.ExecutionListener
;
import
org.flowable.engine.history.HistoricActivityInstance
;
import
org.flowable.engine.history.HistoricProcessInstance
;
import
org.flowable.engine.impl.persistence.entity.ExecutionEntity
;
...
...
@@ -37,17 +30,35 @@ import org.flowable.engine.task.Comment;
import
org.flowable.task.api.DelegationState
;
import
org.flowable.task.api.Task
;
import
org.flowable.task.api.history.HistoricTaskInstance
;
import
org.jeecg.module.junmpProcess.vo.*
;
import
org.jeecg.modules.junmpProcess.common.Result
;
import
org.jeecg.modules.junmpProcess.common.WorkFlowConstants
;
import
org.jeecg.modules.junmpProcess.dto.*
;
import
org.jeecg.modules.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.modules.junmpProcess.dto.json.FormOperates
;
import
org.jeecg.modules.junmpProcess.dto.json.SettingsInfo
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
import
org.jeecg.modules.junmpProcess.dto.json.flowJson.FlowChildNode
;
import
org.jeecg.modules.junmpProcess.dto.json.flowJson.FlowConditionNodes
;
import
org.jeecg.modules.junmpProcess.dto.json.flowJson.Inout
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.modules.junmpProcess.entity.TemplateGroup
;
import
org.jeecg.modules.junmpProcess.exception.WorkFlowException
;
import
org.jeecg.modules.junmpProcess.service.Bussiness.WorkProcessService
;
import
org.jeecg.modules.junmpProcess.service.Repository.ProcessTemplateService
;
import
org.jeecg.modules.junmpProcess.vo.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
common
.
CommonConstants
.*;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
common
.
WorkFlowConstants
.
PROCESS_PREFIX
;
import
static
org
.
jeecg
.
module
.
junmpProcess
.
utils
.
BpmnModelUtils
.
getChildNode
;
import
static
org
.
jeecg
.
modules
.
junmpProcess
.
common
.
CommonConstants
.*;
import
static
org
.
jeecg
.
modules
.
junmpProcess
.
common
.
WorkFlowConstants
.
PROCESS_PREFIX
;
import
static
org
.
jeecg
.
modules
.
junmpProcess
.
utils
.
BpmnModelUtils
.*;
;
@Service
public
class
WorkProcessServiceImpl
implements
WorkProcessService
{
...
...
@@ -64,6 +75,209 @@ public class WorkProcessServiceImpl implements WorkProcessService {
@Resource
private
TaskService
taskService
;
public
boolean
createBpmn
(
FlowChildNode
FlowDTO
)
{
// String processJson = FlowDTO.getProcess();
// FlowChildNode childNode = JSONObject.parseObject(processJson, new TypeReference<FlowChildNode>(){});
// Integer groupId = FlowDTO.getGroupId();
// JSONObject jsonObject=new JSONObject();
// BpmnModel bpmnModel = assemBpmnModel( childNode, groupId
// );
// repositoryService.createDeployment()
//// .addBpmnModel(formName + ".bpmn", bpmnModel)
//// .name(formName)
// .category(groupId + "")
// .deploy();
// return true;
// 一.准备工作
BpmnModel
bpmnModel
=
new
BpmnModel
();
Process
process
=
new
Process
();
// 相当于图纸
bpmnModel
.
addProcess
(
process
);
process
.
setId
(
"Process_"
+
UUID
.
randomUUID
());
process
.
setExecutable
(
true
);
// 二.开始结束节点
StartEvent
startEvent
=
new
StartEvent
();
// 新建开始节点
startEvent
.
setId
(
"_start"
);
process
.
addFlowElement
(
startEvent
);
// 绘制到图纸
EndEvent
endEvent
=
new
EndEvent
();
// 新建结束节点
endEvent
.
setId
(
"_end"
);
// 绘制到图纸
process
.
addFlowElement
(
endEvent
);
// 三.递归绘制节点
drawNode
(
process
,
FlowDTO
,
"_start"
,
"_end"
,
null
);
// 四.自动布局
new
BpmnAutoLayout
(
bpmnModel
).
execute
();
// 五.转xml
BpmnXMLConverter
bpmnXMLConverter
=
new
BpmnXMLConverter
();
byte
[]
convertToXML
=
bpmnXMLConverter
.
convertToXML
(
bpmnModel
);
String
xml
=
new
String
(
convertToXML
);
xml
=
xml
.
replaceAll
(
"<"
,
"<"
).
replaceAll
(
">"
,
">"
);
return
true
;
}
/**
* 绘制节点
* @param process bpmn process 图纸
* @param node json的节点
* @param preId 上一节点id
* @param endId 结束节点
* @param preExpression 上一节点表达式
*/
public
void
drawNode
(
Process
process
,
FlowChildNode
node
,
String
preId
,
String
endId
,
String
preExpression
)
{
// 根据type绘制不同种类的节点
Inout
inout
=
drawNodeByType
(
process
,
node
);
// 绘制前一根线
process
.
addFlowElement
(
createSequenceFlow
(
preId
,
inout
.
getIn
(),
preExpression
));
if
(
node
.
getChildNode
()
==
null
)
{
// 没有下一步, 绘制指向结束的线
process
.
addFlowElement
(
createSequenceFlow
(
inout
.
getOut
(),
endId
,
null
));
}
else
{
// 有下一步, 递归绘制下一个节点
drawNode
(
process
,
node
.
getChildNode
(),
inout
.
getOut
(),
endId
,
null
);
}
}
/**
* 绘制不同种类节点
* @param process
* @param node
* @return
*/
private
Inout
drawNodeByType
(
Process
process
,
FlowChildNode
node
)
{
if
(
node
.
getType
()==
0
)
{
//审核节点
return
drawAuditNode
(
process
,
node
);
}
else
if
(
node
.
getType
()==
1
)
{
//分支节点
return
drawExclusiveNode
(
process
,
node
);
}
else
{
throw
new
IllegalArgumentException
();
}
}
/**
* 绘制分支节点
* @param process
* @param node
* @return
*/
private
Inout
drawExclusiveNode
(
Process
process
,
FlowChildNode
node
)
{
// 开始网关
String
startId
=
"Exclusive_"
+
UUID
.
randomUUID
();
ExclusiveGateway
startGateway
=
new
ExclusiveGateway
();
startGateway
.
setId
(
startId
);
process
.
addFlowElement
(
startGateway
);
// 结束网关
String
endId
=
"Exclusive_"
+
UUID
.
randomUUID
();
ExclusiveGateway
endGateway
=
new
ExclusiveGateway
();
endGateway
.
setId
(
endId
);
process
.
addFlowElement
(
endGateway
);
// 绘制分支
List
<
FlowConditionNodes
>
branches
=
node
.
getFlowConditionNodes
();
// 针对 gateway 空任务分支 添加条件表达式
// for (FlowConditionNodes branch : branches) {
// String expression = branch.getConditionGroup();
// if (branch.getChildNode()==null) {
// // 没有子流程,直接绘制结束线
// process.addFlowElement(createSequenceFlow(startId, endId, expression));
// } else {
// // 有子流程,递归绘制子流程
// drawNode(process, branch.getChildNode(), startId, endId, expression);
// }
// }
// int和out不一样
return
new
Inout
(
startId
,
endId
);
}
/**
* 创建连线
* @param from
* @param to
* @return
*/
public
SequenceFlow
createSequenceFlow
(
String
from
,
String
to
,
String
conditionExpression
)
{
SequenceFlow
flow
=
new
SequenceFlow
();
flow
.
setId
(
from
+
"-"
+
to
);
flow
.
setSourceRef
(
from
);
flow
.
setTargetRef
(
to
);
if
(
conditionExpression
!=
null
)
{
flow
.
setConditionExpression
(
conditionExpression
);
}
return
flow
;
}
/**
* 绘制审核节点
* @param process
* @param node
* @return
*/
private
Inout
drawAuditNode
(
Process
process
,
FlowChildNode
node
)
{
// 绘制节点
String
id
=
"Node_"
+
UUID
.
randomUUID
();
UserTask
userTask
=
new
UserTask
();
userTask
.
setId
(
id
);
userTask
.
setName
(
node
.
getName
());
// 设置多实例
userTask
.
setAssignee
(
"${user}"
);
MultiInstanceLoopCharacteristics
multiInstanceLoopCharacteristics
=
new
MultiInstanceLoopCharacteristics
();
// if (node.getAssignee().getMultiMode().equals("顺序审批")) {
// multiInstanceLoopCharacteristics.setSequential(true);
// }
multiInstanceLoopCharacteristics
.
setElementVariable
(
"user"
);
// 完成条件
multiInstanceLoopCharacteristics
.
setCompletionCondition
(
"${nrOfInstances == nrOfCompletedInstances}"
);
multiInstanceLoopCharacteristics
.
setInputDataItem
(
"${users}"
);
userTask
.
setLoopCharacteristics
(
multiInstanceLoopCharacteristics
);
// 保存json节点配置到扩展属性
Map
<
String
,
Object
>
extensions
=
new
HashMap
<>();
extensions
.
put
(
"node"
,
node
);
// BpmnUtil.addExtensionProperty(userTask, extensions);
return
new
Inout
(
id
,
id
);
}
private
BpmnModel
assemBpmnModel
(
FlowChildNode
childNode
,
Integer
groupId
)
{
BpmnModel
bpmnModel
=
new
BpmnModel
();
List
<
SequenceFlow
>
sequenceFlows
=
Lists
.
newArrayList
();
Map
<
String
,
ChildNode
>
childNodeMap
=
new
HashMap
<>();
bpmnModel
.
setTargetNamespace
(
groupId
+
""
);
// ExtensionAttribute extensionAttribute=new ExtensionAttribute();
// extensionAttribute.setName("Junmp");
// extensionAttribute.setNamespace("http://flowable.org/bpmn");
// extensionAttribute.setValue(jsonObject.toJSONString());
Process
process
=
new
Process
();
process
.
setId
(
WorkFlowConstants
.
PROCESS_PREFIX
);
// process.setName(formName);
// process.setDocumentation(remark);
// process.addAttribute(extensionAttribute);
bpmnModel
.
addProcess
(
process
);
StartEvent
startEvent
=
createStartEvent
();
process
.
addFlowElement
(
startEvent
);
String
lastNode
=
null
;
// try {
// lastNode = create(startEvent.getId(), childNode,process,bpmnModel,sequenceFlows,childNodeMap);
// } catch (InvocationTargetException e) {
// e.printStackTrace();
// throw new WorkFlowException("操作失败");
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// throw new WorkFlowException("操作失败");
// }
EndEvent
endEvent
=
createEndEvent
();
process
.
addFlowElement
(
endEvent
);
// process.addFlowElement(connect(lastNode, endEvent.getId(),sequenceFlows,childNodeMap,process));
List
<
FlowableListener
>
executionListeners
=
new
ArrayList
<>();
FlowableListener
flowableListener
=
new
FlowableListener
();
flowableListener
.
setEvent
(
ExecutionListener
.
EVENTNAME_END
);
flowableListener
.
setImplementationType
(
ImplementationType
.
IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
);
flowableListener
.
setImplementation
(
"${processListener}"
);
executionListeners
.
add
(
flowableListener
);
process
.
setExecutionListeners
(
executionListeners
);
new
BpmnAutoLayout
(
bpmnModel
).
execute
();
return
bpmnModel
;
}
@Override
public
Object
getFormGroups
(
String
templateId
)
{
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/DepartmentsService.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
;
import
org.jeecg.module.junmpProcess.entity.Departments
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.jeecg.modules.junmpProcess.entity.Departments
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/FormGroupService.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
;
import
org.jeecg.module.junmpProcess.entity.FormGroups
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.jeecg.modules.junmpProcess.entity.FormGroups
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/ProcessTemplateService.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/TemplateGroupService.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
;
import
org.jeecg.module.junmpProcess.entity.TemplateGroup
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.jeecg.modules.junmpProcess.entity.TemplateGroup
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/UserService.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
;
import
org.jeecg.module.junmpProcess.entity.Users
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.jeecg.modules.junmpProcess.entity.Users
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/WorkspaceProcessService.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
;
/**
* @author : willian fu
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/DepartmentsServiceImpl.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
.
impl
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
.
impl
;
import
org.jeecg.module.junmpProcess.entity.Departments
;
import
org.jeecg.module.junmpProcess.mapper.DepartmentsMapper
;
import
org.jeecg.module.junmpProcess.service.Repository.DepartmentsService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.jeecg.modules.junmpProcess.entity.Departments
;
import
org.jeecg.modules.junmpProcess.mapper.DepartmentsMapper
;
import
org.jeecg.modules.junmpProcess.service.Repository.DepartmentsService
;
import
org.springframework.stereotype.Service
;
/**
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/FormGroupServiceImpl.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
.
impl
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
.
impl
;
import
org.jeecg.module.junmpProcess.entity.FormGroups
;
import
org.jeecg.module.junmpProcess.mapper.FormGroupsMapper
;
import
org.jeecg.module.junmpProcess.service.Repository.FormGroupService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.jeecg.modules.junmpProcess.entity.FormGroups
;
import
org.jeecg.modules.junmpProcess.mapper.FormGroupsMapper
;
import
org.jeecg.modules.junmpProcess.service.Repository.FormGroupService
;
import
org.springframework.stereotype.Service
;
/**
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/ProcessTemplateServiceImpl.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
.
impl
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
.
impl
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.module.junmpProcess.mapper.ProcessTemplatesMapper
;
import
org.jeecg.module.junmpProcess.service.Repository.ProcessTemplateService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
import
org.jeecg.modules.junmpProcess.mapper.ProcessTemplatesMapper
;
import
org.jeecg.modules.junmpProcess.service.Repository.ProcessTemplateService
;
import
org.springframework.stereotype.Service
;
/**
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/TemplateGroupServiceImpl.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
.
impl
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
.
impl
;
import
org.jeecg.module.junmpProcess.entity.TemplateGroup
;
import
org.jeecg.module.junmpProcess.mapper.TemplateGroupMapper
;
import
org.jeecg.module.junmpProcess.service.Repository.TemplateGroupService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.jeecg.modules.junmpProcess.entity.TemplateGroup
;
import
org.jeecg.modules.junmpProcess.mapper.TemplateGroupMapper
;
import
org.jeecg.modules.junmpProcess.service.Repository.TemplateGroupService
;
import
org.springframework.stereotype.Service
;
/**
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/UserServiceImpl.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
.
impl
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
.
impl
;
import
org.jeecg.module.junmpProcess.entity.Users
;
import
org.jeecg.module.junmpProcess.mapper.UsersMapper
;
import
org.jeecg.module.junmpProcess.service.Repository.UserService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.jeecg.modules.junmpProcess.entity.Users
;
import
org.jeecg.modules.junmpProcess.mapper.UsersMapper
;
import
org.jeecg.modules.junmpProcess.service.Repository.UserService
;
import
org.springframework.stereotype.Service
;
/**
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/service/Repository/impl/WorkspaceProcessServiceImpl.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
service
.
Repository
.
impl
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
service
.
Repository
.
impl
;
import
org.jeecg.module.junmpProcess.service.Bussiness.SettingService
;
import
org.jeecg.module.junmpProcess.service.Repository.WorkspaceProcessService
;
import
org.jeecg.module
s
.junmpProcess.service.Bussiness.SettingService
;
import
org.jeecg.module
s
.junmpProcess.service.Repository.WorkspaceProcessService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.context.request.RequestContextHolder
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/BpmnModelUtils.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
utils
;
import
org.jeecg.module.junmpProcess.common.WorkFlowConstants
;
import
org.jeecg.module.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.module.junmpProcess.dto.json.ConditionInfo
;
import
org.jeecg.module.junmpProcess.dto.json.GroupsInfo
;
import
org.jeecg.module.junmpProcess.dto.json.Properties
;
import
org.jeecg.module.junmpProcess.enums.ModeEnums
;
import
org.jeecg.module.junmpProcess.exception.WorkFlowException
;
package
org
.
jeecg
.
modules
.
junmpProcess
.
utils
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
...
...
@@ -15,6 +8,14 @@ import org.flowable.bpmn.model.Process;
import
org.flowable.bpmn.model.*
;
import
org.flowable.engine.delegate.ExecutionListener
;
import
org.flowable.engine.delegate.TaskListener
;
import
org.jeecg.modules.junmpProcess.common.WorkFlowConstants
;
import
org.jeecg.modules.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.modules.junmpProcess.dto.json.ConditionInfo
;
import
org.jeecg.modules.junmpProcess.dto.json.GroupsInfo
;
import
org.jeecg.modules.junmpProcess.dto.json.Properties
;
import
org.jeecg.modules.junmpProcess.dto.json.flowJson.FlowChildNode
;
import
org.jeecg.modules.junmpProcess.enums.ModeEnums
;
import
org.jeecg.modules.junmpProcess.exception.WorkFlowException
;
import
org.springframework.util.CollectionUtils
;
import
java.lang.reflect.InvocationTargetException
;
...
...
@@ -40,7 +41,7 @@ public class BpmnModelUtils {
return
serviceTask
;
}
public
static
SequenceFlow
connect
(
String
from
,
String
to
,
List
<
SequenceFlow
>
sequenceFlows
,
Map
<
String
,
ChildNode
>
childNodeMap
,
Process
process
)
{
public
static
SequenceFlow
connect
(
String
from
,
String
to
,
List
<
SequenceFlow
>
sequenceFlows
,
Map
<
String
,
ChildNode
>
childNodeMap
,
Process
process
)
{
SequenceFlow
flow
=
new
SequenceFlow
();
String
sequenceFlowId
=
id
(
"sequenceFlow"
);
if
(
process
.
getFlowElement
(
from
)
!=
null
&&
process
.
getFlowElement
(
from
)
instanceof
ExclusiveGateway
){
...
...
@@ -217,7 +218,73 @@ public class BpmnModelUtils {
return
endEvent
;
}
// public static String FlowCreate(String fromId, FlowChildNode flowNode, Process process, BpmnModel bpmnModel, List<SequenceFlow> sequenceFlows, Map<String,ChildNode> childNodeMap) throws InvocationTargetException, IllegalAccessException {
// Integer nodeType = flowNode.getType();
// if (FlowType.CONCURRENTS.isEqual(nodeType)) {
// return createParallelGatewayBuilder(fromId, flowNode,process,bpmnModel,sequenceFlows,childNodeMap);
// } else if (FlowType.CONDITIONS.isEqual(nodeType)) {
// return createExclusiveGatewayBuilder(fromId, flowNode,process,bpmnModel,sequenceFlows,childNodeMap);
// } else if (FlowType.USER_TASK.isEqual(nodeType)) {
// childNodeMap.put(flowNode.getId(),flowNode);
// JSONObject incoming = flowNode.getIncoming();
// incoming.put("incoming", Collections.singletonList(fromId));
// String id = createTask(process,flowNode,sequenceFlows,childNodeMap);
// // 如果当前任务还有后续任务,则遍历创建后续任务
// ChildNode children = flowNode.getChildren();
// if (Objects.nonNull(children) &&StringUtils.isNotBlank(children.getId())) {
// return create(id, children,process,bpmnModel,sequenceFlows,childNodeMap);
// } else {
// return id;
// }
// }
// else if(Type.ROOT.isEqual(nodeType)){
// childNodeMap.put(flowNode.getId(),flowNode);
// JSONObject incoming = flowNode.getIncoming();
// incoming.put("incoming", Collections.singletonList(fromId));
// String id = createTask(process,flowNode,sequenceFlows,childNodeMap);
// // 如果当前任务还有后续任务,则遍历创建后续任务
// ChildNode children = flowNode.getChildren();
// if (Objects.nonNull(children) &&StringUtils.isNotBlank(children.getId())) {
// return create(id, children,process,bpmnModel,sequenceFlows,childNodeMap);
// } else {
// return id;
// }
// }
// else if(Type.DELAY.isEqual(nodeType)){
// throw new WorkFlowException("还不想写这个功能");
//// childNodeMap.put(flowNode.getId(),flowNode);
//// JSONObject incoming = flowNode.getIncoming();
//// incoming.put("incoming", Collections.singletonList(fromId));
//// String id = createTask(process,flowNode,sequenceFlows,childNodeMap);
//// // 如果当前任务还有后续任务,则遍历创建后续任务
//// ChildNode children = flowNode.getChildren();
//// if (Objects.nonNull(children) &&StringUtils.isNotBlank(children.getId())) {
//// return create(id, children,process,bpmnModel,sequenceFlows,childNodeMap);
//// } else {
//// return id;
//// }
// }
// else if(Type.TRIGGER.isEqual(nodeType)){
// throw new WorkFlowException("还不想写这个功能");
// }
// else if(Type.CC.isEqual(nodeType)){
// throw new WorkFlowException("代码呗回滚了 丢了,暂时先不做");
//// childNodeMap.put(flowNode.getId(),flowNode);
//// JSONObject incoming = flowNode.getIncoming();
//// incoming.put("incoming", Collections.singletonList(fromId));
//// String id = createServiceTask(process,flowNode,sequenceFlows,childNodeMap);
//// // 如果当前任务还有后续任务,则遍历创建后续任务
//// ChildNode children = flowNode.getChildren();
//// if (Objects.nonNull(children) &&StringUtils.isNotBlank(children.getId())) {
//// return create(id, children,process,bpmnModel,sequenceFlows,childNodeMap);
//// } else {
//// return id;
//// }
// }
// else {
// throw new RuntimeException("未知节点类型: nodeType=" + nodeType);
// }
// }
public
static
String
create
(
String
fromId
,
ChildNode
flowNode
,
Process
process
,
BpmnModel
bpmnModel
,
List
<
SequenceFlow
>
sequenceFlows
,
Map
<
String
,
ChildNode
>
childNodeMap
)
throws
InvocationTargetException
,
IllegalAccessException
{
String
nodeType
=
flowNode
.
getType
();
if
(
Type
.
CONCURRENTS
.
isEqual
(
nodeType
))
{
...
...
@@ -451,7 +518,6 @@ public class BpmnModelUtils {
parallelGateway
.
setId
(
id
);
return
parallelGateway
;
}
private
static
String
createParallelGatewayBuilder
(
String
formId
,
ChildNode
flowNode
,
Process
process
,
BpmnModel
bpmnModel
,
List
<
SequenceFlow
>
sequenceFlows
,
Map
<
String
,
ChildNode
>
childNodeMap
)
throws
InvocationTargetException
,
IllegalAccessException
{
childNodeMap
.
put
(
flowNode
.
getId
(),
flowNode
);
String
name
=
flowNode
.
getName
();
...
...
@@ -486,7 +552,7 @@ public class BpmnModelUtils {
String
parentId
=
childNode
.
getParentId
();
ChildNode
parentChildNode
=
childNodeMap
.
get
(
parentId
);
boolean
conFlag
=
Type
.
CONCURRENTS
.
type
.
equals
(
parentChildNode
.
getType
());
.
equals
(
parentChildNode
.
getType
());
if
(!
conFlag
){
String
type
=
childNode
.
getType
();
if
(!
Type
.
EMPTY
.
type
.
equals
(
type
)){
...
...
@@ -564,6 +630,7 @@ public class BpmnModelUtils {
return
parallelGatewayId
;
}
private
static
String
createTask
(
Process
process
,
ChildNode
flowNode
,
List
<
SequenceFlow
>
sequenceFlows
,
Map
<
String
,
ChildNode
>
childNodeMap
)
{
JSONObject
incomingJson
=
flowNode
.
getIncoming
();
List
<
String
>
incoming
=
incomingJson
.
getJSONArray
(
"incoming"
).
toJavaList
(
String
.
class
);
...
...
@@ -666,7 +733,6 @@ public class BpmnModelUtils {
}
private
enum
Type
{
/**
* 并行事件
*/
...
...
@@ -708,7 +774,48 @@ public class BpmnModelUtils {
}
}
private
enum
FlowType
{
/**
* 并行事件
*/
CONCURRENTS
(
0
,
ParallelGateway
.
class
),
CONCURRENT
(
1
,
SequenceFlow
.
class
),
/**
* 排他事件
*/
CONDITION
(
2
,
ExclusiveGateway
.
class
),
CONDITIONS
(
3
,
ExclusiveGateway
.
class
),
/**
* 任务
*/
USER_TASK
(
4
,
UserTask
.
class
),
EMPTY
(
5
,
Object
.
class
),
ROOT
(
6
,
UserTask
.
class
),
CC
(
7
,
ServiceTask
.
class
),
TRIGGER
(
8
,
ServiceTask
.
class
),
DELAY
(
9
,
IntermediateCatchEvent
.
class
);
private
int
type
;
private
Class
<?>
typeClass
;
FlowType
(
int
type
,
Class
<?>
typeClass
)
{
this
.
type
=
type
;
this
.
typeClass
=
typeClass
;
}
public
final
static
Map
<
String
,
Class
<?>>
TYPE_MAP
=
Maps
.
newHashMap
();
static
{
for
(
Type
element
:
Type
.
values
())
{
TYPE_MAP
.
put
(
element
.
type
,
element
.
typeClass
);
}
}
public
boolean
isEqual
(
int
type
)
{
return
this
.
type
==(
type
);
}
}
public
static
ChildNode
getChildNode
(
ChildNode
childNode
,
String
nodeId
){
Map
<
String
,
ChildNode
>
childNodeMap
=
new
HashMap
<>();
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/DateUtils.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
utils
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
;
import
org.springframework.util.StringUtils
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/ExUtils.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
utils
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.NumberUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/FileUtil.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
utils
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
;
import
lombok.Cleanup
;
import
lombok.extern.slf4j.Slf4j
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/IdWorker.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
utils
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
;
import
java.lang.management.ManagementFactory
;
import
java.net.InetAddress
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/ServletUtil.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
utils
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/SpringContextHolderV2.java
View file @
3b7af128
...
...
@@ -17,7 +17,7 @@
*
*/
package
org
.
jeecg
.
module
.
junmpProcess
.
utils
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.DisposableBean
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/utils/XSSEscape.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
utils
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
utils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.owasp.validator.html.AntiSamy
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/AttachmentVO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/CommentVO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/HandleDataVO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
org.jeecg.module.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
com.alibaba.fastjson.JSONObject
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.jeecg.modules.junmpProcess.dto.json.ChildNode
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
import
java.util.List
;
import
java.util.Map
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/HistoryProcessInstanceVO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
import
java.util.Date
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/MultiVO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/OptionVO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/OrgTreeVo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/ProcessInstanceDetailVO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
org.jeecg.module.junmpProcess.entity.ProcessTemplates
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
org.jeecg.modules.junmpProcess.entity.ProcessTemplates
;
import
java.util.List
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/TaskDetailVO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
lombok.Data
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/TaskVO.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
org.jeecg.module.junmpProcess.dto.json.UserInfo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.flowable.task.api.DelegationState
;
import
org.jeecg.modules.junmpProcess.dto.json.UserInfo
;
import
java.util.Date
;
...
...
jeecg-module-process/src/main/java/org/jeecg/modules/junmpProcess/vo/TemplateGroupVo.java
View file @
3b7af128
package
org
.
jeecg
.
module
.
junmpProcess
.
vo
;
package
org
.
jeecg
.
module
s
.
junmpProcess
.
vo
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.AllArgsConstructor
;
...
...
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
View file @
3b7af128
...
...
@@ -101,13 +101,13 @@ public class LoginController {
//update-end-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906
Object
checkCode
=
redisUtil
.
get
(
realKey
);
//当进入登录页时,有一定几率出现验证码错误 #1714
if
(
checkCode
==
null
||
!
checkCode
.
toString
().
equals
(
lowerCaseCaptcha
))
{
log
.
warn
(
"验证码错误,key= {} , Ui checkCode= {}, Redis checkCode = {}"
,
sysLoginModel
.
getCheckKey
(),
lowerCaseCaptcha
,
checkCode
);
result
.
error500
(
"验证码错误"
);
// 改成特殊的code 便于前端判断
result
.
setCode
(
HttpStatus
.
PRECONDITION_FAILED
.
value
());
return
result
;
}
//
if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) {
//
log.warn("验证码错误,key= {} , Ui checkCode= {}, Redis checkCode = {}", sysLoginModel.getCheckKey(), lowerCaseCaptcha, checkCode);
//
result.error500("验证码错误");
//
// 改成特殊的code 便于前端判断
//
result.setCode(HttpStatus.PRECONDITION_FAILED.value());
//
return result;
//
}
//update-end-author:taoyan date:20190828 for:校验验证码
//1. 校验用户是否有效
...
...
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserTenantMapper.xml
View file @
3b7af128
...
...
@@ -2,6 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.jeecg.modules.system.mapper.SysUserTenantMapper"
>
<!-- 通过租户id获取数据 -->
<select
id=
"getPageUserList"
resultType=
"org.jeecg.modules.system.entity.SysUser"
>
SELECT su.id,su.username,su.realname,su.sex,su.phone FROM sys_user su
...
...
jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml
View file @
3b7af128
...
...
@@ -99,9 +99,9 @@ spring:
datasource
:
type
:
com.alibaba.druid.pool.DruidDataSource
driver-class-name
:
com.mysql.cj.jdbc.Driver
username
:
${MYSQL_USER:
junmp
}
username
:
${MYSQL_USER:
root
}
password
:
${MYSQL_PWD:123456}
url
:
jdbc:mysql://${MYSQL_HOST:1
92.168.3.128}:${MYSQL_PORT:3306}/${MYSQL_DB:db_key_app
}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true&queryTimeout=2400&nullCatalogMeansCurrent=true
url
:
jdbc:mysql://${MYSQL_HOST:1
27.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB:jeecg-boot
}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true&queryTimeout=2400&nullCatalogMeansCurrent=true
druid
:
stat-view-servlet
:
...
...
@@ -137,8 +137,8 @@ spring:
connectionProperties
:
druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource
:
master
:
url
:
jdbc:mysql://1
92.168.3.128:3306/db_key_app
?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username
:
junmp
url
:
jdbc:mysql://1
27.0.0.1:3306/jeecg-boot
?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username
:
root
password
:
123456
driver-class-name
:
com.mysql.cj.jdbc.Driver
# 多数据源配置
...
...
@@ -169,7 +169,7 @@ mybatis-plus:
table-underline
:
true
configuration
:
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
#
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 返回类型为Map,显示null对应的字段
call-setters-on-nulls
:
true
#jeecg专用配置
...
...
pom.xml
View file @
3b7af128
...
...
@@ -27,7 +27,7 @@
</parent>
<properties>
<activiti.version>
6.0.0
</activiti.version>
<!-- spring依赖 -->
<spring-boot.version>
2.7.10
</spring-boot.version>
<spring-security-oauth2.version>
2.5.2.RELEASE
</spring-security-oauth2.version>
...
...
@@ -177,7 +177,27 @@
<artifactId>
spring-boot-configuration-processor
</artifactId>
<optional>
true
</optional>
</dependency>
<!-- activiti -->
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-spring-boot-starter-basic
</artifactId>
<version>
${activiti.version}
</version>
<exclusions>
<exclusion>
<groupId>
de.odysseus.juel
</groupId>
<artifactId>
juel-spi
</artifactId>
</exclusion>
<exclusion>
<groupId>
de.odysseus.juel
</groupId>
<artifactId>
juel-api
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-json-converter
</artifactId>
<version>
${activiti.version}
</version>
</dependency>
<dependency>
<groupId>
org.owasp.antisamy
</groupId>
<artifactId>
antisamy
</artifactId>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论