当前位置:网站首页>Relations courantes de la fiche de données d'exploitation pour les activités
Relations courantes de la fiche de données d'exploitation pour les activités
2022-07-04 07:35:00 【M. json - architecte】
1.Définition du processus après le déploiementactivitiDe3Le tableau est le suivant::
act_re_deployment Définition du processus tableau de déploiement,Ajouter un enregistrement par déploiement
act_re_procdef Tableau de définition du processus,Le déploiement de chaque nouvelle définition de processus ajoute un enregistrement à ce tableau
act_ge_bytearray Tableau des ressources du processus
Attention!:
act_re_deploymentEtact_re_procdefUne à plusieurs relations,Un déploiement à la fois génère un enregistrement dans le tableau de déploiement du processus,Mais plusieurs définitions de processus peuvent être déployées à la fois,Chaque définition de processus génère un enregistrement dans le tableau de définition de processus.Chaque processus est défini dansact_ge_bytearrayIl y aura deux enregistrements de ressources,bpmnEtpng.
Suggestion:Déployer un processus à la fois,De cette façon, le tableau de déploiement et le tableau de définition du processus sont un à un,Faciliter l'accès à l'information sur le déploiement des processus et la définition des processus.
2.Démarrer la Feuille de données d'action de l'Instance de processus
act_hi_actinst Historique d'exécution de l'Instance de processus
act_hi_actinstAvecact_hi_identitylinkAdoptionPROC_INST_IDLiens
act_hi_identitylink Historique de l'utilisateur participant au processus
act_hi_procinst Historique de l'Instance de processus,Les affairesIDPar ici.BUSINESS_KEY_
Attention!PROC_INST_ID_EtPROC_DEF_ID_Champ
act_hi_taskinst Historique des tâches de processus
act_ru_execution Information sur l'exécution du processus,Les affairesIDPar ici.BUSINESS_KEY_
act_ru_identitylink Information des utilisateurs participants au processus
act_ru_task Informations sur la Mission
3.Démarrer l'Instance de processus et ajouterBusinesskey(Identification de l'entreprise)
Définition du processus déployée àactivitiAprès,Pour passer à travers le systèmeactivitiPour gérer l'exécution du processus,Le processus d'exécution représente une seule exécution du processus.
Par exemple, après le déploiement du processus de déplacement du système,Si un utilisateur demande un voyage d'affaires, ce processus doit être exécuté,Si un autre utilisateur demande également un voyage d'affaires, le processus doit également être exécuté,Chaque exécution n'affecte pas l'autre,Chaque exécution est une instance de processus distincte.
Lors du démarrage de l'Instance de processus,Désignationbusinesskey,Et ce seraact_ru_execution #Stocké dans le tableau d'exécution de l'Instance de processusbusinesskey.
Businesskey:Identification de l'entreprise,Habituellement la clé primaire de la table d'affaires,L'id d'entreprise correspond à l'Instance de processus une par une.L'id d'entreprise provient du système d'entreprise.L'id d'entreprise de stockage est utilisé pour associer et interroger les données du système d'entreprise en fonction de l'ID d'entreprise.
Par exemple,:Processus de voyage démarrer une instance de processus,Vous pouvez faire un voyage d'affairesidStocké comme ID d'entreprise àactivitiMoyenne,Demandes futuresactivitiL'information sur l'Instance de processus peut être obtenue à partir deidAinsi, l'information sur la Feuille de voyage peut être obtenue en interrogeant la base de données du système d'affaires.
/** * Démarrer l'Instance de processus,AjouterbusinessKey */
@Test
public void addBusinessKey(){
// 1、Je l'ai.ProcessEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2、Je l'ai.RunTimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
// 3、Démarrer l'Instance de processus, Spécifiez également l'ID d'entreprise businessKey, C'est - à - dire le formulaire de demande de voyage d'affaires id,Ici.1001
ProcessInstance processInstance = runtimeService.
startProcessInstanceByKey("myEvection","1001");
// 4、ProduitsprocessInstancePropriétés connexes
System.out.println("Les affairesid=="+processInstance.getBusinessKey());
}
ActivitiDeact_ru_execution Stocker l'ID d'entreprise dans :
Fonctionnement des tables de base de données
Démarrer l'Instance de processus, Utilisez la table de base de données suivante :
SELECT * FROM act_ru_execution # Tableau d'exécution de l'Instance de processus , Enregistrer l'exécution de l'Instance de processus actuelle
Description:
Exécution de l'Instance de processus , Si vous n'avez actuellement qu'une seule branche , Une instance de processus n'a qu'un seul enregistrement et exécute la clé primaire de la table idEt des exemples de processusidMême chose., S'il y a actuellement plus d'une branche en cours d'exécution, il y a plus d'un enregistrement dans le tableau d'exécution , Il existe des clés primaires et des instances de processus pour les tables d'exécution id Différents enregistrements . La clé primaire et l'Instance de processus d'une table d'exécution qui a toujours un enregistrement indépendamment des branches actuelles idMême chose.
Exécution d'une instance de processus terminée , Suppression des enregistrements liés aux instances de processus dans ce tableau .
SELECT * FROM act_ru_task # Tableau d'exécution des tâches , Enregistrer les tâches actuellement exécutées
Description:Démarrer l'Instance de processus, Le processus est actuellement exécuté au premier noeud de tâche , Ce tableau insère un enregistrement indiquant l'exécution de la tâche en cours , Supprimer l'enregistrement si la tâche est terminée .
SELECT * FROM act_ru_identitylink #Participants à la Mission, Enregistre les utilisateurs ou les groupes qui participent actuellement à la tâche
SELECT * FROM act_hi_procinst #Historique des instances de processus
Démarrage de l'Instance de processus, Un enregistrement est inséré dans ce tableau , L'enregistrement d'achèvement de l'exécution de l'Instance de processus ne sera pas supprimé non plus. .
SELECT * FROM act_hi_taskinst #Tableau historique des tâches, Enregistrer toutes les tâches
Commencez une mission,Pas seulement dansact_ru_taskTable Insert record, Un enregistrement est également inséré dans la table des tâches historiques , La clé primaire de la table d'historique des tâches est la tâche id, Tâche terminée cet enregistrement de table n'est pas supprimé .
SELECT * FROM act_hi_actinst # Tableau historique des activités , Enregistrer toutes les activités
Les activités comprennent des tâches , Donc ce tableau n'enregistre pas seulement les tâches , D'autres activités du processus d'exécution du processus sont également documentées. , Comme démarrer un événement 、Fin de l'événement.
Processus d'acquisitionbusinessKey(Identification de l'entreprise )
String businessKey = processInstance.getBusinessKey();
InactivitiDeact_ru_executionTableau,ChampBUSINESS_KEY C'est le stockage des affaires KEYDe.
4. Suppression du processus
public void deleteDeployment() {
// Déploiement des processusid
String deploymentId = "1";
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// Obtenu par le moteur de processus repositoryService
RepositoryService repositoryService = processEngine
.getRepositoryService();
//Supprimer la définition du processus,Erreur lors de la suppression si la définition du processus a déjà commencé une instance de processus
repositoryService.deleteDeployment(deploymentId);
//Paramètrestrue Cascade supprimer la définition du processus,Le processus peut être supprimé même s'il a une instance de processus qui démarre,Set tofalseMéthode de suppression hors niveau, Si le processus
//repositoryService.deleteDeployment(deploymentId, true);
}
Description:
UtiliserrepositoryServiceSupprimer la définition du processus, Les informations du tableau historique ne seront pas suppriméesS'il n'y a pas de processus en cours d'exécution sous cette définition de processus , Peut être supprimé en général .
S'il y a un processus en cours d'exécution sous cette définition de processus , Utiliser la suppression normale pour signaler les erreurs , Le processus et les enregistrements connexes peuvent être supprimés en cascade. .
Supprimer d'abord le noeud de processus incomplet , Enfin, vous pouvez supprimer complètement les informations de définition de processus
L'opération de suppression conjointe de niveau intermédiaire pour le développement de projets n'est généralement ouverte qu'aux super administrateurs. .
5.Téléchargement des ressources du processus
Nos fichiers de ressources de processus sont maintenant téléchargés dans la base de données ,Si d'autres utilisateurs veulent voir ces fichiers de ressources, Les fichiers de ressources peuvent être téléchargés localement à partir de la base de données .
Les solutions sont::
1、jdbcC'est exact.blobType,clob Type de données lues ,Enregistrer dans un répertoire de fichiers
2、UtiliseractivitiDeapiPour réaliser
Utilisercommons-io.jar RésolutionIOFonctionnement
Introductioncommons-ioPaquets dépendants
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
Obtenir des ressources de définition de processus à partir d'objets de définition de processus ,AccèsbpmnEtpng
import org.apache.commons.io.IOUtils;
@Test
public void deleteDeployment(){
// Obtenir le moteur
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// AccèsrepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
// Selon le déploiementid Supprimer les informations de déploiement , Si vous voulez supprimer en cascade ,Vous pouvez ajouter un deuxième paramètre,true
repositoryService.deleteDeployment("1");
}
public void queryBpmnFile() throws IOException {
// 1、 Obtenir le moteur
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2、AccèsrepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
// 3、 Obtenez le chercheur :ProcessDefinitionQuery,.Définir les critères de requête, Obtenir la définition de processus souhaitée
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
.processDefinitionKey("myEvection")
.singleResult();
// 4、Définir l'information par le processus, Déploiement ID
String deploymentId = processDefinition.getDeploymentId();
// 5、AdoptionrepositoryServiceMéthode, Permet de lire les informations de l'image et bpmnInformation
// png Flux d'images
InputStream pngInput = repositoryService.getResourceAsStream(deploymentId, processDefinition.getDiagramResourceName());
// bpmnFlux de fichiers
InputStream bpmnInput = repositoryService.getResourceAsStream(deploymentId, processDefinition.getResourceName());
// 6、StructureOutputStreamFlow
File file_png = new File("d:/evectionflow01.png");
File file_bpmn = new File("d:/evectionflow01.bpmn");
FileOutputStream bpmnOut = new FileOutputStream(file_bpmn);
FileOutputStream pngOut = new FileOutputStream(file_png);
// 7、Flux d'entrée,Conversion du flux de sortie
IOUtils.copy(pngInput,pngOut);
IOUtils.copy(bpmnInput,bpmnOut);
// 8、Fermer le flux
pngOut.close();
bpmnOut.close();
pngInput.close();
bpmnInput.close();
}
Description:
deploymentId Déploiement du processus IDresource_namePouract_ge_bytearrayDans le tableauNAME_Valeur de la colonneUtiliserrepositoryServiceDegetDeploymentResourceNames Méthode pour obtenir les noms de tous les fichiers sous le déploiement spécifiéUtiliserrepositoryServiceDegetResourceAsStream Méthode de déploiement entrant ID Et le nom de l'image de la ressource obtient le flux d'entrée du fichier nommé sous déploiement
Enfin, la sortie des ressources d'image dans le flux d'entrée .
边栏推荐
- In the era of low code development, is it still needed?
- It's healthy to drink medicinal wine like this. Are you drinking it right
- Implementation of ZABBIX agent active mode
- BasicVSR++: Improving Video Super-Resolutionwith Enhanced Propagation and Alignment
- tornado之目录
- 提升复杂场景三维重建精度 | 基于PaddleSeg分割无人机遥感影像
- 手写简易版flexible.js以及源码分析
- The IP bound to the socket is inaddr_ The meaning of any htonl (inaddr_any) (0.0.0.0 all addresses, uncertain addresses, arbitrary addresses)
- L1-027 rental (20 points)
- "Sword finger offer" 2nd Edition - force button brush question
猜你喜欢

Amd RX 7000 Series graphics card product line exposure: two generations of core and process mix and match

Project 1 household accounting software (goal + demand description + code explanation + basic fund and revenue and expenditure details record + realization of keyboard access)
![[Mori city] random talk on GIS data (I)](/img/e4/2a2ceb10a2c0285cdd0c922f827930.png)
[Mori city] random talk on GIS data (I)

The number of patent applications in China has again surpassed that of the United States and Japan, ranking first in the world for 11 consecutive years

Recursive Fusion and Deformable Spatiotemporal Attention for Video Compression Artifact Reduction

提升复杂场景三维重建精度 | 基于PaddleSeg分割无人机遥感影像

Zhanrui tankbang | jointly build, cooperate and win-win zhanrui core ecology

Routing decorator of tornado project

Tri des fonctions de traitement de texte dans MySQL, recherche rapide préférée

"Sword finger offer" 2nd Edition - force button brush question
随机推荐
Project 1 household accounting software (goal + demand description + code explanation + basic fund and revenue and expenditure details record + realization of keyboard access)
System architecture design of circle of friends
[kubernetes series] kubesphere is installed on kubernetes
Valentine's Day is coming! Without 50W bride price, my girlfriend was forcibly dragged away...
Docker install MySQL
Xcode 14之大变化详细介绍
The frost peel off the purple dragon scale, and the xiariba people will talk about database SQL optimization and the principle of indexing (primary / secondary / clustered / non clustered)
socket inet_ pton() inet_ Ntop() function (a new network address translation function, which converts the expression format and numerical format to each other. The old ones are inet_aton(), INET_ ntoa
L2-013 red alarm (C language) and relevant knowledge of parallel search
促进OKR落地的工作总结该如何写?
Introduction to sap commerce cloud B2B organization function
Rapidjson reading and writing JSON files
时序数据库 InfluxDB 2.2 初探
Boast about Devops
flask-sqlalchemy 循环引用
Vulhub vulnerability recurrence 77_ zabbix
Blue Bridge Cup Quick sort (code completion)
Zephyr 学习笔记1,threads
[C language] open the door of C
Implementation of ZABBIX agent active mode