Task process approval method and device, medium, equipment and product
By introducing shunt nodes and generating multiple approval branches in the approval process, the problems of repeated approval in batch approval were solved, and the data automation diversion and approval efficiency were realized.
Patent Information
- Application Number
- CN202411413253.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-10
- Publication Date
- 2025-01-28
AI Technical Summary
In the case of batch approval, the reviewer needs to repeatedly conduct approval, resulting in low approval efficiency and large workload.
By introducing shunt nodes in the approval process, multiple approval branches are generated according to the target task data and diversion types, and an independent approval process process is performed in each branch.
The data is automated during the approval process. It is suitable for the merger scene after the data group approval in batch data approval, which reduces the repeated workload of the approval person and improves the approval efficiency.
Smart Images

Figure CN119379196A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular, to a task flow approval method, device, medium, equipment and product. Background Art
[0002] With the development of computer technology, online data approval has provided great convenience for users. Batch approval may occur in the approval scenario. In the related technology, in the batch approval scenario, for multiple records to be approved, the reviewer is usually required to repeatedly approve them, which has low approval efficiency and large approval workload. Summary of the invention
[0003] This summary is provided to introduce concepts in a brief form that will be described in detail in the detailed description below. This summary is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0004] In a first aspect, the present disclosure provides a task process approval method, the method comprising: in response to receiving an approval request, obtaining the approval process and target task data of the approval request, wherein the approval process includes multiple nodes; if the type of the current node is a diversion node, based on the target task data and the diversion type corresponding to the diversion node, determining multiple approval branches under the diversion node and the pending approval data corresponding to each of the approval branches, wherein different approval branches correspond to different pending approval data, and the union of the pending approval data corresponding to the multiple approval branches is the target task data; based on the pending approval data corresponding to each of the approval branches, executing the approval sub-process corresponding to the approval branch, and obtaining the approval result data of the approval branch; after the approval sub-processes of each of the approval branches are completed, determining the task data of the confluence node corresponding to the diversion node based on the approval result data of each of the approval branches; based on the task data of the confluence node, continuing to approve based on the approval process until the approval process ends.
[0005] In a second aspect, the present disclosure provides a task flow approval device, the device comprising: an acquisition module, for obtaining the approval flow and target task data of the approval request in response to receiving an approval request, wherein the approval flow includes multiple nodes; a first determination module, for determining, if the type of the current node is a diversion node, multiple approval branches under the diversion node and the pending approval data corresponding to each of the approval branches based on the target task data and the diversion type corresponding to the diversion node, wherein different approval branches correspond to different pending approval data, and the union of the pending approval data corresponding to the multiple approval branches is the target task data; a first processing module, for executing the approval sub-flow corresponding to each approval branch based on the pending approval data corresponding to the approval branch, and obtaining the approval result data of the approval branch; a second determination module, for determining the task data of the confluence node corresponding to the diversion node based on the approval result data of each approval branch after the approval sub-flow of each approval branch is completed; and a second processing module, for continuing to approve based on the approval flow based on the task data of the confluence node until the approval flow is completed.
[0006] In a third aspect, the present disclosure provides a computer-readable medium having a computer program stored thereon, which implements the steps of the method described in the first aspect when the computer program is executed by a processing device.
[0007] In a fourth aspect, the present disclosure provides an electronic device, comprising: a storage device on which a computer program is stored; and a processing device for executing the computer program in the storage device to implement the steps of the method described in the first aspect.
[0008] In a fifth aspect, the present disclosure provides a computer program product, including a computer program, which implements the steps of the method described in the first aspect when executed by a processor.
[0009] Through the above technical solution, the target task data of the approval request can generate multiple approval branches through the diversion node in the approval process, so as to carry out independent approval in each approval branch, and merge the approval result data after the approval of each approval branch is completed to continue the subsequent approval process, thereby realizing the automatic diversion of data in the approval process, which is suitable for the scenario of merging data after grouping and approval in the batch data approval process, effectively reducing the approval workload caused by duplication of approvers in the approval process, effectively improving the approval efficiency of the approval process, and being suitable for more comprehensive approval scenarios.
[0010] Other features and advantages of the present disclosure will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale. In the drawings:
[0012] Figure 1 It is a flowchart of a task process approval method provided according to an embodiment of the present disclosure.
[0013] Figure 2 It is a schematic diagram of the approval sub-process of each approval branch under a diversion node provided according to an embodiment of the present disclosure.
[0014] Figure 3 is a schematic diagram of a configuration interface provided according to an embodiment of the present disclosure.
[0015] Figure 4 is a schematic diagram of a configuration interface provided according to another embodiment of the present disclosure.
[0016] Figure 5 It is a schematic diagram of the approval sub-process of each approval branch under the diversion node provided according to another embodiment of the present disclosure.
[0017] Figure 6 It is a schematic diagram of the approval sub-process of each approval branch under the diversion node provided according to another embodiment of the present disclosure.
[0018] Figure 7 It is a schematic diagram of an approval process provided according to an embodiment of the present disclosure.
[0019] Figure 8 It is a schematic diagram of an approval display interface provided according to an embodiment of the present disclosure.
[0020] Fig. 9 It is a schematic diagram of an approval display interface provided according to another embodiment of the present disclosure.
[0021] Fig.10 It is a block diagram of a task flow approval device provided according to an embodiment of the present disclosure.
[0022] Fig.11 A schematic diagram of the structure of an electronic device suitable for implementing the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0023] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0024] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0025] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.
[0026] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0027] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0028] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0029] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0030] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.
[0031] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0032] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0033] At the same time, it is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0034] Figure 1 As shown, it is a flowchart of a task process approval method provided according to an embodiment of the present disclosure, such as Figure 1 As shown, the method may include:
[0035] In step 11, in response to receiving an approval request, an approval process and target task data of the approval request are obtained, wherein the approval process includes a plurality of nodes.
[0036] Among them, the user can submit an approval request through the approval interface. For example, in the scenario of batch salary adjustment, the user can select the employees who need salary adjustment to initiate the approval request, and then the approval process of the approval request can be determined from the pre-configured process based on the identification of the approval request, such as the batch salary adjustment approval process, and the target task data is used to represent the data associated with the approval request, such as the employee data of the salary adjustment in this scenario.
[0037] In step 12, if the type of the current node is a diversion node, multiple approval branches under the diversion node and the data to be approved corresponding to each approval branch are determined based on the target task data and the diversion type corresponding to the diversion node. Different approval branches correspond to different data to be approved, and the union of the data to be approved corresponding to the multiple approval branches is the target task data, so as to ensure the accuracy of the splitting of the target task data and the complete approval of the target task data.
[0038] The branch node is used to indicate that the current approval process is split into multiple approval branches, so as to group the batch data, approve each group as a unit, and merge the data after approval. Accordingly, the type of each node is pre-set in the configuration approval process, and the type configured for the node can be directly obtained during the flow of the approval process.
[0039] Accordingly, in this step, the target task data may be grouped based on the configured diversion type, and each group corresponds to an approval branch, so that the target task data may be approved in groups.
[0040] In step 13, based on the data to be approved corresponding to each approval branch, the approval sub-process corresponding to the approval branch is executed to obtain the approval result data of the approval branch.
[0041] Among them, each approval branch is independent of each other, so in this step, the approval sub-process flow based on the configuration can be executed for each approval branch to complete the approval of each approval branch. The approval result data can include the approval data and / or approval rejection data in the approval branch to provide data support for subsequent processes.
[0042] In step 14, after the approval sub-processes of each approval branch are completed, the task data of the converging node corresponding to the diverging node is determined based on the approval result data of each approval branch.
[0043] Among them, the diversion node is used to group the target task data for group approval based on the approval branch, and the confluence node corresponding to the diversion node is used to merge the data after approval by each approval branch to obtain data for executing the subsequent approval process, so that group approval and then approval after data merging can be supported in the task approval process.
[0044] In step 15, based on the task data of the confluence node, approval is continued based on the approval process until the approval process is completed.
[0045] After obtaining the task data of the confluence node, it is considered that the approval branches corresponding to the divergence node have been approved, and then it can flow to the next node of the confluence node in the review process to continue the approval.
[0046] As an example, if the ongoing approval process includes a diversion node, the approval can continue based on the above steps 11-15 to ensure the accurate execution of the approval process and improve the approval efficiency of the task process.
[0047] Therefore, through the above technical solution, the target task data of the approval request can generate multiple approval branches through the diversion node in the approval process, so as to carry out independent approval in each approval branch, and merge the approved result data after the approval of each approval branch is completed to continue the subsequent approval process, thereby realizing the automatic diversion of data in the approval process, which is suitable for the scenario of data grouping and merging after approval in the batch data approval process, effectively reducing the approval workload caused by duplication of approvers in the approval process, effectively improving the approval efficiency of the approval process, and being suitable for more comprehensive approval scenarios.
[0048] In some possible embodiments, the diversion type includes variable diversion, which means data diversion is performed by variables, and the diversion node corresponds to a diversion object for diversion and a diversion variable, wherein the diversion object is used to represent the object for approval during the approval process, such as the employee who is subject to salary increase as mentioned above, and the diversion variable is used to represent the variable for data diversion. If the diversion variable is a work department, data diversion is performed by the work department, so that objects belonging to the same work department are divided into the same approval branch.
[0049] Accordingly, the determining, based on the target task data and the diversion type corresponding to the diversion node, a plurality of approval branches under the diversion node and the to-be-approved data corresponding to each approval branch may include:
[0050] According to the target task data, a target value corresponding to the diversion object under the diversion variable is determined.
[0051] Taking the preparation approval task as an example, the diversion object is the employee preparation details, and the diversion variable can be the work department. Based on the target task data, the work departments corresponding to each employee preparation details can be determined, that is, the target value. For example, the work department data in the target task data can be deduplicated to obtain the target value of the work department. For example, the determined target value includes departments B1, B2, and B3.
[0052] Afterwards, an approval branch corresponding to the target value is generated, and the data of the target task data and the diversion object under the target value are used as the data to be approved corresponding to the approval branch, wherein different target values correspond to different approval branches, and the approval sub-process corresponding to each approval branch is the same.
[0053] In this step, for each target value, the approval branch corresponding to the target value can be generated, such as generating approval branches corresponding to B1, B2, and B3, respectively, to approve the staff establishment details of each work department respectively. Then, the data of the staff establishment details of department B1 can be used as the data of the approval branch corresponding to B1. Similarly, the data of the approval branches corresponding to B2 and B3 can be obtained, that is, the staff establishment details of different departments can be approved in different approval branches. Among them, the target task data also includes non-diversion objects, which are used to represent objects that do not need to be grouped, such as adjustment subjects, which do not need to be split in each branch.
[0054] Among them, the approval sub-process corresponding to each approval branch is the same, that is, the approval node in each approval sub-process is the same, and the approval personnel corresponding to the approval node is determined based on the target value of the diversion variable corresponding to the approval branch, that is, the approval personnel corresponding to the approval node are different. For example, the approval nodes in each approval sub-process are the department manager and the department head in turn. For the approval branch corresponding to B1, the manager and the head of department B1 need to approve it, and for the approval branch corresponding to B2, the manager and the head of department B2 need to approve it. Multiple departments are similar and so on, which will not be repeated here.
[0055] As another example, if there are multiple diversion variables corresponding to the diversion node, the value of each diversion variable can be determined based on the target task data, and the cross product result of the values of each diversion variable can be used as the target value corresponding to the diversion variable.
[0056] Continuing with the above example, the diversion variable includes the above work departments and first-level business lines. If the determined work departments are B1, B2 and B3, and the first-level business lines are A1, A2 and A3, then the target values corresponding to the diversion variables are (B1, A1), (B1, A2), (B1, A3), (B2, A1), (B2, A2), (B2, A3), (B3, A1), (B3, A2) and (B3, A3). Approval branches corresponding to the above 9 target values can be generated for approval.
[0057] like Figure 2 As shown, taking the classification variable as the first-level business line as an example, this is a schematic diagram of the approval sub-process of each approval branch under the diversion node corresponding to the employee establishment details, wherein the target task data (i.e., all employee establishment details W1) is diverted through the diversion node and enters different approval sub-processes W11, W12 and W13 respectively. After approval by different approval personnel, the data approved by each first-level business line is summarized to obtain the task data corresponding to the confluence node.
[0058] Therefore, through the above technical solution, multiple approval branches can be automatically and real-time generated based on the target task data corresponding to the approval request, so as to adapt to the batch approval scenario where the approval branches are difficult to determine in advance. Moreover, the approval sub-process under each approval branch is the same, so it is only necessary to set the approval sub-process once to dynamically generate multiple approval branches, thereby improving the efficiency of task approval and reducing the approval workload of the approving personnel.
[0059] In some possible embodiments, the diversion node of the variable diversion is configured in the following manner:
[0060] In response to receiving a selection and move operation on a diversion node corresponding to a variable diversion in a node area of a configuration interface, a configuration process is displayed in a canvas area of the configuration interface, wherein the configuration process includes a node identifier of the diversion node, a node identifier of a confluence node corresponding to the diversion node, and a node addition identifier between the diversion node and the confluence node.
[0061] like Figure 3 As shown, it is a schematic diagram of the configuration interface. Q1 is the node area, in which candidate nodes are displayed, Q2 is the canvas area, in which the configuration process is displayed, and Q3 is the attribute area, so as to configure the attributes of the selected node in the canvas area.
[0062] As an example, the configuration personnel can select the node they need from the node area, such as selecting the diversion node J1 corresponding to the variable diversion, and move the selection to the canvas area. The diversion node J1 can then be displayed in the canvas area. The configuration personnel can add the diversion node to the configured process by configuring the connection between the diversion node J1 and the configured process in the canvas area.
[0063] As an example, the configuration process includes a node identifier K1 of a diversion node, a node identifier K2 of a confluence node corresponding to the diversion node, and a node addition identifier K3 between the diversion node and the confluence node. When the process is transferred to the node K1 during operation, it indicates that data diversion approval will be performed later. When the process is transferred to the node K2 during operation, it indicates that the data for data diversion approval will be merged later. In this scenario, the approval sub-process of the approval branch can be configured by adding node identifiers.
[0064] Afterwards, the attributes to be configured are displayed in the attribute area in the configuration interface, and the attributes to be configured include diversion variables.
[0065] Among them, Figure 3 As shown in , after the diversion node of the variable diversion is moved to the canvas area, the type of the diversion node defaults to the type of the variable diversion. After that, the diversion variable can be configured in the property area. The diversion variable can be selected by the user from the candidate variables contained in the drop-down menu. Figure 3 As shown, the attribute area may also include diversion objects, which may be automatically determined by the approval object corresponding to the approval process, such as pre-selecting objects that need to be approved when configuring the approval process, such as employee establishment details.
[0066] In response to receiving a configuration operation on a diversion variable in the attribute area, a diversion variable corresponding to the diversion node is determined, wherein the diversion variable includes at least one variable. If the configuration personnel does not select a variable, prompt information may be output to prompt the configuration of the diversion variable.
[0067] As an example, the steps may include:
[0068] In response to receiving a selection operation of a display control for a diversion variable, displaying a candidate variable;
[0069] In response to receiving a selection operation on a candidate variable, the selected candidate variable is used as a diversion variable corresponding to the classification node.
[0070] For example, after the display control is selected, the configuration personnel selects the variable of the first-level business line from the displayed candidate variables, and the first-level business line variable can be used as the diversion variable corresponding to the diversion node. In the above example, the first-level business line includes A1, A2 and A3, and the first-level business line variable can be displayed in the drop-down menu. When the user directly selects this variable, the first-level business line can be used as the diversion variable. In the subsequent process of generating approval branches, the approval branches corresponding to multiple values of the first-level business line A1, A2 and A3 may be generated based on the direct value of the first-level business line.
[0071] As another example, the steps may include:
[0072] In response to receiving a selection operation on a diversion variable in the attribute area, displaying candidate variables;
[0073] In response to receiving a display operation on a candidate variable, taking a next-level variable of the candidate variable corresponding to the display operation as a new candidate variable and displaying it;
[0074] In response to receiving a selection operation on a candidate variable, the selected candidate variable is used as a diversion variable corresponding to the classification node.
[0075] For example, the first-level business line A1 includes the second-level business lines A11 and A12, the first-level business line A2 includes the business lines A21, A22 and A23, and the first-level business line A3 includes the business lines A31 and A32. For another example, the second-level business line A11 includes the third-level business lines A111 and A112, and the others are not repeated here.
[0076] For example, if the configuration personnel want a more fine-grained configuration, they can select the first-level business line and drill down for display. At this time, the next-level variable of the candidate variable corresponding to the display operation will be used as a new candidate variable and displayed. For example, if the variable of the second-level business line is displayed, if the configuration personnel selects the second-level business line, the second-level business line can be used as a diversion variable. In the subsequent process of generating approval branches, approval branches corresponding to multiple values of the second-level business lines A11, A12, A21, A22, A23, A31 and A32 may be generated based on the direct values of the second-level business lines.
[0077] In order to avoid an excessive number of approval branches, the level of variable drill-down can be pre-set. The level of variable drill-down can be set based on the actual application scenario. For example, if the level of variable drill-down is 5, a maximum of 5 levels of drill-down are supported during the diversion variable selection process to display the corresponding variables and provide data for configuration personnel to perform configuration.
[0078] In this way, the accuracy and efficiency of diversion variable configuration can be effectively improved, and the user experience can be enhanced.
[0079] As another example, the steps may include:
[0080] In response to receiving a selection operation of an add control of a diversion variable in the attribute area, displaying a new diversion variable;
[0081] The configured shunt variables are used as the shunt variables corresponding to the shunt node.
[0082] like Figure 3 As shown, by clicking Add Variable T1, a configuration menu of a new shunt variable is displayed, and the configuration personnel can select a variable to configure, wherein the configuration method of each shunt variable is the same and will not be repeated here. Thus, the configuration of a shunt variable containing multiple variables can be realized, further improving the application scenario of the method provided by the present disclosure.
[0083] As an example, in order to avoid too many approval branches, the maximum number of variables included in the diversion variable can be preset. For example, if the maximum number is set to 3, it means that at most 3 variables can be selected in the diversion variable. As an example, when more than one diversion variable is configured, a control for deleting the variable can be displayed in the property area. After the user selects the control, the configuration box of the variable corresponding to the control is deleted.
[0084] Further, in response to receiving a configuration operation of adding an identifier to the node, configuration information of the node in the approval branch corresponding to the diversion node is generated to obtain the approval sub-process corresponding to the diversion node. The configuration information may include the approver of the node, and may also include information such as the creator and copy recipient of the node.
[0085] For example, the configuration personnel selection node adds the identifier K3 to add an approval node between the nodes of K1 and K2, such as the node of K4. After that, the approver and the copy recipient of the node can be configured, such as the approver is the department manager, the copy recipient is the department manager and the initiator, so as to configure the approval sub-process. Among them, when configuring the processor of the node in the approval branch, the processors of its predecessor node and the confluence node can be displayed for the user to choose from. If there is no processor required by the user, the user can query and select the personnel.
[0086] As another example, the attributes to be configured may also include the name of the diversion node and the name of the approval branch. The configuration personnel may configure the attributes based on actual needs so that the name can be displayed when the approval process is subsequently displayed, so that the user can quickly understand the specific information of the approval process. In the process of name configuration, the requirements for name configuration may be prompted, and a prompt mark may be displayed for each diversion type. In response to the selection of the prompt mark, the specific description and explanation information of the corresponding diversion type may be displayed. In addition, the required items may be displayed in the attributes to be configured to prompt the user to avoid missing configuration.
[0087] Therefore, through the above technical scheme, it is possible to realize rapid configuration of the approval process, and by configuring the approval sub-process of the approval branch of the diversion node once, multiple approval branches can be dynamically generated during the operation of the approval process, which effectively simplifies the configuration process. It can be applied to scenarios where approval branches are difficult to enumerate, thereby improving the scope of application of the disclosed method.
[0088] In some possible embodiments, the notification personnel and information corresponding to different approval results of the node, as well as the method of notification information, can be pre-configured. Among them, the notification personnel can include the initiator by default. If the current node is in the approval branch, the previous processing personnel only include the processing personnel of the branch where the node is located and the previous node of the diversion; if the current node is on the confluence node, the previous processing personnel can include all branches before the confluence and the previous processing personnel before the diversion. The configuration personnel can select the notification personnel corresponding to the approval results from the previous processing personnel based on the actual application scenario. The method of communication information can be in-application notification, SMS notification, email notification, etc. The notification information can be pre-set with templates for different notification personnel, and can be configured based on the actual application scenario, which is not limited here.
[0089] In some possible embodiments, the diversion type includes conditional diversion, and the diversion node corresponds to a diversion object and a diversion condition for data diversion. The setting and determination method of the diversion object have been described in detail above and will not be repeated here. The diversion condition is used to split the target task data so as to approve a set of split data in each approval branch. Conditional diversion can be applied to scenarios where each approval branch can be enumerated, and the corresponding conditions can be set for the approval branch.
[0090] Accordingly, the determining, based on the target task data and the diversion type corresponding to the diversion node, a plurality of approval branches under the diversion node and the to-be-approved data corresponding to each approval branch may include:
[0091] According to the target task data, the data matched by the diversion object under each diversion condition is determined.
[0092] Taking the batch resignation employee approval task as an example, the diversion object is the resigned employees, and the diversion condition represents the condition for splitting the data of the diversion object. For example, the diversion condition can be expressed as follows:
[0093] Diversion condition 1: The working time is greater than or equal to 7 years;
[0094] Diversion condition 2: The employment period is greater than or equal to 5 years and less than 7 years;
[0095] Diversion condition 3: The employment period is greater than or equal to 2 years and less than 5 years.
[0096] Based on the above diversion conditions, the data corresponding to the resigned employees whose employment time is greater than or equal to 7 years in the target task data can be used as the data corresponding to diversion condition 1. Similarly, based on the above diversion conditions, the data corresponding to diversion conditions 2 and 3 can be determined respectively.
[0097] Afterwards, if the data matched by the diversion condition is not empty, an approval branch corresponding to the diversion condition is generated, and the data matched by the diversion condition is determined as the data to be approved corresponding to the approval branch.
[0098] For diversion condition 2, if it is determined based on the target task data that the corresponding data is not empty, indicating that there is actual employee data under the branch, then an approval branch F2 corresponding to the diversion condition 2 can be generated, and the data of the resigned employees whose employment time is greater than or equal to 5 years and less than 7 years can be used as the data to be approved corresponding to the approval branch, so that they can be approved in the approval branch.
[0099] For diversion condition 1, if the corresponding data is determined to be empty based on the target task data, it means that there are no actual resigned employees to be approved under this branch. In this scenario, there is no need to generate a branch corresponding to condition 1.
[0100] For diversion condition 3, if it is determined based on the target task data that the corresponding data is not empty, the corresponding approval branch F3 can be generated in a similar manner to the diversion condition 1 above.
[0101] If there is remaining data in the target task data that does not match any of the diversion conditions, a default approval branch is generated, and the remaining data is used as the data to be approved corresponding to the default approval branch, wherein different approval branches correspond to different approval sub-processes.
[0102] As shown above, if the target task data contains data on employees who have left the company and have been working for less than 2 years, and the data does not match any of the above diversion conditions, the data can be considered as remaining data, and a default approval branch F0 can be generated, and the determined remaining data can be used as the data to be approved corresponding to the approval branch F0, thereby ensuring that every data in the target task data can be approved and no repeated approval will be performed.
[0103] In this embodiment, different approval branches correspond to different approval sub-processes, which can adapt to the scenario of setting multiple approval sub-processes in batch approval scenarios, meet the user's usage needs, and further broaden the scope of application of the disclosed method.
[0104] In a possible embodiment, the diversion node of the conditional diversion is configured in the following manner:
[0105] In response to receiving a selection and move operation on a diversion node corresponding to a conditional diversion in a node area of a configuration interface, a configuration process is displayed in a canvas area of the configuration interface, wherein the configuration process includes a node identifier of the diversion node, a node identifier of a confluence node corresponding to the diversion node, and multiple branches, wherein the multiple branches include a default branch and at least one branch of a diversion condition to be configured.
[0106] like Figure 4 As shown, it is a schematic diagram of the configuration interface, in which the display of the identification of the diversion node and the confluence node is similar to that shown above and will not be repeated here. In this embodiment, under the diversion node of conditional diversion, different branches can set different diversion conditions. In order to ensure the integrity of the approved data, it is necessary to include a default branch to process the data that cannot be split into branches corresponding to each diversion condition.
[0107] If Figure 4 As shown, the default branch F0 and the branch F1 for which the diversion condition is to be configured can be displayed in the canvas area.
[0108] Afterwards, the attributes to be configured are displayed in the attribute area in the configuration interface, and the attributes to be configured include each of the branches, such as Figure 4 Shown in the Q3 area;
[0109] In response to receiving a conditional configuration operation on the branch, a diversion condition corresponding to the branch under the diversion node is generated.
[0110] As an example, the configuration personnel can click on branch F1 to display the condition configuration interface to perform condition configuration operations on branch F1. For example, the condition configuration interface may include a name and a condition configuration item, and the condition configuration item may include a variable configuration item, a relationship configuration item, and a value configuration item, wherein the variable configuration item may display multiple candidate variables that can be selected through a drop-down menu, and the determination and display methods of the candidate variables are similar to those described above, and may also support drill-down display, which will not be repeated here. The relationship configuration item may display multiple selectable operators through a drop-down menu, and the value configuration item may input the value requirements for the variable. Continuing with the above example, for the variable configuration item of branch F1, you can select the time of employment, select greater than or equal to in the relationship configuration item, and enter 7 years in the value configuration item to generate the diversion condition 1 corresponding to branch F1. Among them, the variable configuration item may include an electronic signature, and when performing the diversion condition configuration, the electronic signature of the previous node in the approval branch may be displayed in the variable configuration item, but the electronic signature node outside the approval branch cannot be displayed.
[0111] As an example, there may be multiple diversion conditions, and the new conditions may be configured by adding condition controls, and the logical relationships between different conditions may be constrained to obtain the diversion conditions, wherein the configuration process of each condition is the same, and multiple conditions may be connected by logical connectors to obtain the diversion conditions.
[0112] Afterwards, in response to receiving a node configuration operation for each of the branches, configuration information of the nodes in the branch corresponding to the diversion node is generated to obtain the approval sub-process corresponding to the diversion node.
[0113] In this step, the configuration personnel can select from the candidate nodes in the node area and drag them to a branch in the canvas area, thereby adding the selected node to the branch and configuring the corresponding approver of the node. After the configuration is completed, the approval sub-process corresponding to each branch can be obtained. The configuration method for the configuration information of the node is the same as described above, and will not be repeated here.
[0114] In this scenario, the approval sub-processes under different branches are different. For example, for branch F1, its corresponding approval sub-process can include a management personnel approval node, and the approval sub-process corresponding to branch F2 can include a process personnel approval node, so that different approval processes can be performed for data under different diversion conditions.
[0115] As another example, a branch adding control is displayed in the attribute area, and in response to receiving a selection operation on the branch adding control, an added branch is added under the diversion node in the canvas area. The configuration personnel can then configure the diversion conditions and nodes corresponding to the added branch in the above-mentioned manner, which will not be repeated here. When the diversion node contains two or more branches in addition to the default branch, a branch deletion control can be displayed in the attribute area to delete the corresponding branch. Similarly, a prompt message can be output during the deletion process to facilitate the user to confirm whether to delete, so as to avoid the impact of misoperation on the approval process.
[0116] Therefore, through the above technical solution, in the process of splitting the target task data, the diversion conditions corresponding to the branches can be configured to constrain the data to be approved that flows to the corresponding branches. At the same time, it supports the separate configuration of approval sub-processes for each branch, which can effectively improve the applicability to different approval scenarios.
[0117] like Figure 5 As shown, it is a schematic diagram of the approval sub-process of each approval branch under the diversion node, wherein the diversion object is the resigned employees, and the target task data (i.e., all resigned employees) is diverted through the diversion node to obtain the diverted data F11, F21 and F01, which enter different approval branches F0, F1 and F2 respectively, and after approval through different approval processes, the data approved by each branch are summarized to obtain the task data corresponding to the confluence node.
[0118] In some possible embodiments, the diversion type includes object diversion, and the diversion node corresponds to a diversion object for performing data diversion, wherein the configuration and determination method of the diversion object have been described in detail above and will not be repeated here.
[0119] Accordingly, the determining, based on the target task data and the diversion type corresponding to the diversion node, a plurality of approval branches under the diversion node and the to-be-approved data corresponding to each approval branch may include:
[0120] An approval branch is generated for each object under the diversion object in the target task data, and the data corresponding to the object in the target task data is used as the data to be approved corresponding to the approval branch, wherein the approval sub-process corresponding to each approval branch is the same.
[0121] As an example, in the scenario of batch employee renewal, each employee needs to be approved and confirmed separately, so the approval branch corresponding to each employee needs to be split in this scenario. In this scenario, the diversion object can be the renewing employee. In this embodiment, a corresponding approval branch can be generated for each employee among the renewing employees, and the data of the employee is used as the pending approval data corresponding to the approval branch, so that the corresponding employees can confirm and approve it respectively. Among them, each approval branch will only contain one piece of pending approval data. After the data of the approval branch is split, a single-value variable corresponding to the approval branch is generated to record the pending approval data corresponding to the approval branch, and adapt to the subsequent single-value approval node.
[0122] like Figure 6 The figure shows a schematic diagram of the diversion node of the object diversion, which contains the target task data of all employees who renew their contracts. After passing through the diversion node, a corresponding approval branch is generated for each employee. The employee confirms the approval under the approval branch, and after the approval of each approval branch is completed, the approval result data of each approval branch is merged, such as the data of employees who confirm the renewal and the data of employees who confirm not to renew their contracts.
[0123] As an example, the object splitting node is configured in the following manner:
[0124] In response to receiving a selection and move operation on a diversion node corresponding to an object diversion in a node area of a configuration interface, a configuration process is displayed in a canvas area of the configuration interface, wherein the configuration process includes a node identifier of the diversion node, a node identifier of a confluence node corresponding to the diversion node, and a node addition identifier.
[0125] In response to receiving a configuration operation of adding an identifier to the node, configuration information of a node in an approval branch corresponding to the diversion node is generated to obtain an approval sub-process corresponding to the diversion node.
[0126] In this embodiment, if the configuration personnel want to configure the diversion node of the object diversion, they can select the diversion node of the object diversion from the node area and drag it to the canvas area, and then the corresponding configuration process can be displayed in the canvas area. After that, the configuration personnel can add nodes between the diversion node and the confluence node by selecting the node to add a mark to realize the configuration of the approval sub-process. The implementation method of this step is similar to the corresponding step implementation method in the diversion node configuration process of the variable diversion described above, and will not be repeated here.
[0127] Among them, it should be explained that in the approval branch under the diversion node of the object diversion, there is only one piece of data in each approval branch, and the addition of a new diversion node is not supported in the approval branch. In the configuration process, a check can be performed when the diversion node is dragged to the canvas area. If it is determined that the diversion node is added to the approval branch under the diversion node of the object diversion, a prompt message is output to prompt the user that the diversion node configuration is wrong. A new diversion node can be added to the approval branch of the diversion node of the conditional diversion and variable diversion. The new diversion node can be any type of conditional diversion, variable diversion and object diversion. In order to reduce the complexity of the approval process, a threshold value for the number of nested layers of the diversion node can be set. After the number of nested layers of the approval process in the canvas area exceeds the threshold, a prompt message is output. The prompt message is used to prompt the user that the number of nested layers of the diversion node exceeds the limit so that the user can make modifications in time.
[0128] Therefore, through the above technical solution, in the process of splitting the target task data, it can be split from the dimension of the diversion object, so as to further expand the scope of use of the method disclosed in this disclosure and effectively simplify the configuration of the approval process.
[0129] As an example, in actual application scenarios, it is possible to support the configuration of a diversion node in the approval branch to divert again, and it is also possible to support the configuration of a new diversion node and confluence node after the confluence node. Figure 7 As shown, the diversion node 1 contains approval branches 1-1, 1-2 and 1-3, and the diversion node 2 contains approval branches 2-1 and 2-2, so that multiple diversion nodes can be nested. The diversion node 3 after the confluence node 1 contains approval branches 3-1 and 3-2, and then the data is merged through the confluence node 3 to end the approval process. It should be noted that the approval branch to which the node belongs is used to represent the approval branch corresponding to the node from the nearest diversion node to the nearest confluence node, such as the approval branch to which the approval node 2-1-1 belongs is the approval branch 2-1 between the diversion node 2 and the nearest confluence node 2.
[0130] In some possible embodiments, executing the approval sub-process corresponding to each approval branch based on the pending approval data corresponding to the approval branch to obtain the approval result data of the approval branch may include:
[0131] A target subnode is obtained, and it is determined whether the target subnode is a branch node, wherein the target subnode is initially the first subnode in the approval order of the approval subprocess.
[0132] If the target subnode is not a diversion node, determine the approver corresponding to the target subnode based on the data to be approved, and push an approval message to the terminal corresponding to the approver, so as to determine the approval result of the target subnode based on the approval information returned by the terminal corresponding to the approver;
[0133] If the target sub-node is a branch node, the approval result of the target sub-node is determined based on the approval results of each approval branch corresponding to the branch node;
[0134] If the approval result of the target subnode is passed, the next subnode is obtained as the new target subnode according to the approval order, and the process returns to the step of determining whether the target subnode is a branch node until the approval subprocess corresponding to the approval branch is completed;
[0135] If the approval result of the target sub-node is rejection, the approval sub-process corresponding to the approval branch is terminated.
[0136] by Figure 7 Taking the approval branch 1-3 as an example, the initial target subnode is approval 1-1-1, which is not a diversion node. Based on the approval data to be approved in the approval branch 1-3-1, the approver U1 corresponding to the target subnode is determined, and an approval message is pushed to the terminal corresponding to the approver U1. After the approver U1 receives the push message, he can enter the approval system for approval. If he confirms that it is passed, the approval information returned by the terminal corresponding to the approver U1 is passed, and the approval result of the subnode is determined to be passed.
[0137] After that, the next child node, i.e., the branch node 2, is obtained as the new target child node according to the approval order, and the target child node is returned to determine whether it is a branch node. If the target child node is determined to be a branch node, the approval result of the target child node is determined based on the approval results of each approval branch corresponding to the branch node. The implementation method of this step is the same as that of the determination, and the same method determines that the review result of the approval branch 2-1 is rejected, and the review result of the approval branch 2-2 is passed.
[0138] by Figure 7 Taking the approval branch 1-1 as an example, the initial target subnode is approval 1-1-1, which is not a diversion node. The approval result of node 1-1-1 is determined to be rejection through the approval information returned by the terminal corresponding to the corresponding approver. At this time, the approval sub-process corresponding to the approval branch 1-1 is terminated, that is, the form 1-1-1 does not need to be approved to save the approval workload.
[0139] Afterwards, the approval result data of the approval branch is determined according to the approval result of each target sub-node in the approval branch, and the approval result data includes the approval rejection data and / or approval approval data.
[0140] For example, the approval result data of the last node executed in the approval branch can be used as the approval result data of the approval branch. The approval result corresponding to the node is determined based on the above-mentioned return information, and the data to be approved corresponding to the node is determined by the approval result data of the previous node of the node. For example, the data to be approved of the node is the approval data in the approval result data of the previous node of the node.
[0141] If the last node executed in approval branch 1-1 is node 1-1-1, and the approval result of the node is rejection, the data to be approved (50 pieces of data) corresponding to the node will be used as the approval rejection data of the node, and further determined as the approval rejection data of approval branch 1-1. If the last node executed in approval branch 1-2 is node 1-2-1, and the approval result of the node is approval, the data to be approved (30 pieces of data) corresponding to the node can be determined as the approval approval data of approval branch 1-2. If the last node executed in approval branch 1-3 is confluence node 2, the approval result data of approval branch 1-3 needs to be determined based on the approval result data of branches 2-1 and 2-2.
[0142] The method for determining the approval result data of the branch under the diverging node is the same as described above. If it can be determined that the approval result corresponding to 2-1 is passed, the pending approval data (15 pieces of data) corresponding to branch 2-1 is used as the approval data. If it is determined that the approval result corresponding to 2-2 is rejected, the pending approval data (5 pieces of data) corresponding to branch 2-2 is used as the approval rejection data. The approval result data of the converging node includes 15 pieces of approval data and 5 pieces of approval rejection data, and the approval result data of the converging node is further determined as the approval data of the approval branch 1-3.
[0143] Therefore, through the above technical solution, for each approval branch, the approval result data of the nodes therein can be determined to obtain the approval result data corresponding to the approval branch, thereby providing effective data support for subsequent data merging of multiple approval branches.
[0144] In some possible embodiments, the method may further include:
[0145] If the approval result of the target sub-node is determined to be rollback based on the approval information returned by the terminal corresponding to the approving personnel, the rollback node corresponding to the target sub-node is determined.
[0146] Among them, the approver can choose to roll back the approval process during the approval process. When the approver chooses to roll back, the nodes that can be rolled back can be displayed. As an example, for the nodes within the approval branch, the corresponding nodes that can be rolled back include the previous nodes within the current approval branch and all the previous nodes of the diversion node corresponding to the current approval branch. For the nodes outside the approval branch, the corresponding nodes that can be rolled back include all the previous nodes. In this way, the approver can be displayed for selection. After the approver makes a selection, the approval information can include the rolled back approval node and the selected rollback node. When the approver rolls back, a prompt message can be output based on the rollback node selected by the approver, such as Are you sure to roll back? Once the rollback is made to the node before the diversion, the other branches after the diversion will also be rolled back together for confirmation by the user to avoid the rollback of the approval process due to misoperation.
[0147] As an example, if the fallback node is a node in the approval branch to which the target subnode belongs, then the approval branch can be directly rolled back, that is, the fallback node is processed as the current target subnode, and the data to be approved is rolled back to the data corresponding to the fallback node, wherein the row data corresponding to the diversion object can be directly rolled back, and the column data corresponding to the diversion object and the data of the non-diversion object can retain the latest value. The data rollback method can be operated based on the common method in the process approval process in this field, which will not be repeated here.
[0148] If the fallback node is a node other than the approval branch to which the target sub-node belongs, all approval branches under the diversion node corresponding to the approval branch to which the target sub-node belongs are rolled back to the fallback node to execute the approval process.
[0149] Among them, the multiple approval branches under the diversion node are parallel branches. When the target sub-node rolls back to a node outside the approval branch, the entire process needs to be rolled back. For example, when the node of approval 1-2-1 rolls back to the node of approval 1, branches 1-1, 1-2, and 1-3 need to be rolled back, that is, the entire process rolls back to the node of approval 1, and the diversion data is rolled back to determine the data to be approved corresponding to the rollback node to continue the approval process.
[0150] Therefore, through the above technical solution, the nodes within the approval branch can be directly rolled back to meet the usage requirements in the approval scenario, while ensuring the accuracy of the approval data in the approval process.
[0151] In some possible embodiments, the method may further include:
[0152] If the current node is not a node in the approval branch, and based on the approval information returned by the terminal corresponding to the approver of the current node, it is determined that the approval result of the current node is rollback, then the rollback node corresponding to the current node is determined.
[0153] For nodes outside the approval branch, an approval message can be sent to the terminal corresponding to the approver of the node to obtain the approval information returned by the terminal corresponding to the approver of the current node. The method of determining the approval result of the current node based on the approval information returned by the terminal corresponding to the approver of the current node and determining the fallback node corresponding to the current node has been described in detail above.
[0154] If the fallback node is a node within an approval branch, the approval process is rolled back from the current node to the fallback node, and the processing status of other approval branches under the branch node corresponding to the approval branch to which the fallback node belongs remains unchanged.
[0155] In this step, if the fallback node is a node outside the approval branch, the approval process is directly controlled to fall back to the fallback node, and the pending approval data of the fallback node is determined by data rollback. If the fallback node is a node within the approval branch, the fallback process only affects the status of the approval branch. The approval process is rolled back from the current node to the fallback node, and the processing status of other approval branches under the branch node corresponding to the approval branch to which the fallback node belongs remains unchanged, that is, only the approval branch to which the fallback node belongs is rolled back.
[0156] Therefore, the node rollback operation can be supported in the approval process to ensure the accuracy of data flow in the approval process and improve the approval efficiency.
[0157] As an example, during the configuration process of a node, the configuration personnel can choose whether the node supports a rollback operation. If the configuration personnel checks the rollback operation for a node in a branch, a prompt message can also be output to prompt the configuration personnel, so that the configuration personnel can predict the risk of node rollback in advance, ensure the accurate and effective configuration of the nodes in the approval process, and ensure the availability of the approval process.
[0158] In some possible embodiments, the approval result data includes approval rejection data and approval approval data;
[0159] The determining, based on the approval result data of each approval branch, the task data of the converging node corresponding to the diverging node may include:
[0160] The union of the approval data of each approval branch is used as the approval data corresponding to the confluence node.
[0161] Continuing with the above example, the union of the approved data in 1-1, 1-2 and 1-3 can be used as the approved data corresponding to the confluence node, that is, 30 pieces of data in 1-2 and 15 pieces of data in 1-3 (branch 2-1), a total of 45 pieces of data.
[0162] The union of the approval rejection data of each of the approval branches and the approval rejection data corresponding to the preceding node of the diverging node in the approval process is used as the approval rejection data corresponding to the merging node.
[0163] Continuing with the above example, the union of the approval rejection data in 1-1, 1-2 and 1-3, and the approval rejection data corresponding to the preceding node (i.e., Approval 1) of the branch node in the approval process can be used as the approval rejection data corresponding to the confluence node 1. Among them, Approval 1 does not contain approval rejection data, then the approval rejection data corresponding to the confluence node 1 is 50 pieces of data in 1-1 and 5 pieces of data in 1-3 (branch 2-2), a total of 55 pieces of data.
[0164] For another example, the task data corresponding to the diversion node 3 includes 45 pieces of approval data and 55 pieces of approval rejection data, that is, the 45 pieces of approval data need to be further approved. The diversion node 3 is an object diversion, and 45 approval branches can be generated for approval. As an example, the approval results of branches 3-1 to 3-10 are rejected, and the approval results of the remaining branches are passed. The approval data in the confluence node are 35 pieces of data corresponding to branches 3-11 to 3-45, and the approval rejection data in the confluence node 3 includes 10 pieces of data corresponding to 3-1 to 3-10, and 55 pieces of approval rejection data in the previous node of the diversion node 3 (i.e., the confluence node 2), that is, the confluence node 3 corresponds to 65 pieces of approval rejection data.
[0165] Therefore, through the above technical solution, the data generated in each approval branch can be merged, so as to ensure the availability and validity of the data in the subsequent approval process, and ensure the accuracy of data approval while supporting data diversion in the approval process.
[0166] In some possible embodiments, the method may further include:
[0167] If the approval of the processing node currently being approved in the approval process is completed, the processing status of the processing node is updated according to the approval result of the processing node, wherein the processing status of each node in the approval process is initially not started.
[0168] When the approval request is triggered, the processing status of the first node in the approval process is updated to in progress, and then the node is approved. After the approval result of the processing node is obtained through the embodiment described above, if the approval result is passed, the processing status of the processing node is updated to passed, and if the approval result is rejected, the processing status of the processing node is updated to rejected.
[0169] Afterwards, the processing status of the nodes in the approval process is updated according to the updated processing status of the processing node.
[0170] Among them, the update of the processing status of the processing node will affect the processing status of its subsequent nodes, so the processing status of the nodes in the approval process can be further updated in this step.
[0171] The processing status of a node may include: not started, in progress, passed, or rejected. Figure 7 Taking the approval process shown as an example, at the beginning of the approval process, the processing status of the node of Approval 1 is updated to In Progress. Afterwards, the node of Approval 1 is approved, and the approval result is Passed. Then, the processing status of the node of Approval 1 can be updated to Passed, and then the next node of Approval 1, i.e., the processing status of the branch node 1 is updated to In Progress. Furthermore, the processing status of the node of the approval branch under the branch node 1 is updated to In Progress, so as to update the processing status of the nodes in the approval sub-process corresponding to the approval branch respectively.
[0172] As an example, updating the processing status of a node in the approval process according to the updated processing status of the processing node may include:
[0173] If the processing node belongs to the target approval branch, and the processing status of the processing node is updated to rejected, then the processing status of the node of the target approval branch is determined to be rejected.
[0174] As an example, if the processing status of approval branch 1-1 is updated to in progress, the processing status of triggered node 1-1-1 will be in progress. After node 1-1-1 is approved, its processing status will be rejected. At this time, the processing status of the node of the target approval branch 1-1 to which node 1-1-1 belongs can be directly updated to rejected.
[0175] If the processing node belongs to the target approval branch, and the processing status of the processing node is updated to passed, and the next node of the processing node is the confluence node of the target approval branch, then the processing status of the node of the target approval branch is determined to be completed.
[0176] As an example, the processing status of approval branch 1-2 is updated to in progress, which triggers the processing status of node 1-2-1 to be in progress. After the approval of node 1-2-1, its processing status is passed. At this time, the next node of node 1-2-1 is the confluence node 1 of the target approval branch 1-2 to which it belongs. It can be determined that the processing status of the node of the target approval branch 1-2 is updated to completed.
[0177] If the processing status of the nodes of each approval branch under the diversion node corresponding to the target approval branch is rejected, then the processing status of the diversion node is updated to rejected;
[0178] If the processing status of the nodes of each approval branch under the diversion node corresponding to the target approval branch is all completed, or the processing status of some of the nodes of each approval branch is completed and the processing status of the remaining nodes is rejected, the processing status of the diversion node is updated to completed.
[0179] As an example, if the processing status of approval branch 1-3 is updated to in progress, the processing status of node 1-3-1 is triggered to be in progress. After the approval of node 1-3-1, its processing status is passed. At this time, the next node of node 1-3-1 is not the confluence node 1 of the target approval branch 1-3 to which it belongs, and the processing status of the next node (i.e., divergence node 2) is continuously triggered to be updated to in progress, and the processing status of the nodes of branches 2-1 and 2-2 under divergence node 2 is triggered to be in progress. After approval through the above-mentioned similar process, the processing status of the node of branch 2-1 is updated to passed, and the processing status of the node of branch 2-2 is updated to rejected.
[0180] At this time, the processing status of the nodes of each approval branch under the diversion node 2 is one completed and the other rejected, so the processing status of the diversion node 2 can be updated to completed. Furthermore, the processing status of the nodes of each approval branch under the diversion node 1 is partially completed and the remaining is rejected, so the processing status of the diversion node 1 can be updated to completed.
[0181] Among them, it should be explained that if the diversion node belongs to the approval branch, the nodes in the approval branch include the diversion node and nodes other than the internal nodes of the diversion node, and the internal nodes of the diversion node are the nodes and confluence nodes of each approval branch under the diversion node. Then, when the approval branch or approval process contains a diversion node, after determining that the status of the diversion node is completed, the next node of the confluence node corresponding to the diversion node is triggered to execute. That is, the diversion node and its corresponding approval branch and confluence node are determined as a node as a whole. For example, the nodes in the approval branch 1-3 include the nodes of 1-3-1 and diversion node 2, and nodes 2-1, 2-2, 2-1-1, 2-2-2 and confluence node 2 are used as a whole to determine the status of diversion node 2.
[0182] After the processing status of the diversion node 1 is updated to completed, the processing status of the diversion node 3 can be triggered to be updated to in progress. The update process of the nodes of the subsequent approval branches and the processing status of the diversion node 3 is similar to that described above and will not be repeated here.
[0183] Therefore, through the above technical solution, the processing status of the nodes in the approval process can be updated, which is convenient for users to quickly understand the progress of the approval process and improve the user experience.
[0184] In some possible embodiments, the method further includes:
[0185] In response to receiving a process viewing request, a target node where a target user corresponding to the process viewing request is located is determined.
[0186] As an example, when a user wants to view the approval progress of an approval process, he or she can view the process, and at this time, a process view request can be triggered. The user corresponding to the process view request can be the logged-in user when the process view request is triggered, and the logged-in user can be the processor or CC person of the node in the approval process. The target node where the logged-in user is located is the node processed by the logged-in user, the target node where the user who initiated the approval request is located is the process start node, and the target node described by the node approver is the node for approval.
[0187] If the target node is not a node in the approval branch, the approval process is used as the process to be displayed corresponding to the target user.
[0188] If the target node is not a node in the approval branch, it means that the user has the authority to process all task data, and the approval process can be used as the process to be displayed corresponding to the target user, that is, the target user can view all nodes in the approval process. Figure 7 The user corresponding to the node of Approval 1 can view each node in the approval process.
[0189] If the target node is a node in an approval branch, the sub-processes corresponding to each node in the approval process except the nodes of the parallel branches of the approval branch will be used as the process to be displayed corresponding to the target user, wherein the parallel branches are the approval branches corresponding to the same diversion node as the approval branch.
[0190] If the target node is a node in an approval branch, it means that the user only has processing authority over the subtask data corresponding to the approval branch during the approval process of the diversion node corresponding to the approval branch, and has no processing authority over the subtask data corresponding to other approval branches under the diversion node. At this time, under the diversion node where the user is located, the user can only view the nodes in the approval branch to which the user belongs. For other diversion nodes that are not related to the target user's authority, the user can view the public nodes in the approval process and the nodes in each approval branch under other diversion nodes. For example, Figure 7 The approval user corresponding to the node of approval 1-2-1 can use the sub-processes corresponding to the nodes in the approval process except the nodes of approval branches 1-1 and 1-3 in diversion node 1 as the user's to-be-displayed process, that is, the user cannot view the nodes under approval branches 1-1 and 1-3, but can view the remaining nodes.
[0191] Afterwards, the process to be displayed can be displayed in the approval display interface.
[0192] As an example, each node in the process to be displayed can be displayed in turn in the approval display interface so that the user can clearly understand the flow of the approval process. Among them, a display area can be determined in the approval display interface to display the nodes in the process to be displayed in the display area. If the process to be displayed is not fully displayed in the display area, the display nodes in the display area can be adjusted by vertical scrolling and horizontal scrolling.
[0193] As another example, when displaying a process to be displayed, for the nodes that have not started, they can all be predicted and displayed as approved, so that each node can be displayed in the process to be displayed. At the same time, for the nodes that have not started, a prompt message "Key nodes have not been approved" can be prompted in the approval display interface, so that users can quickly understand that the current approval process has not yet ended.
[0194] Therefore, through the above technical solution, the user's viewing permission for the approval process can be determined based on the node where the user who initiated the viewing request is located, so as to display the approval process progress under the corresponding permission to the user, ensure the data access security during the approval process viewing, and meet the user's usage needs.
[0195] As an example, displaying the process to be displayed in the approval display interface may include:
[0196] If the target node is not a node in the approval branch, the non-dividing nodes in the process to be displayed and the nodes of each approval branch under the target diverting node and their processing status are displayed, and the target diverting node is a diverting node that does not belong to the approval branch.
[0197] If the target node is not a node in the approval branch, that is, the target user is not the processor of a certain approval branch, it can be collapsed to the first-level diversion node, that is, the target diversion node. Figure 7 The branch nodes 1 and 3 in the figure represent the branch nodes directly in the main process of the approval process. The branch node 2 is the next-level branch node of the branch node 1.
[0198] like Figure 8 As shown, in this example, the nodes and processing status of approval 1, diversion node 1, branches 1-1, 1-2, 1-3, and diversion node 3, branches 3-1, 3-2 can be displayed to enable users to clearly understand the overall approval framework in the approval process.
[0199] If the target node is a node in an approval branch, the non-dividing nodes in the process to be displayed and the nodes of each approval branch under the target diverting node and their processing status, as well as the nodes in the approval branch and their processing status are displayed.
[0200] If the target user is the approval user corresponding to Approval 1-1-1, you can Figure 8 Based on the display of the nodes and their processing status in the approval branch 1-1, such as Fig. 9 shown.
[0201] In this way, the specific approval process in the approval branch in which the user is located can be expanded and displayed to the user, simplifying the operation of the user to view the approval branch in which the user is located, thereby improving the user experience.
[0202] As another example, when a user wants to view a branch, he can click on the branch to expand it. For example, the user can click on branch 1-2 to display the nodes under branch 1-2, such as displaying the node of approval 1-2-1. If the user wants to collapse the display, he can click on branch 1-2 to hide the node of approval 1-2-1.
[0203] As an example, if the user wants to view only the nodes in a certain branch, such as the user wants to view the nodes of branches 1-3, the user can select the full-screen control corresponding to 1-3, and then only the nodes in the approval branch and their processing status can be displayed through a pop-up window.
[0204] As an example, the status of the approval process can be printed to obtain the approval information corresponding to the approval process. For example, the corresponding printing template can be pre-set, such as setting each approval branch in the approval process to be displayed as a separate group in the approval process. The group name can be expressed as ${approval branch node-name} / ${approval branch name} / …${approval branch leaf node-name} / ${approval branch name} to display the processing status of the nodes in the approval branch under the group. Similarly, the confluence node of each diversion node also needs to be displayed according to the group. The group name of the confluence node can be expressed as: ${approval branch node-name} / ${approval branch name} / …${the last diversion node name in the approval branch} / data confluence, and the corresponding confluence node can be displayed under the last node of the diversion node.
[0205] For another example, for the approval sub-process involved in data diversion, a group creation prompt can be displayed and a secondary confirmation can be added. Among them, the personnel who can create a group chat can be the personnel with approval authority in the approval sub-process, and the group chat name can be automatically generated according to the name template based on the variable value corresponding to the current node. For example, the pop-up window prompt for creating a group and selecting people is as follows: After confirming the members to be invited, the group chat will be automatically created. Since the process involves the splitting of approval branches, other branch members who have not been invited can also join the group chat from the approval details page, and they can view the historical group chat messages after joining. The pop-up window content of the secondary confirmation can be expressed as follows: Are you sure to create a group chat? Since the process involves the splitting of approval branches, other branch members who have not been invited can also join the group chat from the approval details page, and they can view the historical group chat messages after joining. After the user confirms, a group chat is created based on the personnel selected by the user, so that the approval personnel can communicate and confirm with each other through group chat messages, thereby improving the approval efficiency.
[0206] As an example, if there are multiple ongoing nodes to be processed in the approval process, the current processor of the approval process and the nodes that can be transferred, that is, the ongoing nodes corresponding to the current processor, can be displayed. Among them, when displaying the nodes, for the diversion nodes, only the nodes in the approval branch can be displayed, without displaying the diversion nodes and approval branches, and for the nodes in the approval branch, the diversion node / approval branch / node corresponding to the node and the processing status of the node can be displayed in the drop-down menu, so that the administrator can select the node to be transferred from it, and configure the transferor corresponding to the transferred node to realize the transfer of the approval node, so that other personnel can approve it when the current processor fails to approve it in time, further improving the processing efficiency of the approval process.
[0207] Based on the same inventive concept, the present disclosure provides a task flow approval device, such as Fig.10As shown, the device 10 includes: an acquisition module 100, which is used to obtain the approval process and target task data of the approval request in response to receiving the approval request, wherein the approval process includes multiple nodes; a first determination module 200, which is used to determine multiple approval branches under the diversion node and the pending approval data corresponding to each of the approval branches based on the target task data and the diversion type corresponding to the diversion node if the type of the current node is a diversion node, wherein different approval branches correspond to different pending approval data, and the union of the pending approval data corresponding to the multiple approval branches is the target task data; a first processing module 300, which is used to execute the approval sub-process corresponding to each approval branch based on the pending approval data corresponding to the approval branch, and obtain the approval result data of the approval branch; a second determination module 400, which is used to determine the task data of the confluence node corresponding to the diversion node based on the approval result data of each approval branch after the approval sub-process of each approval branch is completed; a second processing module 500, which is used to continue to approve based on the approval process based on the task data of the confluence node until the approval process ends.
[0208] Optionally, the diversion type includes variable diversion, and the diversion node corresponds to a diversion object and a diversion variable for data diversion; the first determination module includes: a first determination sub-module, used to determine the target value corresponding to the diversion object under the diversion variable according to the target task data; a first processing sub-module, used to generate an approval branch corresponding to the target value, and use the data of the diversion object in the target task data under the target value as the data to be approved corresponding to the approval branch, wherein different target values correspond to different approval branches, and the approval sub-process corresponding to each approval branch is the same.
[0209] Optionally, the diversion node of the variable diversion is configured in the following manner: in response to receiving a selection and movement operation on the diversion node corresponding to the variable diversion in the node area of the configuration interface, displaying a configuration process in the canvas area of the configuration interface, the configuration process including the node identifier of the diversion node, the node identifier of the confluence node corresponding to the diversion node, and adding an identifier for the node between the diversion node and the confluence node; displaying attributes to be configured in the attribute area of the configuration interface, the attributes to be configured including the diversion variable; in response to receiving a configuration operation on the diversion variable in the attribute area, determining the diversion variable corresponding to the diversion node, wherein the diversion variable includes at least one variable; in response to receiving a configuration operation to add an identifier to the node, generating configuration information of the node in the approval branch corresponding to the diversion node to obtain the approval sub-process corresponding to the diversion node.
[0210] Optionally, in response to receiving a configuration operation on the diversion variable in the attribute area, determining the diversion variable corresponding to the diversion node includes: in response to receiving a selection operation on the diversion variable in the attribute area, displaying candidate variables; in response to receiving a display operation on the candidate variables, displaying the next-level variable of the candidate variable corresponding to the display operation as a new candidate variable; in response to receiving a selection operation on the candidate variable, using the selected candidate variable as the diversion variable corresponding to the classification node.
[0211] Optionally, the diversion type includes conditional diversion, and the diversion node corresponds to a diversion object and a diversion condition for data diversion; the first determination module includes: a second determination submodule, used to determine the data matched by the diversion object in each diversion condition according to the target task data; a second processing submodule, used to generate an approval branch corresponding to the diversion condition if the data matched by the diversion condition is not empty, and determine the data matched by the diversion condition as the data to be approved corresponding to the approval branch; a third processing submodule, used to generate a default approval branch if there is remaining data in the target task data that does not match any of the diversion conditions, and use the remaining data as the data to be approved corresponding to the default approval branch, wherein different approval branches correspond to different approval sub-processes.
[0212] Optionally, the diversion node of the conditional diversion is configured in the following manner: in response to receiving a selection and move operation on the diversion node corresponding to the conditional diversion in the node area of the configuration interface, displaying the configuration process in the canvas area of the configuration interface, the configuration process including the node identifier of the diversion node, the node identifier of the confluence node corresponding to the diversion node, and multiple branches, the multiple branches including a default branch and at least one branch with diversion conditions to be configured; displaying the attributes to be configured in the attribute area of the configuration interface, the attributes to be configured including the diversion conditions corresponding to each of the branches; in response to receiving a conditional configuration operation on the branch, generating the diversion conditions corresponding to the branch under the diversion node; in response to receiving a node configuration operation on each of the branches, generating configuration information of the nodes in the branch corresponding to the diversion node to obtain the approval sub-process corresponding to the diversion node.
[0213] Optionally, the diversion type includes object diversion, and the diversion node corresponds to a diversion object for performing data diversion; the first determination module includes: a fourth processing sub-module, used to generate an approval branch for each object under the diversion object in the target task data, and use the data corresponding to the object in the target task data as the data to be approved corresponding to the approval branch, wherein the approval sub-process corresponding to each of the approval branches is the same.
[0214] Optionally, the diversion node of the object diversion is configured in the following manner: in response to receiving a selection and movement operation on the diversion node corresponding to the object diversion in the node area of the configuration interface, displaying a configuration process in the canvas area of the configuration interface, the configuration process including the node identifier of the diversion node, the node identifier of the confluence node corresponding to the diversion node, and a node addition identifier; in response to receiving a configuration operation to add an identifier to the node, generating configuration information of the node in the approval branch corresponding to the diversion node to obtain the approval sub-process corresponding to the diversion node.
[0215] Optionally, the first processing module includes: an acquisition submodule, used to acquire a target subnode and determine whether the target subnode is a diversion node, wherein the target subnode is initially the first subnode in the approval order of the approval subprocess; a fifth processing submodule, used to, if the target subnode is not a diversion node, determine the approval personnel corresponding to the target subnode based on the data to be approved, and push an approval message to the terminal corresponding to the approval personnel, so as to determine the approval result of the target subnode based on the approval information returned by the terminal corresponding to the approval personnel; a third determination submodule, used to, if the target subnode is a diversion node, determine the approval personnel corresponding to the diversion node based on the approval information returned by the terminal corresponding to the approval personnel The approval result of the target sub-node is determined by the approval result of the approval branch; if the approval result of the target sub-node is passed, the next sub-node is obtained as the new target sub-node according to the approval order, and the acquisition sub-module is triggered to determine whether the target sub-node is a diversion node, until the approval sub-process corresponding to the approval branch is completed; the sixth processing sub-module is used to end the execution of the approval sub-process corresponding to the approval branch if the approval result of the target sub-node is rejected; the fourth determination sub-module is used to determine the approval result data of the approval branch according to the approval result of each target sub-node in the approval branch, and the approval result data includes approval pass data and / or approval rejection data.
[0216] Optionally, the device also includes: a third determination module, which is used to determine the fallback node corresponding to the target sub-node if the approval result of the target sub-node is determined to be rollback based on the approval information returned by the terminal corresponding to the approving personnel; a third processing module, which is used to roll back all approval branches under the diversion node corresponding to the approval branch to which the target sub-node belongs to the fallback node to execute the approval process if the fallback node is a node other than the approval branch to which the target sub-node belongs.
[0217] Optionally, the device also includes: a fourth determination module, which is used to determine the fallback node corresponding to the current node if the current node is not a node in the approval branch and the approval result of the current node is determined to be a rollback based on the approval information returned by the terminal corresponding to the approver of the current node; and a fourth processing module, which is used to roll back the approval process from the current node to the rollback node if the rollback node is a node in the approval branch, and the processing status of other approval branches under the branch node corresponding to the approval branch to which the rollback node belongs remains unchanged.
[0218] Optionally, the approval result data includes approval rejection data and approval approval data; the second determination module includes: a fifth determination submodule, used to take the union of the approval approval data of each of the approval branches as the approval approval data corresponding to the confluence node; a sixth determination submodule, used to take the union of the approval rejection data of each of the approval branches and the approval rejection data corresponding to the preceding node of the diversion node in the approval process as the approval rejection data corresponding to the confluence node.
[0219] Optionally, the device also includes: a first update module, which is used to update the processing status of the processing node according to the approval result of the processing node if the approval of the processing node currently being approved in the approval process is completed, wherein the processing status of each node in the approval process is initially not started; and a second update module, which is used to update the processing status of the node in the approval process according to the updated processing status of the processing node.
[0220] Optionally, the second update module includes: a seventh determination submodule, which is used to determine that the processing status of the node of the target approval branch is rejected if the processing node belongs to the target approval branch and the processing status of the processing node is updated to rejected; an eighth determination submodule, which is used to determine that the processing status of the node of the target approval branch is completed if the processing node belongs to the target approval branch and the processing status of the processing node is updated to passed, and the next node of the processing node is the confluence node of the target approval branch; a ninth determination submodule, which is used to update the processing status of the diversion node to rejected if the processing status of the nodes of each approval branch under the diversion node corresponding to the target approval branch is rejected; and a tenth determination submodule, which is used to update the processing status of the diversion node to completed if the processing status of the nodes of each approval branch under the diversion node corresponding to the target approval branch is all completed or the processing status of some of the nodes of the approval branches is completed and the processing status of the remaining nodes is rejected.
[0221] Optionally, the device also includes: a fifth determination module, which is used to determine the target node where the target user corresponding to the process viewing request is located in response to receiving the process viewing request; a sixth determination module, which is used to use the approval process as the process to be displayed corresponding to the target user if the target node is not a node in the approval branch; a seventh determination module, which is used to use the sub-processes corresponding to each node in the approval process except the nodes of the parallel branches of the approval branch as the process to be displayed corresponding to the target user if the target node is a node in the approval branch, wherein the parallel branches are the approval branches corresponding to the same diversion node as the approval branch; and a display module, which is used to display the process to be displayed in the approval display interface.
[0222] Optionally, the display module includes: a first display sub-module, which is used to display the non-diverting nodes in the process to be displayed and the nodes of each approval branch under the target diverting node and their processing status if the target node is not a node in the approval branch, and the target diverting node is a diverting node that does not belong to the approval branch; a second display sub-module, which is used to display the non-diverting nodes in the process to be displayed and the nodes of each approval branch under the target diverting node and their processing status, as well as the nodes in the approval branch and their processing status if the target node is a node in the approval branch.
[0223] Reference below Fig.11 , which shows a schematic diagram of the structure of an electronic device (such as a terminal device or a server) 600 suitable for implementing the embodiment of the present disclosure. The terminal device in the embodiment of the present disclosure may include but is not limited to mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Fig.11 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0224] like Fig.11 As shown, the electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0225] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Although Fig.11 The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0226] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 609, or installed from a storage device 608, or installed from a ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0227] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0228] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0229] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0230] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: in response to receiving an approval request, obtains the approval process and target task data of the approval request, wherein the approval process includes multiple nodes; if the type of the current node is a diversion node, based on the target task data and the diversion type corresponding to the diversion node, determines multiple approval branches under the diversion node and the data to be approved corresponding to each of the approval branches, wherein different approval branches correspond to different data to be approved, and the union of the data to be approved corresponding to the multiple approval branches is the target task data; based on the data to be approved corresponding to each approval branch, executes the approval sub-process corresponding to the approval branch, and obtains the approval result data of the approval branch; after the approval sub-processes of each of the approval branches are completed, determines the task data of the confluence node corresponding to the diversion node based on the approval result data of each of the approval branches; based on the task data of the confluence node, continues to approve based on the approval process until the approval process ends.
[0231] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0232] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0233] The modules involved in the embodiments described in the present disclosure may be implemented by software or hardware. The name of a module does not limit the module itself in some cases. For example, an acquisition module may also be described as "a module that, in response to receiving an approval request, acquires the approval process and target task data of the approval request."
[0234] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0235] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0236] According to one or more embodiments of the present disclosure, Example 1 provides a task process approval method, wherein the method includes: in response to receiving an approval request, obtaining the approval process and target task data of the approval request, wherein the approval process includes multiple nodes; if the type of the current node is a diversion node, then based on the target task data and the diversion type corresponding to the diversion node, determining multiple approval branches under the diversion node and the pending approval data corresponding to each of the approval branches, wherein different approval branches correspond to different pending approval data, and the union of the pending approval data corresponding to the multiple approval branches is the target task data; based on the pending approval data corresponding to each of the approval branches, executing the approval sub-process corresponding to the approval branch, and obtaining the approval result data of the approval branch; after the approval sub-processes of each of the approval branches are completed, determining the task data of the confluence node corresponding to the diversion node based on the approval result data of each of the approval branches; based on the task data of the confluence node, continuing to approve based on the approval process until the approval process ends.
[0237] According to one or more embodiments of the present disclosure, Example 2 provides a method of Example 1, wherein the diversion type includes variable diversion, and the diversion node corresponds to a diversion object and a diversion variable for data diversion; the diversion type corresponding to the target task data and the diversion node determines multiple approval branches under the diversion node and the data to be approved corresponding to each approval branch, including: determining the target value corresponding to the diversion object under the diversion variable according to the target task data; generating an approval branch corresponding to the target value, and using the data of the diversion object in the target task data under the target value as the data to be approved corresponding to the approval branch, wherein different target values correspond to different approval branches, and the approval sub-process corresponding to each approval branch is the same.
[0238] According to one or more embodiments of the present disclosure, Example 3 provides the method of Example 2, wherein the diversion node of the variable diversion is configured in the following manner: in response to receiving a selection and move operation on the diversion node corresponding to the variable diversion in the node area of the configuration interface, displaying a configuration process in the canvas area of the configuration interface, the configuration process including the node identifier of the diversion node, the node identifier of the confluence node corresponding to the diversion node, and adding an identifier to the node between the diversion node and the confluence node; displaying attributes to be configured in the attribute area of the configuration interface, the attributes to be configured including the diversion variable; in response to receiving a configuration operation on the diversion variable in the attribute area, determining the diversion variable corresponding to the diversion node, wherein the diversion variable includes at least one variable; in response to receiving a configuration operation to add an identifier to the node, generating configuration information of the node in the approval branch corresponding to the diversion node to obtain the approval sub-process corresponding to the diversion node.
[0239] According to one or more embodiments of the present disclosure, Example 4 provides the method of Example 3, wherein in response to receiving a configuration operation on the diversion variable in the attribute area, determining the diversion variable corresponding to the diversion node includes: in response to receiving a selection operation on the diversion variable in the attribute area, displaying candidate variables; in response to receiving a display operation on the candidate variable, displaying the next-level variable of the candidate variable corresponding to the display operation as a new candidate variable; in response to receiving a selection operation on the candidate variable, using the selected candidate variable as the diversion variable corresponding to the classification node.
[0240] According to one or more embodiments of the present disclosure, Example 5 provides a method of Example 1, wherein the diversion type includes conditional diversion, and the diversion node corresponds to a diversion object and a diversion condition for data diversion; the diversion type corresponding to the target task data and the diversion node determines multiple approval branches under the diversion node and the data to be approved corresponding to each approval branch, including: determining the data matched by the diversion object in each diversion condition according to the target task data; if the data matched by the diversion condition is not empty, generating an approval branch corresponding to the diversion condition, and determining the data matched by the diversion condition as the data to be approved corresponding to the approval branch; if there is remaining data in the target task data that does not match any of the diversion conditions, generating a default approval branch, and using the remaining data as the data to be approved corresponding to the default approval branch, wherein different approval branches correspond to different approval sub-processes.
[0241] According to one or more embodiments of the present disclosure, Example 6 provides the method of Example 5, wherein the diversion node of the conditional diversion is configured in the following manner: in response to receiving a selection and move operation on the diversion node corresponding to the conditional diversion in the node area of the configuration interface, displaying a configuration process in the canvas area of the configuration interface, the configuration process including the node identifier of the diversion node, the node identifier of the confluence node corresponding to the diversion node, and multiple branches, the multiple branches including a default branch and at least one branch with a diversion condition to be configured; displaying attributes to be configured in the attribute area of the configuration interface, the attributes to be configured including the diversion condition corresponding to each of the branches; in response to receiving a conditional configuration operation on the branch, generating the diversion condition corresponding to the branch under the diversion node; in response to receiving a node configuration operation on each of the branches, generating configuration information of the nodes in the branch corresponding to the diversion node to obtain the approval sub-process corresponding to the diversion node.
[0242] According to one or more embodiments of the present disclosure, Example 7 provides the method of Example 1, wherein the diversion type includes object diversion, and the diversion node corresponds to a diversion object for performing data diversion; the diversion type corresponding to the target task data and the diversion node determines multiple approval branches under the diversion node and the data to be approved corresponding to each approval branch, including: generating an approval branch for each object in the target task data and under the diversion object, and using the data corresponding to the object in the target task data as the data to be approved corresponding to the approval branch, wherein the approval sub-process corresponding to each approval branch is the same.
[0243] According to one or more embodiments of the present disclosure, Example 8 provides the method of Example 7, wherein the diversion node of the object diversion is configured in the following manner: in response to receiving a selection and move operation on the diversion node corresponding to the object diversion in the node area of the configuration interface, displaying a configuration process in the canvas area of the configuration interface, the configuration process including the node identifier of the diversion node, the node identifier of the confluence node corresponding to the diversion node, and a node addition identifier; in response to receiving a configuration operation to add an identifier to the node, generating configuration information of the node in the approval branch corresponding to the diversion node to obtain the approval sub-process corresponding to the diversion node.
[0244] According to one or more embodiments of the present disclosure, Example 9 provides a method of Example 1, wherein, based on the pending approval data corresponding to each of the approval branches, executing the approval sub-process corresponding to the approval branch to obtain the approval result data of the approval branch includes: obtaining a target child node, and determining whether the target child node is a diversion node, wherein the target child node is initially the first child node in the approval order of the approval sub-process; if the target child node is not a diversion node, determining the approver corresponding to the target child node based on the pending approval data, and pushing an approval message to the terminal corresponding to the approver, so as to determine the approval of the target child node based on the approval information returned by the terminal corresponding to the approver result; if the target sub-node is a diversion node, determine the approval result of the target sub-node based on the approval results of each approval branch corresponding to the diversion node; if the approval result of the target sub-node is passed, obtain the next sub-node as the new target sub-node according to the approval order, and return to the step of determining whether the target sub-node is a diversion node until the approval sub-process corresponding to the approval branch is completed; if the approval result of the target sub-node is rejected, end the execution of the approval sub-process corresponding to the approval branch; determine the approval result data of the approval branch based on the approval result of each target sub-node in the approval branch, and the approval result data includes approval pass data and / or approval rejection data.
[0245] According to one or more embodiments of the present disclosure, Example 10 provides the method of Example 9, wherein the method further includes: if the approval result of the target sub-node is determined to be rollback based on the approval information returned by the terminal corresponding to the approving personnel, then determining the rollback node corresponding to the target sub-node; if the rollback node is a node other than the approval branch to which the target sub-node belongs, then all approval branches under the diversion node corresponding to the approval branch to which the target sub-node belongs are rolled back to the rollback node to execute the approval process.
[0246] According to one or more embodiments of the present disclosure, Example 11 provides the method of Example 1, wherein the method further includes: if the current node is not a node in the approval branch, and based on the approval information returned by the terminal corresponding to the approver of the current node, it is determined that the approval result of the current node is a rollback, then the rollback node corresponding to the current node is determined; if the rollback node is a node in the approval branch, the approval process is rolled back from the current node to the rollback node, and the processing status of other approval branches under the branch node corresponding to the approval branch to which the rollback node belongs remains unchanged.
[0247] According to one or more embodiments of the present disclosure, Example 12 provides the method of Example 1, wherein the approval result data includes approval rejection data and approval approval data; the task data of the confluence node corresponding to the diversion node is determined based on the approval result data of each of the approval branches, including: taking the union of the approval approval data of each of the approval branches as the approval approval data corresponding to the confluence node; taking the union of the approval rejection data of each of the approval branches and the approval rejection data corresponding to the preceding node of the diversion node in the approval process as the approval rejection data corresponding to the confluence node.
[0248] According to one or more embodiments of the present disclosure, Example 13 provides the method of Example 1, wherein the method further includes: if the approval of the processing node currently being approved in the approval process is completed, updating the processing status of the processing node according to the approval result of the processing node, wherein the processing status of each node in the approval process is initially not started; and updating the processing status of the node in the approval process according to the updated processing status of the processing node.
[0249] According to one or more embodiments of the present disclosure, Example 14 provides the method of Example 13, wherein the updating of the processing status of the node in the approval process according to the updated processing status of the processing node includes: if the processing node belongs to the target approval branch and the processing status of the processing node is updated to rejected, determining that the processing status of the node of the target approval branch is rejected; if the processing node belongs to the target approval branch and the processing status of the processing node is updated to passed, and the next node of the processing node is the confluence node of the target approval branch, determining that the processing status of the node of the target approval branch is completed; if the processing status of the nodes of each approval branch under the diverging node corresponding to the target approval branch is rejected, updating the processing status of the diverging node to rejected; if the processing status of the nodes of each approval branch under the diverging node corresponding to the target approval branch is all completed or the processing status of some of the nodes of the approval branch is completed and the processing status of the remaining nodes is rejected, updating the processing status of the diverging node to completed.
[0250] According to one or more embodiments of the present disclosure, Example 15 provides the method of Example 1, wherein the method further comprises: in response to receiving a process viewing request, determining a target node where a target user corresponding to the process viewing request is located; if the target node is not a node in an approval branch, taking the approval process as the process to be displayed corresponding to the target user; if the target node is a node in an approval branch, taking the sub-processes corresponding to each node in the approval process except the node of the parallel branch of the approval branch as the process to be displayed corresponding to the target user, wherein the parallel branch is each approval branch corresponding to the same branching node as the approval branch;
[0251] The process to be displayed is displayed in the approval display interface.
[0252] According to one or more embodiments of the present disclosure, Example 16 provides the method of Example 15, wherein the displaying of the process to be displayed in the approval display interface includes: if the target node is not a node in the approval branch, displaying the non-diverting nodes in the process to be displayed and the nodes of each approval branch under the target diverting node and their processing status, and the target diverting node is a diverting node that does not belong to the approval branch; if the target node is a node in the approval branch, displaying the non-diverting nodes in the process to be displayed and the nodes of each approval branch under the target diverting node and their processing status, as well as the nodes in the approval branch and their processing status.
[0253] According to one or more embodiments of the present disclosure, Example 17 provides a task process approval device, the device comprising: an acquisition module, for obtaining the approval process and target task data of the approval request in response to receiving an approval request, wherein the approval process includes multiple nodes; a first determination module, for determining, if the type of the current node is a diversion node, multiple approval branches under the diversion node and the pending approval data corresponding to each of the approval branches based on the target task data and the diversion type corresponding to the diversion node, wherein different approval branches correspond to different pending approval data, and the union of the pending approval data corresponding to the multiple approval branches is the target task data; a first processing module, for executing the approval sub-process corresponding to each approval branch based on the pending approval data corresponding to the approval branch, and obtaining the approval result data of the approval branch; a second determination module, for determining the task data of the confluence node corresponding to the diversion node based on the approval result data of each approval branch after the approval sub-process of each approval branch is completed; and a second processing module, for continuing to approve based on the approval process based on the task data of the confluence node until the approval process ends.
[0254] According to one or more embodiments of the present disclosure, Example 18 provides a computer-readable medium having a computer program stored thereon, which implements the steps of any of the methods described in Examples 1-16 when executed by a processing device.
[0255] According to one or more embodiments of the present disclosure, Example 19 provides an electronic device, comprising: a storage device on which a computer program is stored; and a processing device for executing the computer program in the storage device to implement the steps of any one of the methods described in Examples 1-16.
[0256] According to one or more embodiments of the present disclosure, Example 20 provides a computer program product, including a computer program, which implements the steps of any one of the methods of Examples 1-16 when executed by a processor.
[0257] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
[0258] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0259] Although the subject matter has been described in language specific to structural features and / or method logic actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims. Regarding the device in the above embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Claims
1. A task flow approval method, characterized in that: The method comprises: In response to receiving an approval request, obtaining an approval process and target task data of the approval request, wherein the approval process includes a plurality of nodes; If the type of the current node is a diversion node, then based on the target task data and the diversion type corresponding to the diversion node, multiple approval branches under the diversion node and the data to be approved corresponding to each approval branch are determined, wherein different approval branches correspond to different data to be approved, and the union of the data to be approved corresponding to the multiple approval branches is the target task data; Based on the data to be approved corresponding to each approval branch, the approval sub-process corresponding to the approval branch is executed to obtain the approval result data of the approval branch; After the approval sub-processes of the respective approval branches are completed, based on the approval result data of the respective approval branches, the task data of the converging node corresponding to the diverging node is determined; Based on the task data of the confluence node, continue to approve based on the approval process until the approval process is completed.
2. The method according to claim 1, characterized in that The diversion type includes variable diversion, and the diversion node corresponds to a diversion object and a diversion variable for performing data diversion; The determining, based on the target task data and the diversion type corresponding to the diversion node, a plurality of approval branches under the diversion node and the to-be-approved data corresponding to each of the approval branches, comprises: Determine, according to the target task data, a target value corresponding to the diversion object under the diversion variable; Generate an approval branch corresponding to the target value, and use the data of the target task data and the diversion object under the target value as the data to be approved corresponding to the approval branch, wherein different target values correspond to different approval branches, and the approval sub-process corresponding to each approval branch is the same.
3. The method according to claim 2, characterized in that The diversion node of the variable diversion is configured in the following way: In response to receiving a selection and movement operation on a diversion node corresponding to a variable diversion in a node area of a configuration interface, a configuration process is displayed in a canvas area of the configuration interface, wherein the configuration process includes a node identifier of the diversion node, a node identifier of a confluence node corresponding to the diversion node, and a node addition identifier between the diversion node and the confluence node; Displaying the attributes to be configured in the attribute area of the configuration interface, wherein the attributes to be configured include diversion variables; In response to receiving a configuration operation on a diversion variable in the attribute area, determining a diversion variable corresponding to the diversion node, wherein the diversion variable includes at least one variable; In response to receiving a configuration operation of adding an identifier to the node, configuration information of a node in an approval branch corresponding to the diversion node is generated to obtain an approval sub-process corresponding to the diversion node.
4. The method according to claim 3, characterized in that In response to receiving a configuration operation on the diversion variable in the attribute area, determining the diversion variable corresponding to the diversion node includes: In response to receiving a selection operation on a diversion variable in the attribute area, displaying candidate variables; In response to receiving a display operation on a candidate variable, taking a next-level variable of the candidate variable corresponding to the display operation as a new candidate variable and displaying it; In response to receiving a selection operation on a candidate variable, the selected candidate variable is used as a diversion variable corresponding to the classification node.
5. The method according to claim 1, characterized in that The diversion type includes conditional diversion, and the diversion node corresponds to a diversion object and a diversion condition for performing data diversion; The determining, based on the target task data and the diversion type corresponding to the diversion node, a plurality of approval branches under the diversion node and the to-be-approved data corresponding to each of the approval branches, comprises: According to the target task data, determining the data matched by the diversion object under each diversion condition; If the data matched by the diversion condition is not empty, an approval branch corresponding to the diversion condition is generated, and the data matched by the diversion condition is determined as the data to be approved corresponding to the approval branch; If there is remaining data in the target task data that does not match any of the diversion conditions, a default approval branch is generated, and the remaining data is used as the data to be approved corresponding to the default approval branch, wherein different approval branches correspond to different approval sub-processes.
6. The method according to claim 5, characterized in that The splitting node of the conditional splitting is configured in the following way: In response to receiving a selection and movement operation on a diversion node corresponding to a conditional diversion in a node area of a configuration interface, a configuration process is displayed in a canvas area of the configuration interface, wherein the configuration process includes a node identifier of the diversion node, a node identifier of a confluence node corresponding to the diversion node, and a plurality of branches, wherein the plurality of branches include a default branch and at least one branch for which a diversion condition is to be configured; Displaying the attributes to be configured in the attribute area of the configuration interface, wherein the attributes to be configured include the diversion conditions corresponding to each branch; In response to receiving a conditional configuration operation on the branch, generating a diversion condition corresponding to the branch under the diversion node; In response to receiving a node configuration operation for each of the branches, configuration information of the nodes in the branch corresponding to the diversion node is generated to obtain the approval sub-process corresponding to the diversion node.
7. The method according to claim 1, characterized in that The diversion type includes object diversion, and the diversion node corresponds to a diversion object for performing data diversion; The determining, based on the target task data and the diversion type corresponding to the diversion node, a plurality of approval branches under the diversion node and the to-be-approved data corresponding to each of the approval branches, comprises: An approval branch is generated for each object under the diversion object in the target task data, and the data corresponding to the object in the target task data is used as the data to be approved corresponding to the approval branch, wherein the approval sub-process corresponding to each approval branch is the same.
8. The method according to claim 7, characterized in that The object splitting node is configured in the following way: In response to receiving a selection and movement operation on a diversion node corresponding to an object diversion in a node area of a configuration interface, displaying a configuration process in a canvas area of the configuration interface, wherein the configuration process includes a node identifier of the diversion node, a node identifier of a confluence node corresponding to the diversion node, and a node addition identifier; In response to receiving a configuration operation of adding an identifier to the node, configuration information of a node in an approval branch corresponding to the diversion node is generated to obtain an approval sub-process corresponding to the diversion node.
9. The method according to claim 1, characterized in that: The step of executing the approval sub-process corresponding to each approval branch based on the pending approval data corresponding to the approval branch to obtain the approval result data of the approval branch includes: Acquire a target child node, and determine whether the target child node is a branch node, wherein the target child node is initially the first child node in the approval order of the approval sub-process; If the target subnode is not a diversion node, determine the approver corresponding to the target subnode based on the data to be approved, and push an approval message to the terminal corresponding to the approver, so as to determine the approval result of the target subnode based on the approval information returned by the terminal corresponding to the approver; If the target sub-node is a branch node, the approval result of the target sub-node is determined based on the approval results of each approval branch corresponding to the branch node; If the approval result of the target subnode is passed, the next subnode is obtained as the new target subnode according to the approval order, and the process returns to the step of determining whether the target subnode is a branch node until the approval subprocess corresponding to the approval branch is completed; If the approval result of the target sub-node is rejection, then the approval sub-process corresponding to the approval branch is terminated; According to the approval result of each target sub-node in the approval branch, the approval result data of the approval branch is determined, and the approval result data includes approval pass data and / or approval rejection data.
10. The method according to claim 9, characterized in that The method further comprises: If the approval result of the target subnode is determined to be rollback based on the approval information returned by the terminal corresponding to the approving personnel, then a rollback node corresponding to the target subnode is determined; If the fallback node is a node other than the approval branch to which the target sub-node belongs, all approval branches under the diversion node corresponding to the approval branch to which the target sub-node belongs are rolled back to the fallback node to execute the approval process.
11. The method according to claim 1, characterized in that: The method further comprises: If the current node is not a node in the approval branch, and based on the approval information returned by the terminal corresponding to the approver of the current node, it is determined that the approval result of the current node is rollback, then the rollback node corresponding to the current node is determined; If the fallback node is a node within an approval branch, the approval process is rolled back from the current node to the fallback node, and the processing status of other approval branches under the branch node corresponding to the approval branch to which the fallback node belongs remains unchanged.
12. The method according to claim 1, characterized in that The approval result data includes approval rejection data and approval approval data; The determining, based on the approval result data of each of the approval branches, the task data of the converging node corresponding to the diverging node comprises: The union of the approval data of each approval branch is used as the approval data corresponding to the confluence node; The union of the approval rejection data of each of the approval branches and the approval rejection data corresponding to the preceding node of the diverging node in the approval process is used as the approval rejection data corresponding to the merging node.
13. The method according to claim 1, characterized in that The method further comprises: If the approval of the processing node currently being approved in the approval process is completed, the processing status of the processing node is updated according to the approval result of the processing node, wherein the processing status of each node in the approval process is initially not started; The processing status of the nodes in the approval process is updated according to the updated processing status of the processing node.
14. The method according to claim 13, characterized in that The updating of the processing status of the node in the approval process according to the updated processing status of the processing node includes: If the processing node belongs to the target approval branch, and the processing status of the processing node is updated to rejected, then determining that the processing status of the node of the target approval branch is rejected; If the processing node belongs to the target approval branch, and the processing status of the processing node is updated to passed, and the next node of the processing node is the confluence node of the target approval branch, then the processing status of the node of the target approval branch is determined to be completed; If the processing status of the nodes of each approval branch under the diversion node corresponding to the target approval branch is rejected, then the processing status of the diversion node is updated to rejected; If the processing status of the nodes of each approval branch under the diversion node corresponding to the target approval branch is all completed, or the processing status of some of the nodes of each approval branch is completed and the processing status of the remaining nodes is rejected, the processing status of the diversion node is updated to completed.
15. The method according to claim 1, characterized in that The method further comprises: In response to receiving a process viewing request, determining a target node where a target user corresponding to the process viewing request is located; If the target node is not a node in the approval branch, the approval process is used as the process to be displayed corresponding to the target user; If the target node is a node in an approval branch, the sub-processes corresponding to the nodes in the approval process except the nodes of the parallel branches of the approval branch are used as the to-be-displayed processes corresponding to the target user, wherein the parallel branches are the approval branches corresponding to the same branching node as the approval branch; The process to be displayed is displayed in the approval display interface.
16. The method according to claim 15, characterized in that The displaying of the process to be displayed in the approval display interface includes: If the target node is not a node in the approval branch, display the non-dividing nodes in the process to be displayed and the nodes of each approval branch under the target diverting node and their processing status, and the target diverting node is a diverting node that does not belong to the approval branch; If the target node is a node in an approval branch, the non-dividing nodes in the process to be displayed and the nodes of each approval branch under the target diverting node and their processing status, as well as the nodes in the approval branch and their processing status are displayed.
17. A task process approval device, characterized in that: The device comprises: An acquisition module, configured to acquire, in response to receiving an approval request, an approval process and target task data of the approval request, wherein the approval process includes a plurality of nodes; A first determination module is used for determining, if the type of the current node is a diversion node, a plurality of approval branches under the diversion node and the data to be approved corresponding to each of the approval branches based on the target task data and the diversion type corresponding to the diversion node, wherein different approval branches correspond to different data to be approved, and a union of the data to be approved corresponding to the plurality of approval branches is the target task data; A first processing module is used to execute the approval sub-process corresponding to each approval branch based on the pending approval data corresponding to the approval branch, and obtain the approval result data of the approval branch; A second determination module is used to determine the task data of the converging node corresponding to the diverging node based on the approval result data of each approval branch after the approval sub-process of each approval branch is completed; The second processing module is used to continue to approve based on the approval process based on the task data of the confluence node until the approval process is completed.
18. A computer readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processing device, the steps of the method according to any one of claims 1 to 16 are implemented.
19. An electronic device, characterized in that: include: a storage device having a computer program stored thereon; A processing device, configured to execute the computer program in the storage device to implement the steps of the method according to any one of claims 1 to 16.
20. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 16 are implemented.