La Red de Conocimientos Pedagógicos - Currículum vitae - Práctica de flujo (5) Formas y variables de proceso

Práctica de flujo (5) Formas y variables de proceso

? Cuando una instancia de proceso se ejecuta paso a paso, es necesario guardar y utilizar algunos datos. En mutable, estos datos se llaman variables.

? Las instancias de proceso pueden guardar variables, llamadas variables de proceso.

? Para mayor eficiencia de uso, Yiliu divide las variables en dos tipos: variables de tiempo de ejecución y variables históricas.

? Las variables cuando se ejecuta la instancia del proceso se almacenan en la tabla act_ru_variable. Al final de una instancia de proceso, las variables de esa instancia se eliminan de la tabla.

? Las variables de proceso se pueden configurar al crear e iniciar una instancia de proceso. Todos los métodos startProcessInstanceXXX tienen un parámetro opcional para configurar una variable. Por ejemplo, en RuntimeService:

? También puede agregar variables a la ejecución del proceso. Por ejemplo, (RuntimeService):

? Leer método de variable (tenga en cuenta que existe un método similar en TaskService. Esto significa que las tareas, como las ejecuciones, pueden guardar variables locales y su vida útil es la duración de la tarea).

? Variables históricas, almacenadas en la tabla act_hi_varinst. Cuando comienza el proceso, las variables del proceso se almacenarán en la tabla de variables históricas al mismo tiempo; cuando finaliza el proceso, las variables en la tabla histórica aún existen. Una variable de proceso que puede entenderse como "generada perpetuamente".

? Obtenga todas las HistoricVariableInstances en la instancia de proceso completada con ID "XXX" y ordénelas por nombre de variable.

? En los negocios reales, los procesos van acompañados de varios formularios y el motor de procesos almacena los datos del formulario como variables de proceso en la tabla de variables. Por lo tanto, con el motor fluido, puede funcionar de forma completamente independiente del formulario, ya que los datos del formulario pueden ser reemplazados por variables de proceso.

? Pero, en general, necesitamos datos estructurados y los formularios siguen siendo nuestro uso recomendado.

? Hay dos formas de definir un formulario: formulario integrado y formulario externo.

? Tomando las vacaciones como ejemplo, contenido XML:

? Cómo utilizar:

? ¿O

? Simplemente comprenda los formularios integrados, pero la aplicación real se trata más del uso de formularios externos.

? Un formulario de tarea que se representa a sí mismo basándose en un archivo de formulario se denomina formulario externo.

? En el entorno springboot, cualquier cosa con. Los sufijos de formulario en el directorio de recursos/formularios se implementarán automáticamente.

? Por ejemplo, guarde la definición del formulario 2.2.2 como un archivo Leave.form y colóquelo en el directorio recursos/formularios.

? De hecho, todos los datos necesarios para representar el formulario se ensamblan de dos maneras:

? Puede enviar parámetros de formulario de las dos maneras siguientes:

? Información específica del parámetro de formulario FormProperty:

? Método para obtener datos del formulario de la instancia de proceso especificada:

? ¿Cómo enviar datos del formulario:

? Los datos del formulario en realidad se almacenan en la tabla de variables de proceso, por lo que también se pueden obtener y enviar utilizando el método de variables de proceso.

? ¿El formulario admite los siguientes tipos de campos

? En aplicaciones reales, los tipos de campos de formulario proporcionados por el flujo no satisfacen completamente las necesidades, por lo que a menudo necesitamos personalizar los tipos de campos de formulario.

? Todos los tipos de campos personalizados deben heredar una clase abstracta de tipo de expresión "org. flow able. motor. form. abstract formtype".

? Por ejemplo, defina un tipo personalizado de "tarjeta":

? Cree una nueva clase de configuración y registre una clase de análisis de tipo de campo personalizado.

? Flowable admite motores de formularios personalizados para adaptarse a varios escenarios. Solo necesita implementar el motor de formulario impl de la interfaz org.flow y luego registrar la clase de implementación del motor de formulario personalizado.

? El método de registro es similar a los tipos de campos de formulario personalizados.

Agregue la siguiente declaración a la clase de configuración:

? Cómo utilizar:

? A través de este artículo, aprendimos sobre el uso específico de las variables de formulario y proceso. De manera similar, en el uso empresarial real, todavía necesitamos mucha optimización. Por ejemplo, podemos guardar claves comunes en formKey, obtener la plantilla de formulario que realmente necesitamos mediante algoritmos o conversiones, mostrar un formulario en un tamaño de pantalla normal en una aplicación web y mostrar otro formulario en una pantalla pequeña, como la de un teléfono móvil. También existe el "JPA integrado", que se mencionará en el próximo artículo, para optimizar aún más el uso de variables de formulario y proceso.