网站推广的定义wordpress自定义类型的分类名称

张小明 2026/1/11 3:15:39
网站推广的定义,wordpress自定义类型的分类名称,唐山网站建设怎么样,网站建设合同 知乎文章目录1、流程变量概念2、流程变量类型3、流程变量作用域3.1、globa变量3.2、local变量4、流程变量的使用方法4.1、在属性上使用UEL表达式4.2、在连线上使用UEL表达式5、使用Global变量控制流程5.1、需求5.2、流程定义5.3、设置global流程变量5.4、测试5.5、注意事项5.6、操作…文章目录1、流程变量概念2、流程变量类型3、流程变量作用域3.1、globa变量3.2、local变量4、流程变量的使用方法4.1、在属性上使用UEL表达式4.2、在连线上使用UEL表达式5、使用Global变量控制流程5.1、需求5.2、流程定义5.3、设置global流程变量5.4、测试5.5、注意事项5.6、操作数据库表6、设置local流程变量6.1、任务办理时设置6.2、通过当前任务设置6.3、 Local变量测试16.4、 Local变量测试21、流程变量概念流程变量在 activiti 中是一个非常重要的角色流程运转有时需要靠流程变量业务系统和 activiti结合时少不了流程变量流程变量就是 activiti 在管理工作流时根据管理需要而设置的变量。比如在出差申请流程流转时如果出差天数大于 3 天则由总经理审核否则由人事直接审核 出差天数就可以设置为流程变量在流程流转时使用。注意虽然流程变量中可以存储业务数据可以通过activiti的api查询流程变量从而实现 查询业务数据但是不建议这样使用因为业务数据查询由业务系统负责activiti设置流程变量是为了流程执行需要而创建。2、流程变量类型如果将 pojo 存储到流程变量中必须实现序列化接口 serializable为了防止由于新增字段无法反序列化需要生成 serialVersionUID。变量类型描述常见示例/平台参考基础类型存储单一、基础的数据。字符串(String)、整数(Integer)、小数(Decimal/Double)、布尔值(Boolean)、日期(Date)。复杂/对象类型存储结构化的数据。可序列化的Java对象POJO、结构体(Structure)、列表(List)、键值对(Map)。专用类型为特定业务场景设计。选择列表(Selection)、文件(File)、在阿里云ModelStudio中区分的系统、业务、节点结果参数。3、流程变量作用域流程变量的作用域可以是一个流程实例(processInstance)或一个任务(task)或一个执行实例(execution)3.1、globa变量流程变量的默认作用域是流程实例。当一个流程变量的作用域为流程实例时可以称为 global 变量注意如 Global变量userId变量名、zhangsan变量值global 变量中变量名不允许重复设置相同名称的变量后设置的值会覆盖前设置的变量值。3.2、local变量任务和执行实例仅仅是针对一个任务和一个执行实例范围范围没有流程实例大 称为 local 变量。Local 变量由于在不同的任务或不同的执行实例中作用域互不影响变量名可以相同没有影响。Local 变量名也可以和 global 变量名相同没有影响。4、流程变量的使用方法4.1、在属性上使用UEL表达式可以在 assignee 处设置 UEL 表达式表达式的值为任务的负责人比如 ${assignee} assignee 就是一个流程变量名称。Activiti获取UEL表达式的值即流程变量assignee的值 将assignee的值作为任务的负责人进行任务分配4.2、在连线上使用UEL表达式可以在连线上设置UEL表达式决定流程走向。比如${price10000} 。price就是一个流程变量名称uel表达式结果类型为布尔类型。如果UEL表达式是true要决定 流程执行走向。5、使用Global变量控制流程5.1、需求员工创建出差申请单由部门经理审核部门经理审核通过后出差3天及以下由人财务直接审批3天以上先由总经理审核总经理审核通过再由财务审批。5.2、流程定义出差天数大于等于3连线条件也可以使用对象参数命名如evection.num出差天数小于3连线条件也可以使用对象参数命名如5.3、设置global流程变量在部门经理审核前设置流程变量变量值为出差单信息包括出差天数部门经理审核后可以根据流程变量的值决定流程走向。在设置流程变量时可以在启动流程时设置也可以在任务办理时设置创建POJO对象创建出差申请pojo对象packageorg.example.pojo;importlombok.Data;importjava.io.Serializable;importjava.util.Date;/** * 出差申请 pojo * author Administrator */DatapublicclassEvectionimplementsSerializable{/** * 主键id */privateLongid;/** * 出差申请单名称 */privateStringevectionName;/** * 出差天数 */privateDoublenum;/** * 预计开始时间 */privateDatebeginDate;/** * 预计结束时间 */privateDateendDate;/** * 目的地 */privateStringdestination;/** * 出差事由 */privateStringreson;}启动流程时设置变量在启动流程时设置流程变量变量的作用域是整个流程实例。通过Mapkey,value设置流程变量map中可以设置多个变量这个key就是流程变量的名字。/** * 启动流程实例,设置流程变量的值 */TestpublicvoidstartProcess(){// 获取流程引擎ProcessEngineprocessEngineProcessEngines.getDefaultProcessEngine();// 获取RunTimeServiceRuntimeServiceruntimeServiceprocessEngine.getRuntimeService();// 流程定义keyStringkeymyEvection2;// 创建变量集合MapString,ObjectmapnewHashMap();// 创建出差pojo对象EvectionevectionnewEvection();// 设置出差天数evection.setNum(2d);// 定义流程变量把出差pojo对象放入mapmap.put(evection,evection);// 设置assignee的取值用户可以在界面上设置流程的执行map.put(assignee0,张三);map.put(assignee1,李经理);map.put(assignee2,王总经理);map.put(assignee3,赵财务);// 启动流程实例并设置流程变量的值把map传入ProcessInstanceprocessInstanceruntimeService.startProcessInstanceByKey(key,map);// 输出System.out.println(流程实例名称processInstance.getName());System.out.println(流程定义idprocessInstance.getProcessDefinitionId());}/** * 完成任务判断当前用户是否有权限 */TestpublicvoidcompletTask(){//任务idStringkeymyEvection2;// 任务负责人Stringassingee张三;//获取processEngineProcessEngineprocessEngineProcessEngines.getDefaultProcessEngine();// 创建TaskServiceTaskServicetaskServiceprocessEngine.getTaskService();// 完成任务前需要校验该负责人可以完成当前任务// 校验方法// 根据任务id和任务负责人查询当前任务如果查到该用户有权限就完成TasktasktaskService.createTaskQuery().processDefinitionKey(key).taskAssignee(assingee).singleResult();if(task!null){taskService.complete(task.getId());System.out.println(任务执行完成);}}说明startProcessInstanceByKey(processDefinitionKey,variables)流程变量作用域是一个流程实例流程变量使用Map存储同一个流程实例设置变量map中key相同后者覆盖前者。任务办理时设置变量在完成任务时设置流程变量该流程变量只有在该任务完成后其它结点才可使用该变量它的作用域是整个流程实例如果设置的流程变量的key在流程实例中已存在相同的名字则后设置的变量替换前边设置的变量。这里需要在创建出差单任务完成时设置流程变量/** * 完成任务判断当前用户是否有权限 */TestpublicvoidcompletTask(){//任务idStringkeymyEvection2;// 任务负责人Stringassingee张三;// 获取processEngineProcessEngineprocessEngineProcessEngines.getDefaultProcessEngine();// 创建TaskServiceTaskServicetaskServiceprocessEngine.getTaskService();// 创建变量集合MapString,ObjectmapnewHashMap();// 创建出差pojo对象EvectionevectionnewEvection();// 设置出差天数evection.setNum(2d);// 定义流程变量map.put(evection,evection);// 完成任务前需要校验该负责人可以完成当前任务// 校验方法// 根据任务id和任务负责人查询当前任务如果查到该用户有权限就完成TasktasktaskService.createTaskQuery().processDefinitionKey(key).taskAssignee(assingee).singleResult();if(task!null){//完成任务是设置流程变量的值taskService.complete(task.getId(),map);System.out.println(任务执行完成);}}说明通过当前任务设置流程变量需要指定当前任务id如果当前执行的任务id不存在则抛出异常。任务办理时也是通过mapkey,value设置流程变量一次可以设置多个变量。通过当前流程实例设置通过流程实例id设置全局变量该流程实例必须未执行完成。TestpublicvoidsetGlobalVariableByExecutionId(){// 当前流程实例执行 id通常设置为当前执行的流程实例StringexecutionId2601;// 获取processEngineProcessEngineprocessEngineProcessEngines.getDefaultProcessEngine();// 获取RuntimeServiceRuntimeServiceruntimeServiceprocessEngine.getRuntimeService();// 创建出差pojo对象EvectionevectionnewEvection();// 设置天数evection.setNum(3d);// 通过流程实例 id设置流程变量runtimeService.setVariable(executionId,evection,evection);// 一次设置多个值// runtimeService.setVariables(executionId, variables)}注意executionId必须当前未结束 流程实例的执行id通常此id设置流程实例 的id。也可以通runtimeService.getVariable()获取流程变量。通过当前任务设置TestpublicvoidsetGlobalVariableByTaskId(){//当前待办任务idStringtaskId1404;// 获取processEngineProcessEngineprocessEngineProcessEngines.getDefaultProcessEngine();TaskServicetaskServiceprocessEngine.getTaskService();EvectionevectionnewEvection();evection.setNum(3);//通过任务设置流程变量taskService.setVariable(taskId,evection,evection);//一次设置多个值//taskService.setVariables(taskId, variables)}注意任务id必须是当前待办任务idact_ru_task中存在。如果该任务已结束会报错也可以通过taskService.getVariable()获取流程变量。5.4、测试正常测试– 设置流程变量的值大于等于3天– 设计流程变量的值小于3天异常测试– 流程变量不存在– 流程变量的值为空NULLprice属性为空– UEL表达式都不符合条件– 不设置连线的条件5.5、注意事项- 如果UEL表达式中流程变量名不存在则报错。 - 如果UEL表达式中流程变量值为空NULL流程不按UEL表达式去执行而流程结束 。 - 如果UEL表达式都不符合条件流程结束 - 如果连线不设置条件会走flow序号小的那条线5.6、操作数据库表设置流程变量会在当前执行流程变量表插入记录同时也会在历史流程变量表也插入记录。//当前流程变量表SELECT*FROMact_ru_variable记录当前运行流程实例可使用的流程变量包括 global和local变量Id_主键Type_变量类型Name_变量名称Execution_id_所属流程实例执行idglobal和local变量都存储Proc_inst_id_所属流程实例idglobal和local变量都存储Task_id_所属任务idlocal变量存储Bytearray_serializable类型变量存储对应act_ge_bytearray表的idDouble_double类型变量值Long_long类型变量值Text_text类型变量值#历史流程变量表SELECT*FROMact_hi_varinst记录所有已创建的流程变量包括 global和local变量字段意义参考当前流程变量表。6、设置local流程变量6.1、任务办理时设置任务办理时设置local流程变量当前运行的流程实例只能在该任务结束前使用任务结束该变量无法在当前流程实例使用可以通过查询历史任务查询。/* *处理任务时设置local流程变量 */TestpublicvoidcompletTask(){//任务idStringtaskId1404;// 获取processEngineProcessEngineprocessEngineProcessEngines.getDefaultProcessEngine();TaskServicetaskServiceprocessEngine.getTaskService();// 定义流程变量MapString,ObjectvariablesnewHashMapString,Object();EvectionevectionnewEvection();evection.setNum(3d);// 定义流程变量MapString,ObjectvariablesnewHashMapString,Object();// 变量名是holiday变量值是holiday对象variables.put(evection,evection);// 设置local变量作用域为该任务taskService.setVariablesLocal(taskId,variables);// 完成任务taskService.complete(taskId);}说明设置作用域为任务的local变量每个任务可以设置同名的变量互不影响。6.2、通过当前任务设置TestpublicvoidsetLocalVariableByTaskId(){// 当前待办任务idStringtaskId1404;// 获取processEngineProcessEngineprocessEngineProcessEngines.getDefaultProcessEngine();TaskServicetaskServiceprocessEngine.getTaskService();EvectionevectionnewEvection();evection.setNum(3d);// 通过任务设置流程变量taskService.setVariableLocal(taskId,evection,evection);// 一次设置多个值//taskService.setVariablesLocal(taskId, variables)}注意任务id必须是当前待办任务idact_ru_task中存在。6.3、 Local变量测试1如果上边例子中设置global变量改为设置local变量是否可行为什么Local变量在任务结束后无法在当前流程实例执行中使用如果后续的流程执行需要用到此变量则会报错。6.4、 Local变量测试2在部门经理审核、总经理审核、财务审核时设置local变量可通过historyService查询每个历史任务时将流程变量的值也查询出来。代码如下// 创建历史任务查询对象HistoricTaskInstanceQueryhistoricTaskInstanceQueryhistoryService.createHistoricTaskInstanceQuery();// 查询结果包括 local变量historicTaskInstanceQuery.includeTaskLocalVariables();for(HistoricTaskInstancehistoricTaskInstance:list){System.out.println();System.out.println(任务idhistoricTaskInstance.getId());System.out.println(任务名称historicTaskInstance.getName());System.out.println(任务负责人historicTaskInstance.getAssignee());System.out.println(任务local变量historicTaskInstance.getTaskLocalVariables());}注意查询历史流程变量特别是查询pojo变量需要经过反序列化不推荐使用。“人的一生会经历很多痛苦但回头想想都是传奇”。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做类似慕课网的网站要多少钱网站页面设计方案怎么写

还在为数据标注的繁琐流程而头疼吗?LabelLLM作为一款功能强大的开源数据标注平台,正在彻底改变传统标注工作的方式。无论你是个人开发者还是团队负责人,这个工具都能让你体验到前所未有的标注效率。 【免费下载链接】LabelLLM 项目地址: h…

张小明 2026/1/6 14:52:02 网站建设

哈尔滨整站优化网络营销和推广做什么

eviews stata计量经济学模型,VAR模型,VECM模型,脉冲响应,方差分解。计量经济学里头的VAR模型,简直就是时间序列分析的万金油。这玩意儿全称叫向量自回归模型,说白了就是几个变量互相解释对方。比如研究GDP和…

张小明 2026/1/9 17:19:16 网站建设

个人建设网站流程有没有免费的企业网站建设

现在的大模型发布的快的来不及用,gemini-3.0-pro还没用完,gpt5.2出来了,还有咱们国产的deepseek-3.2,据说也是特别能打。我们一直在思考,怎么评估出他们之间谁更适合我们的某一类需求。 我们可不可以这样做&#xff1…

张小明 2026/1/7 2:01:11 网站建设

网站管理系统哪个最好做非洲外贸的网站

### 后硅基文明范式构建与跨平台实施方案 #### 一、LaTeX文档创建(核心范式定义) latex \documentclass[UTF8]{ctexart} \usepackage{amsmath, amssymb, hyperref} \title{后硅基文明范式:念\ 力显化・量子永生・文明永续} \author{龙冈永…

张小明 2026/1/6 14:54:20 网站建设

临邑建设局官方网站wordpress转手机

PyCharm激活码永久免费?警惕盗版陷阱,专注IndexTTS2正版生态 在AI语音技术飞速发展的今天,越来越多的开发者开始尝试构建自己的语音合成系统。从智能客服到虚拟主播,从有声读物到辅助阅读工具,高质量、个性化的语音输出…

张小明 2026/1/6 20:18:01 网站建设

清河做网站哪里便宜教育网站报名

服务器计算网络设计全解析 1. 设计原则概述 将高层目标转化为具体的网络设计并非易事。即便将设计服务外包给顾问,网络管理员也需清晰了解设计过程,以确保设计方案能满足需求。网络设计需在四个主要方面达成目标: - 基础设施 :涵盖局域网(LAN)和广域网(WAN)的连接…

张小明 2026/1/11 9:32:07 网站建设