基于jeecgboot的flowable驳回修改以及发起人设置
昨晚升级代码生成器,支持生成权限注解和菜单的SQL,修改驳回bug,以后保存流程强制要求第一个用户任务节点必须是发起人节点。
1、前端增加发起人设置
<el-radio label="INITIATOR">发起人</el-radio>
相应代码
if (this.containsKey(this.bpmnElement.businessObject, 'assignee') &&
this.bpmnElement.businessObject.assignee === '${INITIATOR}') {
this.defaultTaskForm.dataType = "INITIATOR";
}
changeDataType(val) {
if (val === 'INITIATOR') {
this.userTaskForm.assignee = "${INITIATOR}";
this.userTaskForm.text = "流程发起人";
const taskAttr = Object.create(null);
taskAttr['assignee'] = this.userTaskForm['assignee'] || null;
window.bpmnInstances.modeling.updateProperties(this.bpmnElement, taskAttr);
}
2、后端流程保存修改
//传节点定义key获取当前节点
List<org.flowable.bpmn.model.Process> processes = bpmnModel.getProcesses();
//查看第一个用户任务节点是否是发起人节点
List<FlowNode> flowNodes = processes.get(0).findFlowElementsOfType(FlowNode.class);
List<SequenceFlow> outgoingFlows = flowNodes.get(0).getOutgoingFlows();
//遍历返回下一个节点信息
for (SequenceFlow outgoingFlow : outgoingFlows) {
//类型自己判断(获取下个节点是任务节点)
FlowElement targetFlowElement = outgoingFlow.getTargetFlowElement();
//下个是节点
if(targetFlowElement instanceof UserTask){// 下个出口是用户任务,而且是要发起人节点才让保存
if(StringUtils.equals(((UserTask) targetFlowElement).getAssignee(), "${INITIATOR}"))
{
break;
}
else {
return Result.error("导入失败,流程第一个用户任务节点必须是发起人节点");
}
}
}
3、后端发起流程修改
SysUser sysUser = iFlowThirdService.getLoginUser();
identityService.setAuthenticatedUserId(sysUser.getUsername());
variables.put(ProcessConstants.PROCESS_INITIATOR, sysUser.getUsername());
4、后端驳回修改
if (StrUtil.equals(targetUserTask.getAssignee().toString(),"${INITIATOR}")) {//是否为发起人节点
//开始节点 设置处理人为申请人
taskService.setAssignee(targetTask.getId(), startUserId);
}
5、效果图
基于jeecgboot的flowable驳回修改以及发起人设置相关推荐
- 基于jeecgboot的flowable流程支持退回到发起人节点表单修改功能
因为目前系统不支持用户退回到第一个用户任务节点的表单修改功能,这样有些需求需要能修改功能,所以这次支持这种功能. 1.后端代码 主要是判断是否是开始节点的第一个用户任务节点,要是就进行标志传送 代码如 ...
- 基于jeecgboot的flowable增加流程节点抄送功能
1.后端 主要增加flow_cc一个表 增加相应的这个表模块功能 @GetMapping(value = "/list") public Result<?> q ...
- 基于jeecgboot的flowable流程支持定时捕获事件
Flowable事件 事件(event)通常用于为流程生命周期中发生的事情建模.事件总是图形化为圆圈.在BPMN 2.0中,有两种主要的事件分类:*捕获(catching)与抛出(throwing ...
- 基于jeecgboot的支持online表单审批的功能正式发布
基于jeecgboot的flowable流程支持online表单审批线上发布一个完整的版本,利用原有online表单功能,通过选择现有online表单数据进行审批申请与操作,基本支持各自表单包括主从表 ...
- 基于jQuery会员中心安全修改表单代码
基于jQuery会员中心安全修改表单代码.这是一款登录密码,交易密码,手机号码,实名认证,电子邮箱,安全设置表单,会员表单等设置代码.效果图如下: 在线预览 源码下载 实现的代码. html代码 ...
- 基于视频采集卡驱动的错误修改CX26828
基于视频采集卡驱动的错误修改CX26828 1. 设置root密码 command:sudo passwd root 2.查看系统状态 输入命令:lsmod root@ubuntu:/home/yu# ...
- [置顶] 基于视频采集卡驱动的错误修改CX26828
基于视频采集卡驱动的错误修改CX26828 1. 设置root密码 command:sudo passwd root 2.查看系统状态 输入命令:lsmod root@ubuntu:/home/yu# ...
- 基于JEECG-BOOT制作“左树右表”交互页面
前置知识: 1.ant-design-vue 2.vue的slot概念 需求效果: 如上界面所示. 后端不改动,基于jeecg-boot生成的代码,前端自定义,分为左右两块,典型的"左树右表 ...
- debian,ubuntu 安装mongodb 允许外网访问,修改端口,设置用户和密码
使用apt安装mongodb: apt update && apt install mongodb 查看运行状态: systemctl status mongodb.service 结 ...
最新文章
- Spring学习6之自动装配Bean02
- hdfs写数据流程分析
- 中文 Python 开源资料合集!这应该是最全的了!
- 可变对象 不可变对象区别_对象应该是不可变的
- java的选项板_CAD工具选项板的介绍以及新建方法
- 智能车复工日记【7】:关于会车的图像问题
- 关于eclipse的一些简单配置
- canvas笔记-lineCap的使用
- echarts grid的样式位置_vue使用Echarts vue使用Echarts滚动条
- 贵阳中职计算机学什么区别,贵阳中职计算机专业
- 记七彩虹刷bios问题
- 个人博客定制 to 鼠标单击事件绑定
- mbedtls | 02 - 伪随机数生成器(ctr_drbg)的配置与使用
- 什么是驱动程序 在计算机中有何用途,电脑的驱动程序有什么作用
- PS使用高反差保留增加图像锐度
- 【一日一logo_day_24】Phoenix??
- 微信小程序复用公众号资质快速认证
- android-帧动画(原地不动人再走路)
- 身份证OCR识别是什么?
- 戴尔科技云平台:赋能“新基建”, 打造“云底座”