当前位置: 首页 > news >正文

校园论坛网站建设论文如何在WordPress部署主题

校园论坛网站建设论文,如何在WordPress部署主题,wordpress英文改中文,WordPress 百度联盟优化主题如果单纯使用activiti进行流程的自动控制#xff0c;是可以实现的。但是通常我们都需要结合自定义的表#xff0c;便于在流程执行中更加清晰的看到每一个流程实例节点的具体信息。关联自定义表与activiti表才能完成真正的业务 BusinessKey关联 // 定义businessKey Test pub…如果单纯使用activiti进行流程的自动控制是可以实现的。但是通常我们都需要结合自定义的表便于在流程执行中更加清晰的看到每一个流程实例节点的具体信息。关联自定义表与activiti表才能完成真正的业务 BusinessKey关联 // 定义businessKey Test public void addBusinessKey(){// 获取流程引擎ProcessEngine engine ProcessEngines.getDefaultProcessEngine();// 获取启动流程serviceRuntimeService runtimeService engine.getRuntimeService();// 启动流程 并添加businessKey// param1流程ID param2businessKeyProcessInstance processInstance runtimeService.startProcessInstanceByKey(forLeave, 1001);System.out.println(businessKeyprocessInstance.getBusinessKey()); }当我们启动流程的时候activiti将businessKey添加到了act_ru_execution表中。该表就是我们将自定义表和activiti表关联的重点 流程定义的挂起与激活 // 全部流程挂起与激活 Test public void suspendAllprocessInstance(){ProcessEngine engine ProcessEngines.getDefaultProcessEngine();RepositoryService repositoryService engine.getRepositoryService();// 获取流程定义查询对象ProcessDefinition forLeave repositoryService.createProcessDefinitionQuery().processDefinitionKey(forLeave).singleResult();// 查询当前流程任务是否为挂起状态 true挂起状态 falseboolean suspended forLeave.isSuspended();// 流程定义idString id forLeave.getId();if (suspended){// 挂起就激活// param1:流程任务id param2是否挂起 param3激活时间repositoryService.activateProcessDefinitionById(id,true,null);System.out.println(流程定义idid已激活);// 激活状态为1}else {// 激活就挂起// param1流程定义id param2是否暂停 param3暂停时间repositoryService.suspendProcessDefinitionById(id,true,null);System.out.println(流程定义idid已挂起);// 挂起状态为2}可以通过查看运行时执行表act_ru_execution的SUBPENSION_STATE查看状态为1表示该任务已激活状态为2表示已挂起 单个流程实例挂起与激活 Test public void suspendSingleProcess(){ProcessEngine engine ProcessEngines.getDefaultProcessEngine();RuntimeService runtimeService engine.getRuntimeService();ProcessInstance processInstance runtimeService.createProcessInstanceQuery().processInstanceId(27501).singleResult();// true 已挂起 false 已激活boolean suspended processInstance.isSuspended();// 获取流程实例idString id processInstance.getId();// 挂起和激活转换if (suspended){runtimeService.activateProcessInstanceById(id);System.out.println(流程实例idid已激活);}else {runtimeService.suspendProcessInstanceById(id);System.out.println(流程实例idid已挂起);} }可以对比流程定义和流程实例的挂起激活 流程定义是指某一种任务类型该类型的全部待处理任务会全部挂起或者执行。比如请假那么不会单独针对张三或者李四的请假操作而是针对所有的请假流程进行操作。流程定义的挂起与激活通过的是RepositoryService 流程实例是指某一流程定义下的某一个流程比如张三的请假审批流程就是一个流程实例。那么就可以通过单个操作来对张三进行激活和挂起操作。流程实例是通过RunTimeService进行操作。 两者的激活都是通过activatePrecess***ById进行转换挂起都是通过suspendProcess ***ById 任务负责人分配–uel表达式 首先在绘制bpmn时使用${key}表达式再自定义填充key。 填充完毕之后进行流程部署然后在启动流程时利用map集合进行传参。map集合的key对应上述的uel表达式中的keyactiviti会自动帮我们完成该表达式的值替换 // 测试uel表达式分配负责人 Test public void test02(){ProcessEngine engine ProcessEngines.getDefaultProcessEngine();RuntimeService runtimeService engine.getRuntimeService();// 启动时传入负责人// map用于替换bpmn的uel表达式MapString, Object map new HashMap();map.put(assignee0,六六);map.put(assignee1,七七);ProcessInstance vacationIns runtimeService.startProcessInstanceByKey(vacation, map); }如上述程序所示最终可以通过查看act_ru_task表会发现对应的assignee字段是我们预先定义好的key而后面的text字段就是替换后的值value 流程变量 流程变量在流程的审批执行过程中经常会需要一些变量来作为判决跳转下一流程节点的依据这个变量就称之为流程变量。 举例员工想要预支薪水如果预支金额小于月薪那么直接经部门经理审批后上报财务即可反之如果预支金额大于月薪那么需要上报总经理通过后再上报财务即可。此时的预支金额就是流程变量 globa变量是流程变量的默认作用域也就是流程实例globa变量不允许重复如果两次或多次使用了统一globa变量名那么后续的值会覆盖前面的值 local变量针对一个任务task和一个执行实例范围没有globa范围大。local变量由于存在于不同的任务或者不同的实例中所以相互间没有影响变量名可以一致也可以与globa变量名一致 排他网关ExclusiveGateway 网关用于控制流程分支的走向。 排他网关是当流程执行至此网关时所有分支都会判断条件是否为true如果为true则执行该分支。排他网关只会选择一个为true的分支执行如果有多个分支为true那么就会选择id值较小的一个执行 springBoot整合activiti 首先导入依赖资源 !-- activiti整合springboot -- dependencygroupIdorg.activiti/groupIdartifactIdactiviti-spring-boot-starter/artifactIdversion7.1.0.M1/version /dependency配置application.yaml文件 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/activiti?useSSLtrueuseUnicodetruecharacterEncodingUTF-8serverTimezoneUTCusername: rootpassword: 123456type: com.alibaba.druid.pool.DruidDataSourceactiviti:#1.flase默认值。activiti在启动时对比数据库表中保存的版本如果没有表或者版本不匹配将抛出异常#2.true activiti会对数据库中所有表进行更新操作。如果表不存在则自动创建#3.create_drop 在activiti启动时创建表在关闭时删除表必须手动关闭引擎才能删除表#4.drop-create 在activiti启动时删除原来的旧表然后在创建新表不需要手动关闭引擎database-schema-update: true# 检测历史信息表 activiti7默认不生成信息表 此处开启db-history-used: true# 历史记录存储等级history-level: fullcheck-process-definitions: true在主程序处排除掉springSecurity框架 SpringBootApplication(exclude { DataSourceAutoConfiguration.class, SecurityAutoConfiguration.class, SecurityAutoConfiguration.class,ManagementWebSecurityAutoConfiguration.class })最后我们需要保证已经编绘好的bpmn文件位于resources文件夹下的processes目录下否则activiti会找不到文件无法创建表 如下图所示 如果是第一次使用activi的话就直接启动主程序activiti将会自动的在对应数据库中建表并且如果在你的processes包下扫描到了对应的bpmn文件那么activiti也会自动的进行流程部署 测试启动流程 Controller public class TestController {Autowiredprivate RuntimeService runtimeService;Autowiredprivate TaskService taskService;RequestMapping(value /hello/{id})ResponseBodypublic String testHello(PathVariable(id) String id){// 测试完成任务Task task taskService.createTaskQuery().processInstanceId(id).singleResult();taskService.complete(task.getId());return 完成任务人task.getAssignee()获取到的ididget到的idtask.getId();}RequestMapping(value /create)ResponseBodypublic String testCreate(){// 定义负责人名称MapString, Object maps new HashMap();maps.put(a1,五一);maps.put(a2,六一);ProcessInstance holidy runtimeService.startProcessInstanceByKey(holiday, maps);return 流程实例IDholidy.getId()流程实例IDholidy.getProcessInstanceId()流程定义Idholidy.getProcessDefinitionId()流程定义Nameholidy.getProcessDefinitionName();} }
http://www.hkea.cn/news/14288768/

相关文章:

  • 衣联网和一起做网站 哪家强公司网站怎么设计
  • 珠海模板网站建设搜索引擎优化seo论文
  • 重庆网站推广 软件专业做网站公司怎么样
  • 特色网站模板美术馆网站建设方案
  • 狗和人做网站seo搜索引擎优化是利用
  • 工控网做网站维护吗网站源码提取
  • 临沂建展示网站苏州市企业排名100强
  • 旅游网站管理系统做古风头像的网站
  • 开封公司网站如何制作一汽大众网站谁做的
  • 网站建设7大概要多久天津商城网站建设
  • ps如何做网站长沙网络域名注册
  • 聊城做网站的公司精英深圳做网站的公司有哪些
  • 怎么用新浪云做网站alexa排名官网
  • 成都六度网站建设做网站怎么去进行链接
  • 网站怎样在360做优化哈尔滨网页设计与制作
  • 影楼行业网站做电商网站前期做什么工作
  • 攻击Wordpress网站深圳seo推广
  • 浦江建设局网站要想提高网站排名应该如何做
  • 怎样建单位的网站保定建行网站首页登录
  • 网络营销的职能有哪些电脑系统优化软件哪个好用
  • 网站开发后台需要什么技术设计的网站都有哪些
  • 网站改版怎么办网站后台管理密码破解
  • 网站开发信息平台项目总结上海抓捕236名
  • 广州 建网站网络做推广公司
  • wordpress建立移动m站英文wordpress
  • 中国银行门户网站本地的镇江网站建设
  • 北京网站开发制作公司免费制作企业宣传册制作工具
  • 网站建站服务公司wordpress文章内容宽度
  • 网站开发者模式个人网站建设方法
  • 网站集约化建设的目的wordpress 主题 设计