Approval task processing methods, devices, storage media and electronic equipment
By creating workflows and building approval controls in the approval system, the challenges of handling complex business processes were solved, and the processing capacity of approval tasks was improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2021-06-29
- Publication Date
- 2026-05-26
Smart Images

Figure CN115545627B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, specifically to an approval task processing method, apparatus, storage medium, and electronic device. Background Technology
[0002] Approval tasks refer to work tasks that involve approving or processing relevant content, such as leave approval tasks or business content approval tasks. The processing of approval tasks is of great significance for the smooth progress of relevant plans.
[0003] Currently, some related technologies use independent approval systems to process approval tasks. However, this approach can only handle simple serial or parallel approval processes and is not suitable for complex business approval processes. As a result, these technologies have poor approval task processing capabilities. Summary of the Invention
[0004] This application provides an approval task processing method and related apparatus, which can effectively improve the processing capability of relevant approval systems for approval tasks.
[0005] To address the aforementioned technical problems, this application provides the following technical solutions:
[0006] According to one embodiment of this application, an approval task processing method includes: creating a workflow for a task to be approved, the workflow including at least one node, each node including pointer information and configuration information; determining a current execution node from the at least one node; if the type of the current execution node is an approval type, constructing an approval control in a message system based on the configuration information of the current execution node, so as to receive the approval information of the current execution node generated by the approval control through the message system; performing node flow analysis on the at least one node according to the pointer information of the current execution node and the approval information, so as to update the current execution node; performing approval processing on the workflow based on the updated current execution node, and generating an approval result for the task to be approved.
[0007] According to one embodiment of this application, an approval task processing apparatus includes: a creation module for creating a workflow for a task to be approved, the workflow including at least one node, each node including pointer information and configuration information; a determination module for determining a current execution node from the at least one node; a construction module for constructing an approval control in a message system based on the configuration information of the current execution node if the type of the current execution node is an approval type, so as to receive the approval information of the current execution node generated by the approval control through the message system; a first analysis module for performing node flow analysis on the at least one node according to the pointer information of the current execution node and the approval information, so as to update the current execution node; and an update processing module for performing approval processing on the workflow based on the updated current execution node, and generating an approval result for the task to be approved.
[0008] In some embodiments of this application, the configuration information of the current execution node includes approval object information; the construction module includes: a control content construction unit, used to construct control content corresponding to the current execution node; an approval object determination unit, used to determine at least one approval object based on the approval object information; and a control construction unit, used to send the control content to the client corresponding to each approval object in the message system, so as to generate an approval control in each client based on the control content.
[0009] In some embodiments of this application, the configuration information of the current execution node includes approval operation information, and the approval operation information includes at least one sub-operation information; the control content construction unit is configured to include: a control type determination subunit, configured to perform control type matching analysis on the sub-operation information in the approval operation information to determine the control type matched by each sub-operation information; a content information acquisition subunit, configured to acquire the control generation content template and operation link template corresponding to each control type; and a control content generation subunit, configured to generate the control content based on the acquired control generation content template and operation link template corresponding to each control type.
[0010] In some embodiments of this application, the control content includes control generation content and operation links corresponding to at least one control type; the control construction unit is configured to: send the control content to the client corresponding to each approval object in the message system, so as to generate at least one approval control carrying an operation link in each client based on the control generation content and operation links corresponding to the at least one control type.
[0011] In some embodiments of this application, the configuration information of the current execution node includes system information; the device further includes: a system matching module, used to perform system matching processing based on the system information to determine the message system matched by the current execution node.
[0012] In some embodiments of this application, the pointing information of the current execution node includes at least one pointing, and each pointing corresponds to a preset node approval information; the analysis module includes: an information matching unit, used to match the preset node approval information corresponding to each pointing with the approval information to determine the preset node approval information matched by the approval information; a pointing determination unit, used to take the pointing corresponding to the preset node approval information matched by the approval information as a target pointing; and a node update unit, used to determine the node indicated by the target pointing from the at least one node as the updated current execution node.
[0013] In some embodiments of this application, the configuration information of the current execution node includes content processing information; the device further includes: a service determination module, used to determine the application service and third-party system matching the content processing information if the type of the current execution node is a service type; a collaborative processing module, used to perform data collaborative processing based on the application service and the third-party system to obtain the content processing result corresponding to the current execution node; and a second analysis module, used to perform node flow analysis on the at least one node based on the pointing information of the current execution node and the content processing result to determine the updated current execution node.
[0014] In some embodiments of this application, the second analysis module includes: a condition matching unit, configured to determine whether the content processing result meets predetermined conditions; and a specific update unit, configured to, when the content processing result meets predetermined conditions, determine the node indicated by the specific pointer from the at least one node as the current execution node for updating.
[0015] In some embodiments of this application, the update processing module includes: an update processing unit, configured to process the configuration information of the updated current execution node according to the type of the updated current execution node, to generate node processing information corresponding to the updated current execution node; an update analysis unit, configured to perform node flow analysis on the at least one node according to the node processing information and pointing information corresponding to the updated current execution node, to cyclically update and approve the current execution node; an end processing unit, configured to obtain the node processing information corresponding to the last updated current execution node when the approval processing of at least one node included in the workflow is completed; and a result generation unit, configured to generate the approval result of the task to be approved based on the node processing information corresponding to the last updated current execution node.
[0016] In some embodiments of this application, the node processing information includes at least one of updated approval information and content processing results corresponding to the current execution node; the update analysis unit includes: a first analysis subunit, used to perform node flow analysis on the at least one node based on the updated approval information and pointing information when the node processing information includes updated approval information corresponding to the current execution node; and a second analysis subunit, used to perform node flow analysis on the at least one node based on the updated content processing results and pointing information when the node processing information includes updated content processing results corresponding to the current execution node.
[0017] In some embodiments of this application, the creation module includes: a node control creation unit, used to create node controls corresponding to each subtask in the task to be approved based on a workflow engine; a control flow construction unit, used to add task information corresponding to the subtask to each node control, and connect the node controls corresponding to each subtask through connecting lines to obtain a node control flow; an information conversion unit, used to generate configuration information based on the task information in each node control in the node control flow, and generate pointing information based on the connecting lines between each node control; and a workflow construction unit, used to construct nodes based on the configuration information and pointing information corresponding to each node control to generate the workflow.
[0018] In some embodiments of this application, the configuration information of the current execution node includes an approval duration threshold; the device further includes: a time point monitoring module, used to determine the time point at which the approval control is constructed in the message system; a target time point determination module, used to determine a target time point at which the approval duration is spaced apart from the time point; and an approval interruption module, used to terminate the approval processing of the current execution node if the approval information is not received before the target time point.
[0019] According to another embodiment of this application, a storage medium stores a computer program thereon, which, when executed by a computer's processor, causes the computer to perform the methods described in the embodiments of this application.
[0020] According to another embodiment of this application, an electronic device includes: a memory storing a computer program; and a processor reading the computer program stored in the memory to execute the methods described in the embodiments of this application.
[0021] According to another embodiment of this application, a computer program product or computer program includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various optional implementations described in the embodiments of this application.
[0022] In this embodiment, a workflow for creating tasks to be approved is established. This workflow includes at least one node, and each node includes pointer information and configuration information. The current execution node is determined from the at least one node. If the type of the current execution node is an approval type, an approval control is constructed in the messaging system based on the configuration information of the current execution node, so as to receive the approval information of the current execution node generated by the approval control through the messaging system. According to the pointer information and approval information of the current execution node, node flow analysis is performed on the at least one node to update the current execution node. Based on the updated current execution node, the workflow is processed for approval, and the approval result of the task to be approved is generated.
[0023] In this way, for tasks awaiting approval, a workflow consisting of nodes including pointer information and configuration information can be created. Complex approval tasks can then be characterized as corresponding workflows. When the current execution node in the workflow is an approval type, a corresponding approval control can be built in the message system based on the configuration information. The message system is used to flexibly process the approval of nodes, and the approval process of the workflow is performed by updating the current execution node, generating the approval result of the task awaiting approval. This allows for flexible processing of even very complex approval tasks, improving the ability to handle approval tasks. The approval system can support multiple approval objects to process complex approval tasks through the message system. Attached Figure Description
[0024] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0025] Figure 1 A schematic diagram of a system to which embodiments of this application can be applied is shown.
[0026] Figure 2 A schematic diagram of another system to which embodiments of this application can be applied is shown.
[0027] Figure 3A flowchart of an approval task processing method according to an embodiment of this application is shown.
[0028] Figure 4 A flowchart illustrating an approval task processing method using an embodiment of this application is shown.
[0029] Figure 5 A flowchart illustrating node processing according to an embodiment of this application is shown.
[0030] Figure 6 A terminal interface diagram is shown for creating a workflow in one scenario according to this application.
[0031] Figure 7 A terminal interface diagram for configuring node information in one scenario according to this application is shown.
[0032] Figure 8 A terminal interface diagram of an approval process according to this application is shown.
[0033] Figure 9 A block diagram of an approval task processing apparatus according to another embodiment of this application is shown.
[0034] Figure 10 A block diagram of an electronic device according to an embodiment of this application is shown. Detailed Implementation
[0035] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0036] Figure 1 A schematic diagram of a system 100 to which embodiments of this application can be applied is shown. For example... Figure 1 As shown, system 100 may include terminal 101, server 102, server 103, and terminal 104. Terminal 104 may include at least one, such as Figure 1 Two terminals 104 are shown. Terminals 101, 102, 103 and 104 can be connected via wired or wireless communication, and this application does not impose any special restrictions on this.
[0037] Server 103 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0038] In one implementation, server 103 is a cloud server that can provide artificial intelligence (AI) cloud services, such as AI cloud services for massively multiplayer online role-playing games (MMORPGs). AI cloud services are generally also referred to as AIaaS (AI as a Service). This is a mainstream service model for AI platforms. Specifically, AIaaS platforms break down several common AI services and provide them as independent or packaged services in the cloud. This service model is similar to opening an AI-themed marketplace: all developers can access and use one or more AI services provided by the platform through API interfaces. Some experienced developers can also use the AI framework and AI infrastructure provided by the platform to deploy and maintain their own dedicated cloud AI services. For example, server 103 can provide AI-based data processing services.
[0039] Terminal 101 and Terminal 104 may include, but are not limited to, smartphones, tablets, laptops, desktop computers, smart home appliances, in-vehicle terminals, VR / AR devices, smartwatches, and computers, etc.
[0040] In one embodiment of this example, server 102 is the system server corresponding to a messaging system (such as WeChat Work or other instant messaging systems), server 103 is the system server corresponding to other third-party systems, terminal 101 is the terminal corresponding to a workflow platform, and the workflow engine can be hosted on terminal 101, terminal 104 is the terminal corresponding to the approval object, and a client (such as WeChat Work) can run on terminal 104.
[0041] In one embodiment of this example, terminal 101 can create a workflow for tasks to be approved, which includes at least one node, each node including pointer information and configuration information; determine the current execution node from the at least one node; if the type of the current execution node is approval type, construct an approval control in the messaging system based on the configuration information of the current execution node, so as to receive the approval information of the current execution node generated by the approval control through the messaging system; perform node flow analysis on the at least one node according to the pointer information and approval information of the current execution node, so as to update the current execution node; perform approval processing on the workflow based on the updated current execution node, and generate the approval result of the task to be approved.
[0042] Among them, the approval control is built in the message system based on the configuration information of the current execution node. This can be achieved by terminal 101 building the approval control on the client in the message system (e.g., the client running on terminal 104) through server 102.
[0043] In one embodiment of this example, when the type of the current execution node is a service type, the terminal 101 can determine the application service and third-party system that match the content processing information; perform data collaborative processing based on the application service and the third-party system to obtain the content processing result corresponding to the current execution node; and perform node flow analysis on at least one node based on the pointing information of the current execution node and the content processing result to determine the updated current execution node.
[0044] The application services can be various commonly used non-approval application services encapsulated in the workflow engine hosted on terminal 101. These application services can connect with various third-party systems, which may include server 103. In one example, when performing collaborative data processing based on application services and third-party systems, the application services can obtain the required data from server 103 corresponding to the third-party system for collaborative data processing.
[0045] Figure 2 A schematic diagram of another system 200 to which embodiments of this application can be applied is shown. For example... Figure 2 As shown, system 200 can be a distributed system formed by connecting client 201 and multiple nodes 202 through network communication.
[0046] Taking a distributed system as an example, see blockchain system. Figure 2 , Figure 2This is an optional structural diagram of the distributed system 200 provided in this application embodiment applied to a blockchain system. It consists of multiple nodes 202 and clients 201, forming a peer-to-peer (P2P) network. The P2P protocol is an application layer protocol running on top of the Transmission Control Protocol (TCP). In the distributed system, any machine, such as a server, can join and become a node 202. A node includes a hardware layer, a middleware layer, an operating system layer, and an application layer.
[0047] See Figure 2 The functions of each node in the blockchain system shown include:
[0048] 1) Routing: A basic function of nodes used to support communication between nodes.
[0049] In addition to routing capabilities, nodes can also have the following functions:
[0050] 2) Applications are deployed in the blockchain to implement specific business needs. They record data related to the implementation of functions to form record data, carry digital signatures in the record data to indicate the source of the task data, and send the record data to other nodes in the blockchain system. When other nodes successfully verify the source and integrity of the record data, they add the record data to a temporary block.
[0051] For example, the business logic implemented by the application includes:
[0052] 2.1) A wallet is used to provide the function of conducting electronic currency transactions, including initiating transactions (i.e., sending the transaction record of the current transaction to other nodes in the blockchain system; after other nodes successfully verify the transaction, they store the transaction record data in the temporary block of the blockchain as a response to acknowledge the validity of the transaction; of course, the wallet also supports querying the remaining electronic currency in the electronic currency address.
[0053] 2.2) Shared ledger, used to provide functions such as storage, query and modification of ledger data. It sends the record data of the operation on the ledger data to other nodes in the blockchain system. After the other nodes verify the validity, as a response to acknowledge the validity of the ledger data, they store the record data in a temporary block. They can also send confirmation to the node that initiated the operation.
[0054] 2.3) Smart contracts are computerized protocols that can execute the terms of a contract. They are implemented through code deployed on a shared ledger that executes when certain conditions are met. Based on actual business needs, the code is used to complete automated transactions, such as querying the logistics status of goods purchased by a buyer and transferring the buyer's electronic money to the merchant's address after the buyer signs for the goods. Of course, smart contracts are not limited to executing contracts for transactions; they can also execute contracts for processing received information.
[0055] 3) A blockchain consists of a series of blocks that are sequentially generated. Once a new block is added to the blockchain, it will not be removed. The blocks contain the data submitted by the nodes in the blockchain system.
[0056] In one implementation of this example, client 201 can create a workflow for tasks awaiting approval. This workflow includes at least one node, each containing pointer information and configuration information. The client then determines the current execution node from among these nodes. If the current execution node is of type approval, an approval control is constructed in the messaging system based on the current execution node's configuration information. This control then receives the approval information generated by the current execution node through the messaging system. Based on the pointer information and approval information of the current execution node, the client performs node flow analysis on the at least one node to update it. Based on the updated current execution node, the client performs approval processing on the workflow, generating an approval result for the task awaiting approval. Client 201 can record information during the approval task processing (e.g., approval results) in the above implementation steps and upload the record file to node 202 for sharing in the blockchain.
[0057] Figure 3 A flowchart illustrating an approval task processing method according to an embodiment of this application is shown schematically. The executing entity of this approval task processing method can be any terminal, such as... Figure 1 The terminal 101 shown or as Figure 2 The terminal corresponding to client 201 shown.
[0058] like Figure 3 As shown, the approval task processing method may include steps S310 to S350.
[0059] Step S310: Create a workflow for the task to be approved. The workflow includes at least one node, and each node includes pointer information and configuration information.
[0060] Step S320: Determine the currently executing node from at least one node;
[0061] Step S330: If the type of the current execution node is approval type, construct an approval control in the message system based on the configuration information of the current execution node, so as to receive the approval information of the current execution node generated by the approval control through the message system;
[0062] Step S340: Based on the pointing information of the current execution node and the approval information, perform node flow analysis on at least one node to update the current execution node;
[0063] Step S350: Perform approval processing on the workflow based on the updated current execution node to generate approval results for tasks pending approval.
[0064] The following describes the specific steps involved in processing approval tasks.
[0065] In step S310, a workflow for the task to be approved is created. The workflow includes at least one node, and each node includes pointer information and configuration information.
[0066] In this example implementation, the task pending approval refers to a work task that requires approval processing of relevant content. A task pending approval may include at least one subtask. Subtasks may be approval-type tasks (i.e., tasks requiring approval processing) or service-type tasks (i.e., non-approval tasks requiring content processing). Subtasks may be related; a subtask A can be associated with at least one other subtask B. Which subtask in subtask B needs to be executed can be determined based on the execution result of subtask A. Subtasks include, for example, leave approval tasks or business content approval tasks in the workplace.
[0067] A workflow is a task flow consisting of at least one node. When creating a workflow, the task information and relationships of each subtask in the task to be approved can be obtained. The relationships are then converted into pointer information, and the task information is converted into configuration information. Based on the pointer and configuration information, the nodes corresponding to the subtasks are constructed. During the conversion process, information marked with keywords can be extracted from the task information through keyword recognition. The extracted information is then formatted according to a preset workflow standard to generate the configuration information and other necessary information corresponding to the nodes. Additionally, the pointer information corresponding to the nodes is generated by formatting the association conditions and directions in the relationships according to the workflow standard.
[0068] Pointing information refers to information about which nodes point to other nodes. This information can include at least one pointer, and each pointer can correspond to a preset node approval message or a preset content processing result. For example, the pointing information for node A can include two pointers, A-no-M1 and A-yes-M2, indicating that node A points to nodes M1 and M2, respectively. Here, "no" and "yes" are preset node approval messages obtained from association conditions, and A-M1 and A-M2 are the pointers converted from the association direction. Configuration information refers to the configuration required for the task corresponding to the processing node. This configuration information can include node identifiers, system information, approval object information, and approval operation information.
[0069] By creating a workflow for tasks awaiting approval, the task logic of these tasks can be logically characterized through the nodes in the workflow. This supports the accurate logical characterization of complex approval tasks, and the subsequent approval processes based on the workflow can support the handling of complex approval tasks.
[0070] In one embodiment, in step S310, a workflow for tasks to be approved is created. The workflow includes at least one node, and each node includes pointer information and configuration information, including:
[0071] Create node controls for each subtask in the pending approval task based on the workflow engine; add task information for the corresponding subtask to each node control, and connect the node controls for each subtask with connecting lines to obtain a node control flow; generate configuration information based on the task information in each node control in the node control flow, and generate pointing information based on the connecting lines between each node control; construct nodes based on the configuration information and pointing information corresponding to each node control to generate the workflow.
[0072] A workflow engine is a system that provides visual operation controls for workflow creation. The workflow engine can connect with messaging systems and third-party systems through system interfaces, thereby enabling flexible processing of approval tasks and improving the scalability of the approval system.
[0073] Users can create node controls (e.g., ...) for each subtask on the workflow engine page through drag-and-drop operations. Figure 6 The engine interface shown can create node controls such as Approval Node 1 and Approval Node 2. Each node control can be triggered to open a task information entry interface by clicking (e.g., ...). Figure 7 The image shown is an example of a form input interface. Task information can then be added to different information boxes within the input interface. Connecting lines can be added between node controls using drag-and-drop based on the relationships between tasks (e.g.,...). Figure 6The diagram shows a connection line between approval node 1 and approval node 2. According to the association direction in the relationship, corresponding arrow-shaped connection lines can be added. According to the association conditions, condition information such as "Yes", "Pass" or "Agree" can be added to the connection lines.
[0074] Users can set up connection lines to return to the previous node control or to proceed to the next node control, thereby enabling the depiction of complex processes such as nested relationships or callback relationships in the approval task workflow.
[0075] Clicking controls such as "Generate" or "Submit" triggers the workflow engine to generate configuration information based on the task information in each node control within the node control flow. For example, it converts task information according to a preset workflow standard to generate the corresponding node configuration information. The workflow engine can also generate pointing information based on the connections between each node control. For instance, it can generate pointing information based on the identifiers of two node controls connected by an arrow and the direction of the arrow (e.g., A-M1). It can also generate preset node approval information (e.g., "no" and "yes") or preset content processing results based on conditional information added to the connection lines. Furthermore, it can obtain pointing information by associating the pointing information of the same node control with preset node approval information or preset content processing results.
[0076] Finally, the pointer information and configuration information corresponding to each node control are associated and saved in a predetermined location (such as the background of the workflow engine) to form a system-executable node. All nodes are associated and saved to form a system-executable workflow.
[0077] Compared to traditional approval workflow tools that only support designing multiple concurrent or simple sequential approval workflows, this application's implementation allows users to easily design complex approval workflows with multi-level nesting relationships by dragging and dropping, based on their actual business approval needs. This simplifies the process and steps, meeting the diverse and complex business approval requirements of users.
[0078] In step S320, the currently executing node is determined from at least one node.
[0079] In this example implementation, after the workflow is created, the approval system can automatically or periodically start the workflow execution, or the user can manually trigger the workflow execution by clicking a button, or a trigger interface can be provided for the target object to trigger the execution (e.g., using a WebHook). In one embodiment, after the workflow is generated in the workflow engine, the user can click the execute button in the workflow engine to trigger the workflow engine to start executing the workflow.
[0080] After the workflow is started, the node identifier can be obtained from the configuration information of each node. The first execution node can be determined based on the node identifier. For example, the node with the sequence number 1 in the node identifier can be used as the first execution node.
[0081] In step S330, if the type of the current execution node is approval type, an approval control is constructed in the message system based on the configuration information of the current execution node, so as to receive the approval information of the current execution node generated by the approval control through the message system.
[0082] In this example implementation, the approval type node is the node that needs to be approved, corresponding to the task that needs to be approved. The approval type of the node can be obtained from the node's configuration information.
[0083] A messaging system is a system used for message communication, such as instant messaging systems like WeChat for Work. Through system interfaces, approval controls can be built in the client-side corresponding to the approval object within the messaging system. The approval object triggers the approval control to generate the corresponding approval information, which is then returned through the messaging system. This approach allows for more flexible processing of complex approval tasks by integrating with the messaging system, improving the scalability and processing capacity of the approval system.
[0084] The configuration information of the current execution node can include approval content. The approval content and control content can be associated and sent to the client corresponding to the approval object. The approval content and approval control are displayed in the client's window, and the approval object can view the approval content and perform approval operations based on the approval control.
[0085] In one embodiment, the configuration information of the current execution node includes system information; before constructing the approval control in the message system based on the configuration information of the current execution node in step S330, the method may further include: performing system matching processing based on the system information to determine the message system matched by the current execution node.
[0086] System information can be identifiers such as the name of the message system. By performing similarity matching calculations between the system information and the system names in the preset system table, the system name that matches the system information can be determined, and then the message system that the current execution node matches can be determined. Approval controls can be accurately constructed in the message system that matches the current execution node.
[0087] In one embodiment, the configuration information of the current execution node includes approval object information; the approval control is constructed in the messaging system based on the configuration information of the current execution node, including:
[0088] Construct the control content corresponding to the current execution node; determine at least one approval object based on the approval object information; send the control content to the client corresponding to each approval object in the messaging system, so that an approval control can be generated in each client based on the control content.
[0089] The approval object information refers to the information of the approval object that approves the content in the current execution node, such as approval member 1 or approval member 2. At least one approval object can be identified from the approval object information.
[0090] The control content may include control generation content (i.e., program code that generates the control) and operation links (i.e., message callback links that link the control to the callback interface in the approval system in terminal 101) used to return the approval information generated by the control.
[0091] Each type of control can be generated from its corresponding control content. When each type of control is triggered, it generates corresponding approval information. The control type corresponding to the current execution node can be determined based on the approval operation information in the configuration information. Then, the control content template matching the determined control type is obtained from the preset control library, and the control content is constructed based on the control content template and the approval operation information.
[0092] Sending the control content to the client corresponding to the approval object allows the client to generate an approval control based on the control content in the message receiving window. The approval object only needs to trigger the approval control to generate approval information which will be returned by the message system.
[0093] In one embodiment, the configuration information of the current execution node includes approval operation information, which includes at least one sub-operation information; constructing the control content corresponding to the current execution node includes:
[0094] Perform control type matching analysis on the sub-operation information in the approval operation information to determine the control type that matches each sub-operation information; obtain the control generation content template and operation link template corresponding to each control type; generate control content based on the obtained control generation content template and operation link template corresponding to each control type.
[0095] Approval operation information describes the operations performed by the approval object when conducting the approval. Approval operation information may include at least one sub-operation information, which may include the operation (such as clicking or filling in) and approval information (such as agreeing or disagreeing).
[0096] Based on the sub-operation information and the preset operation information in the preset type matching table, similarity matching analysis can be performed to determine the control type corresponding to the preset operation information that the sub-operation information matches. For example, it can be determined that the preset operation information matched by the click operation is click, and the corresponding control type is click-type control. It can be determined that the preset operation information matched by the fill-in operation is fill-in, and the corresponding control type is fill-in-type control.
[0097] Retrieve a control content template matching the specified control type from the preset control library. The control content template may include a control generation content template (i.e., the program code template for generating the control) and an operation link template (i.e., the message callback link template).
[0098] A child control's content can be generated based on the obtained control content template, and the collection of child control content constitutes the control content.
[0099] In one example, the control-generated content template can be used directly as the control-generated content, and the operation link template can be used as the operation link. The control-generated content and the operation link can be associated together as a child control content. In this case, a specific position in the operation link template (i.e., the message callback link template) can maintain a state where information is to be added. For example, when the control is triggered, a link can be triggered to return operation information such as "agree". Based on the control-generated content, fill-in controls and click controls can be generated. The approval object can fill in "approval information" to this specific position through the fill-in control, and the operation link can be triggered to return approval information by clicking the control.
[0100] In one example, the control content template and the approval information in the sub-operation information are merged to generate a sub-control content. Specifically, "approval information" can be added to a specific location in the control content generation template (i.e., the program code template for generating the control) to obtain the control generation content. For example, a specific location in the code can be used to generate and display operation information such as "agree" when the control is clicked. Similarly, "approval information" can be added to a specific location in the operation link template (i.e., the message callback link template) to obtain the operation link. For example, a specific location can be triggered when the control is triggered to return operation information such as "agree". The control generation content and the operation link are then associated to obtain the sub-control content.
[0101] In one embodiment, the control content includes control generation content and operation links corresponding to at least one control type; sending the control content to the client corresponding to each approval object in the messaging system to generate an approval control carrying an operation link in each client includes:
[0102] The control content is sent to the client corresponding to each approval object in the messaging system, so that in each client, content and operation links are generated based on at least one control type, and at least one approval control carrying operation links is generated.
[0103] At least one type of control can be generated simultaneously within the same client, such as both fill-in controls and click controls. Based on the content and operation link corresponding to a control type, a sub-control content is generated. Within the client's message receiving window, an approval control carrying an operation link can be generated based on each sub-control content, allowing users to selectively trigger it. When the approval control is triggered by the approval object, the accompanying operation link is activated, and the approval information in the operation link is returned through the messaging system.
[0104] In one embodiment, the configuration information of the current execution node includes the approval duration; after constructing the approval control in the messaging system based on the configuration information of the current execution node, the method further includes:
[0105] Determine the point in time to build the approval control in the messaging system; determine the target point in time for the approval time interval from the target point; if no approval information is received before the target point, terminate the approval processing of the current execution node.
[0106] The approval duration is a threshold set for the approval process at the current execution node. If the approval object has not been approved after this threshold since the approval control was created in the messaging system (i.e., no approval information was received before the target time), the approval process at the current execution node is terminated. This can improve the efficiency of the approval system (e.g., ...). Figure 1 The system architecture shown corresponds to the system's task processing reliability. After the approval processing of the current execution node ends, the workflow can continue execution by updating the next node corresponding to the node identifier as the current execution node.
[0107] In step S340, based on the pointer information and approval information of the current execution node, node flow analysis is performed on at least one node to update the current execution node.
[0108] In this example implementation, the pointing information is information about a node pointing to other nodes. The pointing information may include at least one pointing, and each pointing can form a node flow direction in the workflow. Approval information is the result information obtained after the approval object approves the currently executing node. Approval information can determine the node flow direction during workflow execution. Node flow analysis involves analyzing the node flow directions in the workflow to determine the pointing indicated by the approval information of the currently executing node. The matched pointing includes information about the next node in the current executing node's flow direction, which can then update the current executing node to obtain the updated current executing node (i.e., the next node in the current executing node's flow direction).
[0109] When determining the target of the approval information of the current execution node, since the approval object can be at least one, the message system returns the approval information for each approval object, which can also be at least one. Joint analysis of at least one approval information yields the node's approval information.
[0110] The configuration information of the currently executing node may include approval method information, which can be used to perform joint analysis on at least one approval message. In one example, if the approval method information includes at least one approval message where one approval message is Z1, then the node's approval information is Z1. For example, if at least one approval message is "agree," then the node's approval information is "agree." In another example, if the approval method information includes at least one approval message where each approval message is Z1, then the node's approval information is Z1. For example, if each approval message is "disagree," then the node's approval information is "disagree."
[0111] In one embodiment, the pointer information of the current execution node includes at least one pointer, each pointer corresponding to a preset node approval information; based on the pointer information and approval information of the current execution node, node flow analysis is performed on at least one node to update the current execution node, including:
[0112] For each pointer, the approval information of the corresponding preset node is matched with the approval information to determine the preset node approval information that the approval information matches; the pointer corresponding to the preset node approval information that the approval information matches is taken as the target pointer; the node indicated by the target pointer is determined from at least one node and taken as the updated current execution node.
[0113] During the matching process, approval information can include at least one item. Joint analysis of at least one approval item yields node approval information. Then, similarity matching is performed between this node approval information and the preset node approval information corresponding to each pointer, determining the preset node approval information that matches the node approval information of the currently executing node. Furthermore, the pointer corresponding to the matched preset node approval information is used as the target pointer to determine the current node flow. Thus, the node indicated by the target pointer can be determined from at least one node as the updated current executing node, and the workflow continues.
[0114] For example, the pointer information of the currently executing node A may include two A-no-M1 and A-yes-M2, indicating that node A points to nodes M1 and M2, respectively. Here, "no" and "yes" are the preset node approval information obtained from the association condition transformation, and A-M1 and A-M2 are the pointers transformed from the association direction. If the node approval information of the currently executing node is "no", then the matched preset node approval information is "no", the target pointer is A-M1, and the updated currently executing node is M1.
[0115] In one embodiment, the configuration information of the current execution node includes content processing information; before performing approval processing on the workflow based on the updated current execution node, the method further includes:
[0116] If the type of the current execution node is a service type, determine the application service and third-party system that match the content processing information; perform data collaborative processing based on the application service and third-party system to obtain the content processing result corresponding to the current execution node; based on the pointing information of the current execution node and the content processing result, perform node flow analysis on at least one node to determine the updated current execution node.
[0117] The service type node corresponds to the service type task (i.e., non-approval task that requires content processing). The content processing information describes the content and processing method that needs to be processed in the current execution node. The content description information can include information about the application service and information about the third-party system. Then, the matching application service and third-party system can be determined based on the information about the application service and the information about the third-party system.
[0118] Data collaborative processing based on application services (app services) and third-party systems allows the application service to obtain the required data from the third-party system for processing, thereby obtaining the content processing result corresponding to the current execution node.
[0119] Based on the pointer information and content processing results of the current execution node, node flow analysis for at least one node can include: the pointer information can include at least one pointer, each pointer corresponding to a preset content processing result. Then, the content processing result of the current execution node can be matched with each preset content processing result to determine the preset content processing result that matches the content processing result of the current execution node. Furthermore, the pointer corresponding to the matched preset content processing result is used as the target pointer to determine the current node flow. The node indicated by the target pointer can then be identified from at least one node as the updated current execution node, and the workflow continues. In this way, the scalability of the approval system is further improved, and the processing capacity of approval tasks is enhanced.
[0120] In one embodiment, the pointer information of the currently executing node includes a specific pointer; based on the pointer information of the currently executing node and the content processing result, node flow analysis is performed on at least one node to determine the updated currently executing node, including:
[0121] Determine whether the content processing result meets the predetermined conditions; when the content processing result meets the predetermined conditions, determine the specific node pointing to the indicated node from at least one node as the updated current execution node.
[0122] The specific pointer can be a unique pointer, and the predefined condition can be that the content processing result is not empty (i.e., the content processing result was successfully obtained). In this case, the node indicated by the specific pointer is directly determined as the current execution node for updating.
[0123] In step S350, the workflow is processed for approval based on the updated current execution node, and the approval result of the task to be approved is generated.
[0124] In this example implementation, at least one node in the workflow includes many nodes. Execution processing based on the updated current execution node can obtain node processing information (which may include approval information or content processing results). The current execution node is then updated cyclically according to the node processing information until the nodes in the workflow are completed, at which point the approval result of the task to be approved can be obtained.
[0125] In one embodiment, the workflow is processed for approval based on the updated current execution node, generating approval results for tasks awaiting approval, including:
[0126] Based on the type of the updated current execution node, the configuration information of the updated current execution node is processed to generate node processing information corresponding to the updated current execution node; based on the node processing information and pointing information corresponding to the updated current execution node, node flow analysis is performed on at least one node to cyclically update and approve the current execution node; when the approval processing of at least one node included in the workflow is completed, the node processing information corresponding to the last updated current execution node is obtained; based on the node processing information corresponding to the last updated current execution node, the approval result of the task to be approved is generated.
[0127] According to the foregoing embodiments, the type of the current execution node may include a service type or an approval type. Similarly, processing the configuration information of the current execution node for each update may include: if the type of the current execution node is an approval type, constructing an approval control in the messaging system based on the configuration information of the current execution node, and receiving the approval information of the current execution node generated by the approval control through the messaging system; if the type of the current execution node is a service type, determining the application service and third-party system that match the content processing information; and performing data collaborative processing based on the application service and third-party system to obtain the content processing result corresponding to the current execution node. Furthermore, the node processing information may include approval information or content processing result.
[0128] Based on the updated node processing information and pointing information corresponding to the current execution node, node flow analysis can be performed on at least one node according to the aforementioned embodiments: when the node processing information includes the updated approval information corresponding to the current execution node, node flow analysis is performed on at least one node based on the updated approval information and pointing information corresponding to the current execution node; when the node processing information includes the updated content processing result corresponding to the current execution node, node flow analysis is performed on at least one node based on the updated content processing result and pointing information corresponding to the current execution node.
[0129] It is understood that, according to the aforementioned embodiments, the current execution node is continuously updated and approved in a loop. When the approval process of at least one node included in the workflow is completed, the node processing information corresponding to the last updated current execution node is obtained.
[0130] Ultimately, the node processing information corresponding to the last updated currently executing node can be directly used as the approval result of the task pending approval, or the node processing information of all currently executing nodes can be used as the approval result of the task pending approval.
[0131] In this way, based on the aforementioned embodiments, this application constructs a workflow for a task to be approved by creating nodes that include pointing information and configuration information. This allows for the characterization of complex approval tasks into corresponding workflows. Then, the workflow is executed. When the current execution node in the workflow is an approval type, a corresponding approval control can be constructed in the message system based on the configuration information. The message system is used to perform flexible approval processing of nodes, and the workflow is processed by updating the current execution node to generate the approval result of the task to be approved. This allows for flexible processing of even very complex approval tasks, improving the ability to handle approval tasks. The approval system can support multiple approval objects to process complex approval tasks through the message system.
[0132] Based on the methods described in the above embodiments, the following examples will provide further detailed explanations.
[0133] Figure 4 A flowchart illustrating an approval task processing method according to an embodiment of this application is provided. The scenario uses WeChat Work as an example within an instant messaging system. The approval task processing flow in this scenario may include steps S410 to S440.
[0134] Step S410, Create Workflow: Create a workflow for tasks pending approval.
[0135] A workflow for creating tasks awaiting approval is established. The workflow includes at least one node, and each node includes pointer information and configuration information. This includes: creating node controls corresponding to each subtask in the task awaiting approval based on the workflow engine; adding task information for the corresponding subtask to each node control and connecting the node controls corresponding to each subtask through connection lines to obtain a node control flow; generating configuration information based on the task information in each node control in the node control flow, and generating pointer information based on the connection lines between each node control; and constructing nodes based on the configuration information and pointer information corresponding to each node control to generate the workflow.
[0136] A workflow engine is a system that provides visual operation controls for workflow creation. The workflow engine can connect with messaging systems and third-party systems through system interfaces, thereby enabling flexible processing of approval tasks and improving the scalability of the approval system.
[0137] Users can create node controls (e.g., ...) for each subtask on the workflow engine page through drag-and-drop operations. Figure 6 The approval nodes 1 and 2 are shown. Clicking on each node can trigger the opening of the task information entry interface (e.g., ...). Figure 7 The image shows a sample input interface. Users can fill in system information (application name), approval content, approval duration, approval title, approval recipient information, and approval method information, etc. Task information can then be added to different information boxes on the input interface. Connecting lines can be added between node controls based on the relationships between tasks, such as dragging and dropping (e.g.,...). Figure 6 The diagram shows a connection line between approval node 1 and approval node 2. Based on the direction of the association in the relationship, corresponding arrow-shaped connection lines can be added. Conditions such as "Yes," "Pass," or "Agree" can be added to the connection lines based on the association conditions. Users can use connection lines to return to the previous node control or to proceed to the next node control, thus realizing the depiction of complex processes such as nested relationships or callback relationships in the approval task flow.
[0138] Clicking controls such as "Generate" or "Submit" triggers the workflow engine to generate configuration information based on the task information in each node control within the node control flow. For example, it converts task information according to a preset workflow standard to generate the corresponding node configuration information. The workflow engine can also generate pointing information based on the connections between each node control. For instance, it can generate pointing information based on the identifiers of two node controls connected by an arrow and the direction of the arrow (e.g., A-M1). It can also generate preset node approval information (e.g., "no" and "yes") or preset content processing results based on conditional information added to the connection lines. Furthermore, it can obtain pointing information by associating the pointing information of the same node control with preset node approval information or preset content processing results.
[0139] Finally, the associated pointer information and configuration information of each node control are saved in a predetermined location (e.g., the background of the workflow engine) to form an executable node of the system. All nodes are associated and saved to form an executable workflow of the system. The following shows some configuration information (e.g., approval object, approval content, and approval method) of a node Approval1 in workflow1.
[0140]
[0141] Based on the workflow engine, users can easily design complex approval workflows with multi-level nested relationships by dragging and dropping operations, according to the actual business approval process. This satisfies users' various complex business approval processes and simplifies the operation process and steps.
[0142] Step S420, initiate task: determine the current execution node from at least one node.
[0143] After workflow creation is complete, the approval system can automatically or periodically start workflow execution, or it can be manually triggered by the user via a button, or it can be started by providing a trigger interface (such as a WebHook) for the target object to trigger the workflow execution. After the workflow execution is started, the current execution node can be determined from at least one node.
[0144] Step S430, Execute task: Perform execution processing on the currently pending node.
[0145] See Figure 5 The execution process for the currently pending node can include:
[0146] Step S431: Determine the type of the current execution node, that is, determine whether the type of the current execution node is an approval type.
[0147] Step S432: If the current execution node is of type approval, an approval control is built in the WeChat Work system based on the configuration information of the current execution node, so as to receive the approval information of the current execution node generated by the approval control through the WeChat Work system. Specifically:
[0148] The configuration information of the current execution node can include system information (such as the application name being WeChat Work). System matching can be performed based on the system information to determine that the message system matched by the current execution node is the WeChat Work system.
[0149] The configuration information of the current execution node can include approval object information. Based on this configuration information, an approval control is constructed in the WeChat Work system, including: constructing the control content corresponding to the current execution node; determining at least one approval object based on the approval object information; and sending the control content to the WeChat Work client corresponding to each approval object in the WeChat Work system, so that an approval control is generated in each WeChat Work client based on the control content. The configuration information of the current execution node can include approval content, which can be associated with and sent to the WeChat Work client corresponding to the approval object in the WeChat Work system. The approval content and approval control are then displayed together in the window of the WeChat Work client, allowing the approval object to view the approval content and perform approval operations based on the approval control. Figure 8 The terminal interface shown displays the approval content and approval controls (including the "agree" and "disagree" click controls) within the window.
[0150] The configuration information of the current execution node may include approval operation information, which includes at least one sub-operation information. Constructing the control content corresponding to the current execution node may include: performing control type matching analysis on the sub-operation information in the approval operation information to determine the control type matched by each sub-operation information; obtaining the control generation content template and operation link template corresponding to each control type; and generating control content based on the obtained control generation content template and operation link template corresponding to each control type.
[0151] The control content may include control generation content and operation links corresponding to at least one control type; the control content is sent to the WeChat Work client corresponding to each approval object in the WeChat Work system, so as to generate an approval control with operation links in each WeChat Work client, including:
[0152] The control content is sent to the corresponding WeChat Work client of each approval object in the WeChat Work system, so that the content and operation link are generated in each WeChat Work client based on the control corresponding to at least one control type, and at least one approval control carrying the operation link is generated.
[0153] The operation link is, for example, “#wxwork approval#approval node ID#yes”, where “yes” is the operation information and the approval node ID is the node identifier.
[0154] Step S433: The configuration information of the current execution node includes the approval duration; determine the time point at which the approval control is built in the message system; determine the target time point with an approval duration interval from the target time point; if no approval information is received before the target time point, it is determined that the approval has timed out and the approval processing of the current execution node ends.
[0155] Step 434: Based on the pointer information and approval information of the current execution node, perform node flow analysis on at least one node to update the current execution node.
[0156] The pointer information of the current execution node includes at least one pointer, each pointer corresponding to a preset node approval information; based on the pointer information and approval information of the current execution node, node flow analysis is performed on at least one node to update the current execution node, including: matching the preset node approval information corresponding to each pointer with the approval information to determine the preset node approval information that the approval information matches; taking the pointer corresponding to the preset node approval information that the approval information matches as the target pointer; and determining the node indicated by the target pointer from at least one node as the updated current execution node.
[0157] During the matching process, approval information may include at least one item. Joint analysis of at least one approval item yields node approval information. Then, similarity matching is performed between the node approval information and the preset node approval information corresponding to each pointer to determine the preset node approval information that matches the node approval information of the currently executing node. Furthermore, the pointer corresponding to the matched preset node approval information is used as the target pointer.
[0158] For example, if the approval information of the currently executing node is "agree", then the matching preset node approval information will be "agree"; if the approval information of the currently executing node is "disagree", then the matching preset node approval information will be "disagree".
[0159] Step S435: If the type of the current execution node is a service type, determine the application service and third-party system that match the content processing information; perform data collaborative processing based on the application service and third-party system to obtain the content processing result corresponding to the current execution node; based on the pointing information of the current execution node and the content processing result, perform node flow analysis on at least one node to determine the updated current execution node.
[0160] When creating a workflow, the workflow engine can assign a unique node identifier (ID, e.g., Approval1) to each node. Simultaneously, the workflow engine can record the association (i.e., pointing information) between each workflow's workflow identifier (ID, e.g., Workflow1) and the identifiers of each node within the workflow. This allows the workflow engine to locate the specific workflow through the node identifier, thereby updating the status information of each approval node (e.g., recording the approval information or content processing results of each node).
[0161] Step S440, Execute repeatedly: Perform approval processing on the workflow based on the updated current execution node, and generate approval results for tasks pending approval.
[0162] The workflow is processed for approval based on the updated current execution node, generating approval results for tasks awaiting approval. This includes: processing the configuration information of the updated current execution node according to its type to generate node processing information corresponding to the updated current execution node; performing node flow analysis on at least one node based on the node processing information and pointing information of the updated current execution node to cyclically update and process the current execution node; obtaining the node processing information corresponding to the last updated current execution node when the approval processing of at least one node in the workflow is completed; and generating approval results for tasks awaiting approval based on the node processing information corresponding to the last updated current execution node.
[0163] In this way, for tasks awaiting approval, a workflow consisting of nodes including pointer and configuration information can be created. Complex approval tasks can then be characterized as corresponding workflows. The workflow is then executed. When the current execution node in the workflow is an approval type, a corresponding approval control can be built in the messaging system based on the configuration information. Flexible approval processing of nodes can be performed in conjunction with the messaging system. When the current execution node is an approval type, collaborative processing can be performed with a third-party system. By updating the current execution node, the workflow is processed for approval, generating the approval result for the task awaiting approval. This allows for flexible processing of even very complex approval tasks, improving the system's ability to handle approval tasks. The approval system can support multiple approval objects processing complex approval tasks through the messaging system.
[0164] Furthermore, the approval processing methods based on the workflow engine and WeChat Work system solve the problems of traditional approval methods not supporting multi-level nesting and complex approval processes such as rejection and rerun. It also achieves integration with other third-party systems, improving the scalability of the approval system. Simultaneously, combined with WeChat Work tools, it meets users' mobile office approval needs, improving the convenience of approvals.
[0165] To facilitate better implementation of the approval task processing method provided in this application embodiment, this application embodiment also provides an approval task processing device based on the above-described approval task processing method. The meanings of the terms used are the same as in the above-described approval task processing method, and specific implementation details can be found in the descriptions in the method embodiments. Figure 9 A block diagram of an approval task processing apparatus according to an embodiment of this application is shown.
[0166] like Figure 9 As shown, the approval task processing device 500 may include a creation module 510, a determination module 520, a construction module 530, a first analysis module 540, and an update processing module 550. The approval task processing device 500 can be applied to a terminal.
[0167] The creation module 510 can be used to create a workflow for tasks to be approved, the workflow including at least one node, each node including pointer information and configuration information; the determination module 520 can be used to determine the current execution node from the at least one node; the construction module 530 can be used to construct an approval control in the message system based on the configuration information of the current execution node if the type of the current execution node is approval type, so as to receive the approval information of the current execution node generated by the approval control through the message system; the first analysis module 540 can be used to perform node flow analysis on the at least one node according to the pointer information of the current execution node and the approval information, so as to update the current execution node; the update processing module 550 can be used to perform approval processing on the workflow based on the updated current execution node, and generate the approval result of the task to be approved.
[0168] In some embodiments of this application, the configuration information of the current execution node includes approval object information; the construction module includes: a control content construction unit, used to construct control content corresponding to the current execution node; an approval object determination unit, used to determine at least one approval object based on the approval object information; and a control construction unit, used to send the control content to the client corresponding to each approval object in the message system, so as to generate an approval control in each client based on the control content.
[0169] In some embodiments of this application, the configuration information of the current execution node includes approval operation information, and the approval operation information includes at least one sub-operation information; the control content construction unit is configured to include: a control type determination subunit, configured to perform control type matching analysis on the sub-operation information in the approval operation information to determine the control type matched by each sub-operation information; a content information acquisition subunit, configured to acquire the control generation content template and operation link template corresponding to each control type; and a control content generation subunit, configured to generate the control content based on the acquired control generation content template and operation link template corresponding to each control type.
[0170] In some embodiments of this application, the control content includes control generation content and operation links corresponding to at least one control type; the control construction unit is configured to: send the control content to the client corresponding to each approval object in the message system, so as to generate at least one approval control carrying an operation link in each client based on the control generation content and operation links corresponding to the at least one control type.
[0171] In some embodiments of this application, the configuration information of the current execution node includes system information; the device further includes: a system matching module, used to perform system matching processing based on the system information to determine the message system matched by the current execution node.
[0172] In some embodiments of this application, the pointing information of the current execution node includes at least one pointing, and each pointing corresponds to a preset node approval information; the analysis module includes: an information matching unit, used to match the preset node approval information corresponding to each pointing with the approval information to determine the preset node approval information matched by the approval information; a pointing determination unit, used to take the pointing corresponding to the preset node approval information matched by the approval information as a target pointing; and a node update unit, used to determine the node indicated by the target pointing from the at least one node as the updated current execution node.
[0173] In some embodiments of this application, the configuration information of the current execution node includes content processing information; the device further includes: a service determination module, used to determine the application service and third-party system matching the content processing information if the type of the current execution node is a service type; a collaborative processing module, used to perform data collaborative processing based on the application service and the third-party system to obtain the content processing result corresponding to the current execution node; and a second analysis module, used to perform node flow analysis on the at least one node based on the pointing information of the current execution node and the content processing result to determine the updated current execution node.
[0174] In some embodiments of this application, the second analysis module includes: a condition matching unit, configured to determine whether the content processing result meets predetermined conditions; and a specific update unit, configured to, when the content processing result meets predetermined conditions, determine the node indicated by the specific pointer from the at least one node as the current execution node for updating.
[0175] In some embodiments of this application, the update processing module includes: an update processing unit, configured to process the configuration information of the updated current execution node according to the type of the updated current execution node, to generate node processing information corresponding to the updated current execution node; an update analysis unit, configured to perform node flow analysis on the at least one node according to the node processing information and pointing information corresponding to the updated current execution node, to cyclically update and approve the current execution node; an end processing unit, configured to obtain the node processing information corresponding to the last updated current execution node when the approval processing of at least one node included in the workflow is completed; and a result generation unit, configured to generate the approval result of the task to be approved based on the node processing information corresponding to the last updated current execution node.
[0176] In some embodiments of this application, the node processing information includes at least one of updated approval information and content processing results corresponding to the current execution node; the update analysis unit includes: a first analysis subunit, used to perform node flow analysis on the at least one node based on the updated approval information and pointing information when the node processing information includes updated approval information corresponding to the current execution node; and a second analysis subunit, used to perform node flow analysis on the at least one node based on the updated content processing results and pointing information when the node processing information includes updated content processing results corresponding to the current execution node.
[0177] In some embodiments of this application, the creation module includes: a node control creation unit, used to create node controls corresponding to each subtask in the task to be approved based on a workflow engine; a control flow construction unit, used to add task information corresponding to the subtask to each node control, and connect the node controls corresponding to each subtask through connecting lines to obtain a node control flow; an information conversion unit, used to generate configuration information based on the task information in each node control in the node control flow, and generate pointing information based on the connecting lines between each node control; and a workflow construction unit, used to construct nodes based on the configuration information and pointing information corresponding to each node control to generate the workflow.
[0178] In some embodiments of this application, the configuration information of the current execution node includes an approval duration threshold; the device further includes: a time point monitoring module, used to determine the time point at which the approval control is constructed in the message system; a target time point determination module, used to determine a target time point at which the approval duration is spaced apart from the time point; and an approval interruption module, used to terminate the approval processing of the current execution node if the approval information is not received before the target time point.
[0179] In this way, based on the approval task processing device 500, a workflow consisting of nodes including pointing information and configuration information can be created for the task to be approved. Complex approval tasks can be characterized as corresponding workflows. Then, the workflow is executed. When the current execution node in the workflow is an approval type, the corresponding approval control can be built in the message system based on the configuration information. The node approval is flexibly processed in conjunction with the message system. The approval process is performed on the workflow by updating the current execution node, and the approval result of the task to be approved is generated. Thus, even very complex approval tasks can be handled flexibly, improving the processing capability of approval tasks. The approval system can support multiple approval objects to process complex approval tasks through the message system.
[0180] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0181] Furthermore, embodiments of this application also provide an electronic device, which can be a terminal or a server, such as... Figure 10 As shown, it illustrates a structural schematic diagram of the electronic device involved in the embodiments of this application, specifically:
[0182] The electronic device may include components such as a processor 601 with one or more processing cores, a memory 602 with one or more computer-readable storage media, a power supply 603, and an input unit 604. Those skilled in the art will understand that... Figure 10 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:
[0183] The processor 601 is the control center of the electronic device. It connects to various parts of the computer device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 602, and by calling data stored in the memory 602, it performs various functions of the computer device and processes data, thereby performing overall detection of the electronic device. Optionally, the processor 601 may include one or more processing cores; preferably, the processor 601 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user page, and application programs, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 601.
[0184] The memory 602 can be used to store software programs and modules. The processor 601 executes various functional applications and data processing by running the software programs and modules stored in the memory 602. The memory 602 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 602 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 602 may also include a memory controller to provide the processor 601 with access to the memory 602.
[0185] The electronic device also includes a power supply 603 that supplies power to the various components. Preferably, the power supply 603 can be logically connected to the processor 601 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 603 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0186] The electronic device may also include an input unit 604, which can be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
[0187] Although not shown, the electronic device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 601 in the electronic device loads the executable files corresponding to the processes of one or more computer programs into the memory 602 according to the following instructions, and the processor 601 runs the computer programs stored in the memory 602 to realize various functions, such as the processor 601 executing:
[0188] Create a workflow for tasks awaiting approval. This workflow includes at least one node, each containing pointer information and configuration information. Determine the current execution node from the at least one node. If the current execution node is of type approval, construct an approval control in the messaging system based on the configuration information of the current execution node to receive the approval information generated by the approval control for the current execution node through the messaging system. Analyze the node flow of the at least one node based on its pointer information and approval information to update the current execution node. Perform approval processing on the workflow based on the updated current execution node to generate the approval result for the tasks awaiting approval.
[0189] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by a computer program, or by a computer program controlling related hardware. The computer program can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0190] Therefore, embodiments of this application also provide a storage medium storing a computer program that can be loaded by a processor to execute the steps in any of the methods provided in embodiments of this application.
[0191] The storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0192] Since the computer program stored in the storage medium can execute the steps of any of the methods provided in the embodiments of this application, the beneficial effects that the methods provided in the embodiments of this application can achieve can be realized. For details, please refer to the previous embodiments, which will not be repeated here.
[0193] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various optional implementations of the above embodiments of this application.
[0194] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.
[0195] It should be understood that this application is not limited to the embodiments described above and shown in the accompanying drawings, but various modifications and changes can be made without departing from its scope.
Claims
1. An approval task processing method, characterized by, include: The workflow engine creates a workflow for tasks to be approved, the workflow including at least one node, each node including pointer information and configuration information; wherein, the workflow engine is connected to the messaging system through a system interface; Determine the currently executing node from the at least one node; If the type of the current execution node is an approval type, an approval control is constructed in the message system based on the configuration information of the current execution node through the system interface, so as to receive the approval information of the current execution node generated by the approval control through the message system; Based on the pointer information of the current execution node and the approval information, perform node flow analysis on the at least one node to update the current execution node; The workflow is processed for approval based on the updated current execution node, and the approval result of the task to be approved is generated.
2. The method of claim 1, wherein, The configuration information of the current execution node includes approval object information; the construction of the approval control in the messaging system based on the configuration information of the current execution node includes: Construct the control content corresponding to the currently executing node; At least one approval object is identified based on the aforementioned approval object information; The control content is sent to the client corresponding to each approval object in the messaging system, so that an approval control is generated in each client based on the control content.
3. The method of claim 2, wherein, The configuration information of the currently executing node includes approval operation information, and the approval operation information includes at least one sub-operation information; The construction of the control content corresponding to the currently executing node includes: Perform control type matching analysis on the sub-operation information in the approval operation information to determine the control type that matches each sub-operation information; Obtain the control generation content template and operation link template corresponding to each of the aforementioned control types; Based on the obtained control content template and operation link template corresponding to each control type, the control content is generated.
4. The method according to claim 2, characterized in that, The control content includes control generation content and operation links corresponding to at least one control type; The step of sending the control content to the client corresponding to each approval object in the messaging system, so as to generate an approval control carrying an operation link in each client, includes: The control content is sent to the client corresponding to each approval object in the messaging system, so that in each client, content and sub-operation links are generated based on the control corresponding to the at least one control type, and at least one approval control carrying operation links is generated.
5. The method according to claim 1, characterized in that, The configuration information of the currently executing node includes system information; Before constructing the approval control in the messaging system based on the configuration information of the current execution node, the method further includes: Based on the system information, system matching processing is performed to determine the message system matched by the currently executing node.
6. The method according to claim 1, characterized in that, The pointer information of the current execution node includes at least one pointer, and each pointer corresponds to a preset node approval information; The step of performing node flow analysis on the at least one node based on the pointer information of the current execution node and the approval information to update the current execution node includes: The approval information of each corresponding preset node is matched with the approval information to determine the preset node approval information that the approval information matches. The pointer corresponding to the preset node approval information that matches the approval information is used as the target pointer; The target node is determined from the at least one node and designated as the current execution node for the update.
7. The method according to claim 1, characterized in that, The configuration information of the currently executing node includes content processing information; Before performing approval processing on the workflow based on the updated current execution node, the method further includes: If the type of the current execution node is a service type, determine the application service and third-party system that match the content processing information; Based on the application service and third-party system, data collaborative processing is performed to obtain the content processing result corresponding to the current execution node; Based on the pointer information of the current execution node and the content processing result, node flow analysis is performed on the at least one node to determine the updated current execution node.
8. The method according to claim 7, characterized in that, The pointer information of the current execution node includes a specific pointer; the step of performing node flow analysis on the at least one node based on the pointer information of the current execution node and the content processing result to determine the updated current execution node includes: Determine whether the content processing result meets the predetermined conditions; When the content processing result meets the predetermined conditions, the specific node indicated by the pointer is determined from the at least one node and used as the updated current execution node.
9. The method according to claim 1, characterized in that, The approval process for the workflow based on the updated current execution node, generating the approval result for the tasks pending approval, includes: Based on the type of the updated current execution node, the configuration information of the updated current execution node is processed to generate the node processing information corresponding to the updated current execution node; Based on the updated node processing information and pointing information corresponding to the current execution node, node flow analysis is performed on the at least one node to cyclically update and approve the current execution node. When at least one node in the workflow completes its approval process, the node processing information corresponding to the currently executing node is obtained; Based on the node processing information corresponding to the last updated current execution node, the approval result of the task to be approved is generated.
10. The method according to claim 9, characterized in that, The node processing information includes at least one of the updated approval information and content processing result corresponding to the current execution node; the step of performing node flow analysis on the at least one node based on the updated node processing information and pointing information corresponding to the current execution node includes: When the node processing information includes updated approval information corresponding to the current execution node, node flow analysis is performed on the at least one node based on the updated approval information corresponding to the current execution node and the pointing information. When the node processing information includes the updated content processing result corresponding to the current execution node, node flow analysis is performed on the at least one node based on the updated content processing result corresponding to the current execution node and the pointing information.
11. The method according to claim 1, characterized in that, The workflow for creating tasks awaiting approval includes at least one node, and each node includes pointer information and configuration information, including: Create node controls corresponding to each subtask in the pending approval task based on the workflow engine; Add task information for the corresponding subtask to each node control, and connect the node controls corresponding to each subtask through connecting lines to obtain a node control flow; Configuration information is generated based on the task information in each node control in the node control flow, and pointing information is generated based on the connection lines between each node control; Nodes are constructed based on the configuration information and pointing information corresponding to each node control to generate the workflow.
12. The method according to claim 1, characterized in that, The configuration information of the currently executing node includes the approval time. After constructing the approval control in the messaging system based on the configuration information of the current execution node, the method further includes: Determine the point in time when the approval control is constructed in the messaging system; Determine a target time point that is the interval between the stated time point and the approval time. If the approval information is not received before the target time point, the approval process of the current execution node ends.
13. An approval task processing device, characterized in that, include: A creation module is used by the workflow engine to create workflows for tasks awaiting approval. The workflow includes at least one node, and each node includes pointer information and configuration information. The workflow engine is connected to the messaging system through a system interface. The determining module is used to determine the currently executing node from the at least one node; The construction module is used to construct an approval control in the message system based on the configuration information of the current execution node through the system interface when the type of the current execution node is approval type, so as to receive the approval information of the current execution node generated by the approval control through the message system; The first analysis module is used to perform node flow analysis on the at least one node based on the pointing information of the current execution node and the approval information, so as to update the current execution node; The update processing module is used to perform approval processing on the workflow based on the updated current execution node, and generate the approval result of the task to be approved.
14. The apparatus according to claim 13, characterized in that, The configuration information of the current execution node includes approval object information; the construction module includes: a control content construction unit, used to construct control content corresponding to the current execution node; an approval object determination unit, used to determine at least one approval object based on the approval object information; and a control construction unit, used to send the control content to the client corresponding to each approval object in the message system, so as to generate an approval control based on the control content in each client.
15. The apparatus according to claim 14, characterized in that, The configuration information of the currently executing node includes approval operation information, and the approval operation information includes at least one sub-operation information; The control content construction unit is configured to include: a control type determination subunit, configured to perform control type matching analysis on the sub-operation information in the approval operation information to determine the control type matched by each sub-operation information; and a content information acquisition subunit, configured to acquire the control generation content template and operation link template corresponding to each control type. The control content generation subunit is used to generate the control content based on the control content template and operation link template corresponding to each control type.
16. The apparatus according to claim 14, characterized in that, The control content includes control generation content and operation links corresponding to at least one control type; the control construction unit is used to: send the control content to the client corresponding to each approval object in the message system, so as to generate at least one approval control carrying an operation link in each client based on the control generation content and operation links corresponding to the at least one control type.
17. The apparatus according to claim 13, characterized in that, The configuration information of the current execution node includes system information; the device further includes a system matching module, used to perform system matching processing based on the system information to determine the message system matched by the current execution node.
18. The apparatus according to claim 13, characterized in that, The pointer information of the current execution node includes at least one pointer, and each pointer corresponds to a preset node approval information; The analysis module includes: an information matching unit, used to match the approval information of each preset node corresponding to the pointer with the approval information to determine the preset node approval information that the approval information matches; a pointer determination unit, used to take the pointer corresponding to the preset node approval information that the approval information matches as the target pointer; and a node update unit, used to determine the node indicated by the target pointer from the at least one node as the current execution node for the update.
19. The apparatus according to claim 13, characterized in that, The configuration information of the current execution node includes content processing information; the device further includes: a service determination module, used to determine the application service and third-party system matching the content processing information if the type of the current execution node is a service type; a collaborative processing module, used to perform data collaborative processing based on the application service and the third-party system to obtain the content processing result corresponding to the current execution node; and a second analysis module, used to perform node flow analysis on the at least one node based on the pointing information of the current execution node and the content processing result to determine the updated current execution node.
20. The apparatus according to claim 19, characterized in that, The second analysis module includes: a condition matching unit, used to determine whether the content processing result meets predetermined conditions; and a specific update unit, used to determine the node indicated by the specific pointer from the at least one node as the current execution node for updating when the content processing result meets the predetermined conditions.
21. The apparatus according to claim 13, characterized in that, The update processing module includes: an update processing unit, used to process the configuration information of the updated current execution node according to the type of the updated current execution node, so as to generate node processing information corresponding to the updated current execution node; an update analysis unit, used to perform node flow analysis on the at least one node according to the node processing information and pointing information corresponding to the updated current execution node, so as to cyclically update and approve the current execution node; an end processing unit, used to obtain the node processing information corresponding to the last updated current execution node when the approval processing of at least one node included in the workflow is completed; and a result generation unit, used to generate the approval result of the task to be approved based on the node processing information corresponding to the last updated current execution node.
22. The apparatus according to claim 21, characterized in that, The node processing information includes at least one of the updated approval information and content processing result corresponding to the current execution node; the update analysis unit includes: a first analysis subunit, used to perform node flow analysis on the at least one node based on the updated approval information and the pointing information when the node processing information includes the updated approval information corresponding to the current execution node; and a second analysis subunit, used to perform node flow analysis on the at least one node based on the updated content processing result and the pointing information when the node processing information includes the updated content processing result corresponding to the current execution node.
23. The apparatus according to claim 13, characterized in that, The creation module includes: a node control creation unit, used to create node controls corresponding to each subtask in the task to be approved based on the workflow engine; a control flow construction unit, used to add task information corresponding to the subtask to each node control, and connect the node controls corresponding to each subtask through connecting lines to obtain a node control flow; an information conversion unit, used to generate configuration information based on the task information in each node control in the node control flow, and generate pointing information based on the connecting lines between each node control; and a workflow construction unit, used to construct nodes based on the configuration information and pointing information corresponding to each node control to generate the workflow.
24. The apparatus according to claim 13, characterized in that, The configuration information of the current execution node includes an approval duration threshold; the device further includes: a time point monitoring module, used to determine the time point at which the approval control is constructed in the message system; a target time point determination module, used to determine a target time point at which the approval duration is spaced apart from the time point; and an approval interruption module, used to terminate the approval processing of the current execution node if the approval information is not received before the target time point.
25. A storage medium, characterized in that, It stores a computer program that, when executed by the computer's processor, causes the computer to perform the method described in any one of claims 1 to 12.
26. An electronic device, characterized in that, include: Memory, which stores computer programs; A processor reads a computer program stored in memory to execute the method according to any one of claims 1 to 12.
27. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium; the processor of the computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the method described in any one of claims 1 to 12.