Business approval method, device and equipment and storage medium

CN122529637APending Publication Date: 2026-08-07SCI CITY (GUANGZHOU) INFORMATION TECH GRP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SCI CITY (GUANGZHOU) INFORMATION TECH GRP CO LTD
Filing Date
2026-03-23
Publication Date
2026-08-07

AI Technical Summary

Technical Problem

[0003]本申请的主要目的在于提供一种业务审批方法、装置、设备及存储介质,旨在解决现有的审批流程方式缺乏字段级的动态权限控制,存在数据泄露风险的技术问题

Benefits of technology

[0015] One or more technical solutions proposed in this application, in response to form editing operations applied to a form editing interface, generate a business form containing multiple business data fields. The business form includes a business type identifier and an approval initiator user identifier. Based on the business type identifier and the approval initiator user identifier, a target approval process template is obtained. The target approval process template is parsed to determine the node attributes of each approval node and the set of sensitive data fields to be hidden. The node attributes include approver information, node execution conditions, and node branch execution conditions. Based on the node execution conditions and node branch execution conditions, the business form is conditionally judged, and approval nodes that meet the node execution conditions are determined as valid approval nodes, while those that meet the node branch execution conditions are... The lower-level approval nodes are identified as valid branch nodes, and a directed acyclic graph (DAG) approval path is constructed, consisting of valid approval nodes and valid branch nodes. Based on the DAG approval path, pending approval nodes are determined, and the corresponding business data fields in the business form are hidden according to the sensitive data field set corresponding to the pending approval nodes, generating a data-hidden business form. The data-hidden business form is then used to generate a form approval interface according to the form display type in the template attributes of the target approval process template and fed back to the approver of the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the DAG approval path have completed their approvals. Through this method, the most suitable approval process template is automatically matched based on the business type and initiator information of the business form, and the approval path is dynamically activated according to the preset node execution conditions in the template. Simultaneously, at each node, the business form undergoes field-level desensitization processing according to the node's sensitive data hiding rules, effectively reducing the risk of sensitive data leakage and improving the automation level and efficiency of the approval process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122529637A_ABST
    Figure CN122529637A_ABST
Patent Text Reader

Abstract

The application discloses a business approval method and device, equipment and storage medium, including: in response to form editing operation, generate a business form containing business type identification and approval initiator user identification; based on the business type identification and initiator identification, obtain the target approval process template, analyze and determine the node attribute and sensitive data field set of each approval node; based on the node execution condition and branch condition, judge the business form, and construct a directed acyclic graph approval path; according to the path, determine the to-be-processed approval node, and perform data hiding processing on the business form according to the corresponding sensitive data field set; the business form after data hiding is generated into a form approval interface according to the template attribute and fed back to the approver, and the result is transferred to the next node after approval, until all nodes are approved. The application effectively reduces the risk of sensitive data leakage through dynamic matching of the approval process and field-level data hiding, improves the approval efficiency and security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of business data processing technology, and in particular to business approval methods, apparatus, equipment and storage media. Background Technology

[0002] With the development of internet technology and the improvement of enterprise informatization levels, more and more enterprises are adopting various information technology software to achieve internal office collaboration and improve work efficiency. Many enterprises use BPM standard OA workflow engines as internal business approval tools, or adopt a "one-stop" data flow-driven approval process. These common approval workflow engine systems often focus only on the flow of approval processes and the delivery of results. However, in the actual approval process, forms contain sensitive data that is only displayed to specific approvers, making it unsuitable to display this data to all approvers at all approval stages. Furthermore, existing approval workflow tools lack field-level access control and cannot adjust the approval content of business forms according to different approvers, posing a risk of sensitive data leakage. Summary of the Invention

[0003] The main purpose of this application is to provide a business approval method, apparatus, device, and storage medium, which aims to solve the technical problem that existing approval processes lack field-level dynamic access control and pose a risk of data leakage.

[0004] To achieve the above objectives, this application proposes a business approval method, which includes: In response to form editing operations applied to the form editing interface, a business form containing multiple business data fields is generated, including a business type identifier and an approval initiator user identifier; Based on the business type identifier and the user identifier of the approval initiator, the target approval process template is obtained. The target approval process template is parsed to determine the node attributes of each approval node and the set of sensitive data fields to be hidden. The node attributes include approver information, node execution conditions and node branch execution conditions. Based on the node execution conditions and node branch execution conditions, the business form is judged, and the approval nodes that meet the node execution conditions are determined as valid approval nodes, and the lower-level approval nodes that meet the node branch execution conditions are determined as valid branch nodes. A directed acyclic graph approval path composed of valid approval nodes and valid branch nodes is constructed. The approval nodes to be processed are determined according to the approval path of the directed acyclic graph, and the corresponding business data fields in the business form are hidden according to the set of sensitive data fields corresponding to the approval nodes to be processed, so as to generate the business form after data hiding. The business form with the data hidden is used to generate a form approval interface according to the form display type in the template attribute of the target approval process template and is fed back to the approver of the effective approval node. After the approver completes the approval operation, the approval result is transferred to the next effective approval node until all nodes in the directed acyclic graph approval path have completed the approval.

[0005] In one embodiment, the step of obtaining the target approval process template based on the business type identifier and the approval initiator user identifier, and parsing the target approval process template to determine each approval node, the node attributes of each approval node, and the set of sensitive data fields to be hidden for each approval node includes: Based on the business type identifier and the user identifier of the approval initiator, the approval process template library is queried to obtain the target approval process template; The target approval process template is parsed to obtain template attributes, wherein the template attributes include at least one of the following: first sensitive data, form display type, first visible control identifier, first editable business data, and form matching rules; Detect whether the template attribute contains the form matching rule; If the form matching rule is included, then extract the set of EL expressions from the form matching rule; Parse the set of EL expressions, identify the business form field names, comparison operators and threshold values ​​referenced in each EL expression, and generate a rule execution tree structure; According to the rules, the nodes of the tree structure are executed in sequence, and the real-time field values ​​corresponding to each EL expression are extracted from the business form in turn. The real-time field values ​​are compared with the corresponding threshold values ​​to generate the Boolean operation results of each EL expression. According to the rules, the logical combination relationship of the tree structure is executed, and logical AND and logical OR operations are performed on the results of each Boolean operation to obtain the matching result of the form matching rule; When the matching result is true, the approval process template is marked as effective, and the node attributes of each approval node are read from the effective approval process template. The node attributes include at least one of the following: second sensitive data, approval result visibility, second visible control identifier, second editable business data, and approval position information. The set of sensitive data fields that need to be hidden for each approval node is determined based on the first sensitive data and / or the second sensitive data.

[0006] In one embodiment, the step of querying the approval process template library based on the business type identifier and the approval initiator user identifier to obtain the target approval process template may include: Extract key field data from the business form, including application amount field, department field, qualification level field, and business type identifier field; A business form feature vector is generated based on the key field data. The business form feature vector is then matched with a preset business type database to determine the business category and business subcategory to which the business form belongs. Based on the business category and business sub-category, retrieve the approval process template library to obtain a set of candidate approval process templates associated with the business category and business sub-category; The template usage frequency and historical usage records of each template in the candidate approval process template set are analyzed, and combined with the user identifier of the approval initiator, the usage preference weight of the approval initiator for each candidate approval process template within a preset time period is determined. The candidate approval process template set is sorted according to the usage preference weight, and the candidate approval process template at the preset position in the sorted candidate approval process template set is used as the default recommended approval process template, and the default recommended approval process template is temporarily bound to the business form; The form editing interface displays the template summary information of the default recommended approval process template, responds to the approval initiator's confirmation or switching operation of the default recommended approval process template, and determines the target approval process template.

[0007] In one embodiment, the step of querying the approval process template library based on the business type identifier and the approval initiator user identifier to obtain the target approval process template may further include: Based on the business type identifier and the approval initiator user identifier, query the approval initiator's historical approval record database to obtain the historical approval process template identifier most recently used by the approval initiator under the same business type; The historical approval process template is read based on the historical approval process template identifier, and the current status of the historical approval process template is detected. When the current state of the historical approval process template is enabled, the historical approval process template is used as the target approval process template. When the current status of the historical approval process template is disabled or there is no historical approval record, traverse all approval process templates to be matched in the approval process template library and extract the form matching rules contained in the template attributes of each approval process template to be matched. For each of the approval process templates to be matched, the corresponding selected business data field values ​​are extracted from the business form according to the selected business data identifier in the form matching rules; The matching score of each approval process template to be matched is determined based on the selected business data field values ​​and the numerical conditions in the form matching rules. The matching score is calculated by weighted summation based on the number of selected business data fields, the preset weight coefficient of each field, and the weighting coefficient of the matching fields. The matching approval process templates are sorted in descending order based on the matching score, and the template with the highest matching score in the sorted list of matching approval process templates is taken as the target approval process template.

[0008] In one embodiment, the step of performing conditional judgment on the business form based on the node execution conditions and node branch execution conditions, determining the approval nodes that meet the node execution conditions as valid approval nodes, and determining the subordinate approval nodes that meet the node branch execution conditions as valid branch nodes, and constructing a directed acyclic graph approval path composed of valid approval nodes and valid branch nodes, includes: Initialize the directed acyclic graph data structure, create a start node and an end node, add all the approval nodes in the target approval process template as intermediate nodes to the directed acyclic graph, and connect the intermediate nodes according to the preset order in the approval process template to obtain the initial directed acyclic graph structure. Traverse each intermediate node in the initial directed acyclic graph structure, extract the real-time value of the field referenced by the EL expression condition from the business form according to the node execution condition corresponding to each intermediate node, and perform a value operation between the real-time value of the field and the threshold in the EL expression condition to obtain the first Boolean value. The node execution condition includes the EL expression condition based on the field value of the business form. If the first Boolean value is true, then mark the current intermediate node as a valid approval node; Based on the node branch execution conditions corresponding to the valid approval node, it is determined whether the business form meets the node branch execution conditions, which include parallel branch conditions and conditional branch conditions; If the parallel branching condition is met, then all subordinate approval nodes of the valid approval node are marked as valid branch nodes; If the aforementioned branch conditions are met, the corresponding branch path is selected based on the condition judgment result, and the selected lower-level approval node is marked as a valid branch node. Construct a directed acyclic graph approval path based on the valid approval nodes and valid branch nodes.

[0009] In one embodiment, the step of determining the approval node to be processed based on the directed acyclic graph approval path, and performing data hiding processing on the corresponding business data fields in the business form according to the sensitive data field set corresponding to the approval node to be processed, to generate a data-hidden business form, includes: The approval nodes to be processed are determined based on the directed acyclic graph approval path, and the set of sensitive data fields corresponding to the approval nodes to be processed is determined. Create a copy of the business form as the form to be processed, traverse each sensitive data field in the set of sensitive data fields, and locate the control identifier or data area coordinates corresponding to the sensitive data field in the form to be processed; Based on the data type and preset hiding strategy of the sensitive data field, select the corresponding data hiding processing method. The data hiding processing method includes: setting the field value to an empty string, replacing the field value with an asterisk mask, setting the corresponding control to an invisible state, or hiding the entire row or entire area containing the sensitive data field. Based on the data hiding processing method and control identifiers or data area coordinates, the sensitive data fields in the form to be processed are hidden to generate a business form with the data hidden.

[0010] In one embodiment, the business form with the data hidden generates a form approval interface according to the form display type in the template attribute of the target approval process template and feeds it back to the approver of the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the directed acyclic graph approval path have completed the approval, including: Obtain the form display type from the template attributes of the target approval process template. The form display type includes official form and non-official form. Load the corresponding interface rendering template according to the form display type. The field data in the business form after the data is hidden is bound to the corresponding control in the interface rendering template to obtain the interface rendering template after binding. Based on the first visible control identifier and the second visible control identifier, functional button controls that can be operated by the approver are generated in the interface rendering template after binding. The functional button controls include an agree button, a reject button, a transfer button, and a signature button. Based on the visibility settings of the approval results of the effective approval nodes, determine the set of visible approval nodes that can view the approval results, and generate the approval result sharing scope configuration; The bound interface rendering template, function button controls, and approval result sharing scope configuration are combined to generate a form approval interface, which is then pushed to the approver's terminal device at the valid approval node through the front-end rendering engine. In response to the approval operation submitted by the approver on the form approval interface, the corresponding process flow logic is executed according to the approval operation type. The approval result, approval opinion and updated business data fields are encapsulated into an approval result data packet. The approval result data packet is sent to the process engine instance corresponding to the next valid approval node through a message queue mechanism until all nodes in the directed acyclic graph approval path are approved.

[0011] Furthermore, to achieve the above objectives, this application also proposes a business approval device, which includes: The generation module is used to respond to form editing operations performed on the form editing interface and generate a business form containing multiple business data fields, including a business type identifier and an approval initiator user identifier. The parsing module is used to obtain the target approval process template based on the business type identifier and the approval initiator user identifier, parse the target approval process template, determine the node attributes of each approval node and the set of sensitive data fields to be hidden, the node attributes include approver information, node execution conditions and node branch execution conditions; The judgment module is used to perform condition judgment on the business form based on the node execution conditions and node branch execution conditions, determine the approval node that meets the node execution conditions as a valid approval node, determine the lower-level approval node that meets the node branch execution conditions as a valid branch node, and construct a directed acyclic graph approval path composed of valid approval nodes and valid branch nodes. The hiding module is used to determine the approval node to be processed based on the approval path of the directed acyclic graph, and to perform data hiding processing on the corresponding business data fields in the business form based on the set of sensitive data fields corresponding to the approval node to be processed, so as to generate the business form after data hiding. The feedback module is used to generate a form approval interface for the business form after the data is hidden, according to the form display type in the template attribute of the target approval process template, and to feed it back to the approver of the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the directed acyclic graph approval path have completed the approval.

[0012] In addition, to achieve the above objectives, this application also proposes a business approval device, which includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program being configured to implement the steps of the business approval method as described above.

[0013] In addition, to achieve the above objectives, this application also proposes a non-transitory computer-readable storage medium storing a computer program thereon, characterized in that the computer program, when executed by a processor, implements the business approval method as described above.

[0014] In addition, to achieve the above objectives, this application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps of the business approval method described above.

[0015] One or more technical solutions proposed in this application, in response to form editing operations applied to a form editing interface, generate a business form containing multiple business data fields. The business form includes a business type identifier and an approval initiator user identifier. Based on the business type identifier and the approval initiator user identifier, a target approval process template is obtained. The target approval process template is parsed to determine the node attributes of each approval node and the set of sensitive data fields to be hidden. The node attributes include approver information, node execution conditions, and node branch execution conditions. Based on the node execution conditions and node branch execution conditions, the business form is conditionally judged, and approval nodes that meet the node execution conditions are determined as valid approval nodes, while those that meet the node branch execution conditions are... The lower-level approval nodes are identified as valid branch nodes, and a directed acyclic graph (DAG) approval path is constructed, consisting of valid approval nodes and valid branch nodes. Based on the DAG approval path, pending approval nodes are determined, and the corresponding business data fields in the business form are hidden according to the sensitive data field set corresponding to the pending approval nodes, generating a data-hidden business form. The data-hidden business form is then used to generate a form approval interface according to the form display type in the template attributes of the target approval process template and fed back to the approver of the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the DAG approval path have completed their approvals. Through this method, the most suitable approval process template is automatically matched based on the business type and initiator information of the business form, and the approval path is dynamically activated according to the preset node execution conditions in the template. Simultaneously, at each node, the business form undergoes field-level desensitization processing according to the node's sensitive data hiding rules, effectively reducing the risk of sensitive data leakage and improving the automation level and efficiency of the approval process. Attached Figure Description

[0016] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0017] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This is a flowchart illustrating the first embodiment of the business approval method for this application. Figure 2 This is a schematic diagram of the module structure of the business approval device according to an embodiment of this application; Figure 3 This is a schematic diagram of the hardware operating environment of the business approval device in this application embodiment.

[0019] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0020] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.

[0021] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.

[0022] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or an electronic device or business approval device capable of performing the above functions. The following description uses a business approval device as an example to illustrate this embodiment and the subsequent embodiments.

[0023] Based on this, the embodiments of this application provide a business approval method, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the business approval method for this application.

[0024] In this embodiment, the business approval method includes steps S10 to S50: Step S10: In response to the form editing operation applied to the form editing interface, generate a business form containing multiple business data fields, the business form including a business type identifier and an approval initiator user identifier.

[0025] It should be noted that the form editing interface is a graphical interface used to create and edit business forms. Users input or select corresponding data values ​​from dropdown menus through the form editing interface to fill in the data values ​​for each field in the business form, thus completing the form editing and generating the business form. The business form contains multiple business data fields, such as application amount, department, and qualification level, as well as business type identifiers, such as purchase application, expense reimbursement, and contract approval, and user identifiers for the approval initiator, such as user ID and username.

[0026] In the specific implementation, in response to user editing operations in the form editing interface, the system retrieves the field name and value of each field. Based on preset field types and validation rules, it performs format validation and mandatory field checks on the field values, generating validation results. If default value configurations or historical input records associated with the current user or business type exist, the corresponding field values ​​are automatically filled into the unentered fields, forming supplementary form data. In response to user attachment uploads, the system associates the attachment file with the form data and stores it in a temporary storage area, generating an attachment index. In response to user saving a draft, the system persists the form data and attachment index to the database, generating a draft form identifier. In response to user submission, the form data corresponding to the draft form identifier is marked as the official business form, and a unique form number and version number are generated. Finally, the official business form data is encapsulated into a standard data structure, including a field list, form number, creator identifier, creation timestamp, etc.

[0027] Step S20: Obtain the target approval process template based on the business type identifier and the approval initiator user identifier, parse the target approval process template to determine the node attributes of each approval node and the set of sensitive data fields to be hidden. The node attributes include approver information, node execution conditions and node branch execution conditions.

[0028] It should be noted that the target approval process template is a pre-configured set of rules used to guide the execution of approval processes for specific business types. It defines the overall structure of the approval process, the attributes of each approval node, and the process flow logic. Node attributes are configuration parameters for a single approval node, defining the specific behavior, access control, and execution logic of that node. In this embodiment, node attributes include approver information, node execution conditions, and node branch execution conditions. Approver information specifies the specific approver or approval position for that node. Node execution conditions are conditional expressions that determine whether the node takes effect, and node branch execution conditions are conditional expressions that determine the branch paths of lower-level nodes.

[0029] The set of sensitive data fields to be hidden is the set of business data fields that need to be hidden for each approval node, which is generated by merging global-level sensitive data and node-level sensitive data.

[0030] In the specific implementation, an approval process template library is pre-built. Each template can be configured through the approval process template editing interface. Template attributes include: the first sensitive data, which is a globally de-identified field; the form display type, such as official form or non-official form; the first visible control identifier; the first editable business data; and form matching rules, etc. Form matching rules are usually defined in the form of EL expressions and are used to dynamically match business forms with templates. For example, "application amount >= 100,000" matches the high-value procurement approval template, and "department == 'finance department'" matches the finance-specific template, etc. In this embodiment, the target approval process template can be obtained in various ways, including matching based on business type and initiator history, matching based on form matching rule scoring, and intelligent recommendation based on feature vectors.

[0031] By determining the set of sensitive data fields that need to be hidden at each approval node, field-level data desensitization / hiding is dynamically and node-by-node executed at each node of the approval process, rather than uniformly hiding the data throughout the entire process or statically filtering it based on the approver's permissions. This achieves context-related control of the approval form content.

[0032] Step S30: Based on the node execution conditions and node branch execution conditions, perform condition judgment on the business form, determine the approval nodes that meet the node execution conditions as valid approval nodes, determine the subordinate approval nodes that meet the node branch execution conditions as valid branch nodes, and construct a directed acyclic graph approval path composed of valid approval nodes and valid branch nodes.

[0033] It should be noted that this implementation method dynamically determines the actual effective approval path based on the node execution conditions and node branch execution conditions, and represents it in the form of a directed acyclic graph (DAG).

[0034] Understandably, a directed acyclic graph (DAG) is a directional graph structure in which there are no cycles, and it can clearly represent the sequence and dependencies between various nodes in the approval process.

[0035] In the implementation, an empty approval path set is initialized to store all valid approval nodes and valid branch nodes. Then, starting from the initial approval node of the business form, the validity of the node is determined based on its execution conditions. If valid, it is added to the approval path set and marked as a valid approval node. Next, based on the branch execution conditions, it is determined which of the valid approval node's subordinate nodes meet the branch execution conditions. These subordinate nodes are added to the approval path set and marked as valid branch nodes. This process is repeated until all approval nodes have been traversed, ultimately constructing a directed acyclic graph (DAG) approval path consisting of valid approval nodes and valid branch nodes. By dynamically constructing the DAG approval path, the flexibility and adaptability of the approval process are achieved. The approval path can be automatically adjusted according to the actual content of the business form and the execution conditions of the approval nodes, avoiding the limitations of fixed paths in traditional approval processes. Simultaneously, the structure of the DAG ensures the clarity and traceability of the approval process.

[0036] In one feasible implementation, step S30 may include: initializing a directed acyclic graph (DAG) data structure, creating a start node and an end node, adding all approval nodes in the target approval process template as intermediate nodes to the DAG, connecting the intermediate nodes according to a preset order in the approval process template to obtain an initial DAG structure; traversing each intermediate node in the initial DAG structure, extracting the real-time value of the field referenced by the EL expression condition from the business form according to the node execution condition corresponding to each intermediate node, performing a value operation between the real-time value of the field and the threshold in the EL expression condition to obtain a first Boolean value, wherein the node execution condition includes business-related factors. The form field values ​​are evaluated using EL expressions. If the first Boolean value is true, the current intermediate node is marked as a valid approval node. Based on the node branch execution conditions corresponding to the valid approval node, it is determined whether the business form meets the node branch execution conditions, which include parallel branch conditions and conditional branch conditions. If the parallel branch conditions are met, all subordinate approval nodes of the valid approval node are marked as valid branch nodes. If the conditional branch conditions are met, the corresponding branch path is selected based on the condition judgment result, and the selected subordinate approval node is marked as a valid branch node. A directed acyclic graph approval path is constructed based on the valid approval nodes and valid branch nodes.

[0037] It should be noted that the initialization of the directed acyclic graph data structure involves creating a start node and an end node, adding all approval nodes from the target approval process template as intermediate nodes to the directed acyclic graph, and performing initial connections according to the preset order in the template to obtain the initial directed acyclic graph structure.

[0038] Traverse each intermediate node in the initial directed acyclic graph. For each node, extract its execution condition. The execution condition includes an EL expression condition based on the field value of the business form. Obtain the real-time value of the field referenced by the EL expression condition from the business form. Perform a value operation between the real-time value of the field and the threshold in the EL expression condition to obtain the first Boolean value. If it is true, mark the node as a valid approval node. In the initial directed acyclic graph structure, retain the current intermediate node and the incoming and outgoing edges of the previous intermediate node, and write the node identifier into the list of valid approval nodes.

[0039] If the first Boolean value is false, the current intermediate node is marked as an invalid approval node, the current intermediate node is removed from the initial directed acyclic graph structure, and the incoming edge of the current intermediate node is connected to the downstream node pointed to by the outgoing edge, thus maintaining the connectivity of the graph.

[0040] For each node in the list of valid approval nodes, read the node branch execution conditions in its node attributes, and determine whether the business form meets the node branch execution conditions. The node branch execution conditions include parallel branch conditions and conditional branch conditions.

[0041] If the parallel branching condition is met, all subordinate approval nodes of the current valid approval node are marked as valid branch nodes. All branch paths are retained in the directed acyclic graph, and branch priority weights are assigned to each branch path.

[0042] If the aforementioned branch conditions are met, the corresponding branch path is selected based on the condition judgment result, and the selected lower-level approval node is marked as a valid branch node. If no branch execution conditions are met, all lower-level approval nodes except the default branch path are marked as invalid branch nodes. Only the default branch path is retained in the directed acyclic graph, and the lower-level approval nodes on the default branch path are marked as valid branch nodes. Repeat the above process until all nodes have been processed, ultimately resulting in a directed acyclic graph (DAG) approval path containing only valid approval nodes and valid directed edges. The constructed DAG approval path will be stored in the cache of the current approval process instance, and a path identifier will be generated. This process can be implemented using a breadth-first search algorithm, which traverses layer by layer from the starting node. Only when a node meets the execution conditions is it added to the queue to be processed, and the activation state of the lower-level nodes is determined according to the branch conditions. This can efficiently handle complex processes with a large number of branches.

[0043] Step S40: Determine the approval node to be processed based on the approval path of the directed acyclic graph, and perform data hiding processing on the corresponding business data fields in the business form according to the set of sensitive data fields corresponding to the approval node to be processed, and generate the business form after data hiding.

[0044] It should be noted that, based on the set of sensitive data fields corresponding to the current pending approval node, the business forms undergo field-level data anonymization processing.

[0045] In the implementation, the set of sensitive data fields corresponding to the currently pending approval node is identified. This set of fields is pre-determined based on the target approval process template and node attributes. These sensitive data fields are located in the business form and then anonymized using preset data masking rules. These data masking rules can be flexibly configured according to actual needs, such as using replacement, masking, or encryption, to ensure that sensitive data is not leaked during the approval process. After data hiding, the business form will only display non-sensitive data fields or the masked sensitive data fields, thereby protecting the security of business data.

[0046] In one feasible implementation, step S40 may include: determining the approval node to be processed based on the directed acyclic graph approval path, and determining the set of sensitive data fields corresponding to the approval node to be processed; creating a copy of the business form as the form to be processed, traversing each sensitive data field in the set of sensitive data fields, and locating the control identifier or data area coordinates corresponding to the sensitive data field in the form to be processed; selecting a corresponding data hiding processing method based on the data type of the sensitive data field and a preset hiding strategy, wherein the data hiding processing method includes: setting the field value to an empty string, replacing the field value with an asterisk mask, setting the corresponding control to an invisible state, or hiding the entire row or entire area containing the sensitive data field; performing data hiding processing on the sensitive data fields in the form to be processed based on the data hiding processing method and the control identifier or data area coordinates, and generating a business form after data hiding.

[0047] It should be noted that, based on the approval path of the directed acyclic graph, the current approval node to be processed is determined, that is, the node that is about to be sent to the approver. The set of sensitive data fields to be hidden is extracted from the node attributes of the node, a copy of the business form is created as the form to be processed, each field in the set of sensitive data fields is traversed, and the control identifier or data area coordinates corresponding to the field are located in the form to be processed.

[0048] Based on the data type of the sensitive data field, such as text, number, or date, and the preset hiding strategy, select the corresponding data hiding method. These methods can include setting the field value to an empty string so that the approver cannot see the specific content; replacing the field value with an asterisk mask, which retains the existence of the field while hiding the actual information; setting the corresponding control to an invisible state, directly removing the field from the interface; or hiding the entire row or area containing the sensitive data field to avoid the risk of information leakage caused by partial hiding. Specifically, for monetary sensitive data, an asterisk mask method can be used, such as displaying it as "****"; for text sensitive data, setting the field value to empty can be used; and for a whole set of related sensitive data, the entire row can be hidden.

[0049] Based on the selected data hiding method and the located control identifiers or data area coordinates, the system processes each sensitive data field in the form to be processed, ultimately generating a data-hidden business form. This ensures that sensitive data is properly protected during the approval process. Through this flexible and diverse data hiding method, the system can maximize the fulfillment of information display needs in the approval process while ensuring data security, thereby improving approval efficiency and user experience.

[0050] Step S50: Generate a form approval interface for the business form after the data is hidden according to the form display type in the template attribute of the target approval process template, and feed it back to the approver of the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the directed acyclic graph approval path have completed the approval.

[0051] It should be noted that the form display types include official red-headed forms and non-official red-headed forms. Official red-headed forms are used for formal and important approval scenarios, with specific format and style requirements, such as a red title bar, specific fonts, and typography. When generating an official red-headed form approval interface, the business form content (with data hidden) will be filled into the corresponding positions according to the preset official red-headed form template, and rendered and displayed according to the template's style requirements. Non-official red-headed forms, on the other hand, are suitable for general approval scenarios. Their format and style are more flexible and can be adjusted according to actual needs. When generating a non-official red-headed form approval interface, a concise and clear interface will be provided, presenting the business form content to the approver in an easy-to-read manner.

[0052] Understandably, once the approver receives the form approval interface, they can proceed with the approval process according to the on-screen prompts. The approver views the business form content after data hiding and makes the corresponding approval decision based on their own permissions and approval process requirements. If the approval is successful, the result flows to the next valid approval node along the directed acyclic graph (DAG) approval path. During this flow, relevant approval information, such as the approver, approval time, and approval comments, is recorded for later querying and traceability. If the approval fails, the system also records relevant information and decides, based on preset rules, whether to return the form to the previous node for re-approval or terminate the entire approval process. Throughout the entire flow, the approval status is monitored in real time to ensure the approval process proceeds in an orderly manner along the predetermined DAG approval path. Once all nodes in the DAG approval path have completed their approvals, a final approval result report is generated and provided to relevant personnel, such as the business initiator and process administrator, so they can understand the final status of the entire approval process.

[0053] In the specific implementation, before responding to the approval operation, the process also includes verifying editing permissions, including: responding to the approver's editing operation on the business data in the form approval interface, extracting the field identifier to be edited, the original field value, and the field value to be modified from the editing operation; determining the set of business data fields that the approver of the current valid approval node can edit based on the first editable business data, the second editable business data, and the third editable business data in the current approver's approval permissions; verifying whether the field identifier to be edited is in the set of editable business data fields; if it is not in the set, rejecting the editing operation and prompting insufficient permissions; if it is in the set, querying the preset field risk weight configuration table to obtain the risk weight value corresponding to the field identifier to be edited; and determining the editing range coefficient, for numerical fields. The edit amplitude coefficient is the absolute value of the difference between the proposed modified field value and the original field value, divided by the original field value. For non-numerical fields, the edit amplitude coefficient is set to a fixed value of 1. An edit risk score is determined based on the risk weight value and the edit amplitude coefficient. The edit risk score is the product of the risk weight value and the edit amplitude coefficient. The edit risk score is compared with a preset risk threshold. If the edit risk score is less than or equal to the risk threshold, the approver is allowed to directly execute the edit operation and update the business data. If the edit risk score is greater than the risk threshold, a dual-approval mechanism is triggered, the edit operation request is marked as pending review, the superior approver is queried based on the approver information associated with the current valid approval node, a review task is generated, and it is pushed to the superior approver for review.

[0054] It's worth noting that during the approval process, the system receives approval node modification requests applied to the approval node settings interface. These requests include node deletion requests or requests to add sibling nodes. The system checks the current approval process template's process type; if it's a fixed process, the modification is allowed; otherwise, it rejects the modification and returns an error message. For node deletion requests, the system verifies whether the node to be deleted is allowed. If so, it removes the node from the directed acyclic graph (DAG) approval path, directly connecting its incoming edges to the downstream nodes pointed to by its outgoing edges, updates the DAG structure, and removes the approver information and sensitive data field set associated with the node from the process instance context. For requests to add sibling nodes, the system creates a new approval node at the same level as the selected node and configures the new approval... The node attributes include setting the second sensitive data, approval position, node execution conditions, and node branch execution conditions; based on the approval position information, the organizational structure database is queried to determine the approver information of the new approval node, and the sensitive data field set consisting of the approver information and the second sensitive data is associated with the new approval node; the new approval node is inserted into the directed acyclic graph, establishing parallel branch relationships or serial relationships with peer nodes, determining the connection logic with the superior node based on the node branch execution conditions, and re-executing the breadth-first search algorithm to verify that the updated directed acyclic graph is loop-free; the updated valid approval path is calculated, the version number of the adjusted approval process template is incremented, the directed acyclic graph approval path description file, approver information mapping relationship table, and sensitive data field set in the process instance context are updated, and the adjustment record is written to the process instance log.

[0055] In one feasible implementation, step S50 may include: obtaining the form display type in the template attributes of the target approval process template, wherein the form display type includes official form format and non-official form format; loading the corresponding interface rendering template according to the form display type; binding the field data in the business form after data hiding to the corresponding controls of the interface rendering template to obtain the bound interface rendering template; generating functional button controls operable by the approver in the bound interface rendering template according to the first visible control identifier and the second visible control identifier, wherein the functional button controls include an agree button, a reject button, a transfer button, and a signature button; and setting the visibility of the approval result according to the effective approval node. The process involves: identifying a set of visible approval nodes from which the approval results can be viewed; generating an approval result sharing scope configuration; combining the bound interface rendering template, function button controls, and approval result sharing scope configuration to generate a form approval interface; pushing the form approval interface to the approver's terminal device at the valid approval node via the front-end rendering engine; responding to the approval operation submitted by the approver on the form approval interface; executing the corresponding workflow logic according to the approval operation type; encapsulating the approval result, approval opinion, and updated business data fields into an approval result data packet; and sending the approval result data packet to the workflow engine instance corresponding to the next valid approval node via a message queue mechanism, until all nodes in the directed acyclic graph approval path have completed their approvals.

[0056] It should be noted that after obtaining the form display type of the target approval process template, the corresponding interface rendering template will be loaded based on that type. This template is pre-designed and has different layouts and styles for official (red-headed) forms and non-official (non-red-headed) forms. For official (red-headed) forms, the template includes a formal red title bar, specific fonts, and layout rules to ensure the solemnity and standardization of the approval interface; while for non-official (red-headed) forms, the template focuses more on simplicity and clarity to facilitate quick viewing and operation by approvers.

[0057] After loading the interface rendering template, the field data in the hidden business form is bound to the corresponding controls in the template. This process ensures that the data in the business form is displayed accurately in the approval interface while maintaining data integrity and consistency. After binding, based on the first visible control identifier in the template properties and the second visible control identifier in the current node properties, functional button controls that approvers can operate are generated in the bound interface rendering template. These functional button controls include an "Agree" button, a "Reject" button, a "Transfer" button, and a "Sign" button, providing approvers with convenient operation methods and making the approval process more efficient and flexible.

[0058] In addition to function button controls, the system also determines the set of visible approval nodes that can view the approval results based on the visibility settings of the valid approval nodes. This setting ensures the confidentiality and security of the approval results; only authorized approval nodes can view the results. Based on this set, the system generates an approval result sharing scope configuration to specify which approval nodes can share the approval results.

[0059] Finally, the bound interface rendering template, function button controls, and approval result sharing scope configuration are combined to generate the final form approval interface. Through the front-end rendering engine, this interface is pushed to the approver's terminal device at the valid approval node, such as a PC browser or mobile app. The approver can view the form approval interface on their terminal device and perform the approval operation according to the interface prompts. The system will respond to the approver's operation, executing the corresponding workflow logic based on the operation type: if the operation type is "Agree," the approval result, approval comments, and any form data the approver may edit are encapsulated into an approval result data package; if the operation type is "Reject," the form is returned to the specified node or initiator according to the rejection rules; if the operation type is "Transfer," the current pending task is transferred to another approver for processing.

[0060] When approvers edit forms, editing permissions need to be verified based on the set of editable business data for the current node. Editable business data is determined by the first editable business data in the template attributes, the second editable business data in the node attributes, and the approver's own third editable business data. The merging rule also prioritizes the node level. If the edited field is a high-risk field, such as a significant change in amount, an editing risk scoring mechanism can be introduced: a preset field risk weight is used to calculate the editing range coefficient. If the risk score exceeds a threshold, a dual-review process is triggered, requiring confirmation from an additional reviewer before it takes effect.

[0061] The encapsulated approval result data packet is sent to the process engine instance corresponding to the next valid approval node via a message queue mechanism. If the current node is the last node in the directed acyclic graph approval path, a process end event is triggered, and post-process feedback logic is executed, such as notifying the initiator and archiving data. The complete approval process instance is then archived to the history database.

[0062] This embodiment provides a business approval method. In response to a form editing operation on a form editing interface, a business form containing multiple business data fields is generated. The business form includes a business type identifier and an approval initiator user identifier. Based on the business type identifier and the approval initiator user identifier, a target approval process template is obtained. The target approval process template is parsed to determine the node attributes of each approval node and the set of sensitive data fields to be hidden. The node attributes include approver information, node execution conditions, and node branch execution conditions. Based on the node execution conditions and node branch execution conditions, the business form is conditionally judged. Approval nodes that meet the node execution conditions are determined as valid approval nodes, and those that meet the node branch execution conditions are... The lower-level approval nodes are identified as valid branch nodes, and a directed acyclic graph (DAG) approval path is constructed, consisting of valid approval nodes and valid branch nodes. Based on the DAG approval path, pending approval nodes are determined, and the corresponding business data fields in the business form are hidden according to the sensitive data field set corresponding to the pending approval nodes, generating a data-hidden business form. The data-hidden business form is then used to generate a form approval interface according to the form display type in the template attributes of the target approval process template and fed back to the approver of the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the DAG approval path have completed their approvals. Through this method, the most suitable approval process template is automatically matched based on the business type and initiator information of the business form, and the approval path is dynamically activated according to the preset node execution conditions in the template. Simultaneously, at each node, the business form undergoes field-level desensitization processing according to the node's sensitive data hiding rules, effectively reducing the risk of sensitive data leakage and improving the automation level and efficiency of the approval process.

[0063] Based on the first embodiment of this application, in the second embodiment of this application, the content that is the same as or similar to that in the first embodiment described above can be referred to the above description and will not be repeated hereafter. Based on this, step S20 may include steps S201 to S209: Step S201: Based on the business type identifier and the user identifier of the approval initiator, query the approval process template library to obtain the target approval process template.

[0064] It should be noted that this implementation provides multiple methods for determining target approval process templates, including: querying the most recently used historical approval process templates under the same business type based on the business type identifier and the user identifier of the approval initiator; constructing a rule execution tree through an EL expression set, calculating the matching score, and selecting the optimal matching template; and extracting key field data from business forms, such as application amount, department, and qualification level, to generate a business form feature vector, matching this feature vector with a preset business type database to determine the business category and subcategory to which the business form belongs. Based on this, a template library is retrieved.

[0065] In one feasible implementation, step S201 may include: extracting key field data from the business form, the key field data including an application amount field, a department field, a qualification level field, and a business type identifier field; generating a business form feature vector based on the key field data, matching the business form feature vector with a preset business type database to determine the business category and business subcategory to which the business form belongs; based on the business category and business subcategory, searching an approval process template library to obtain a set of candidate approval process templates associated with the business category and business subcategory; and analyzing the template usage frequency of each template in the candidate approval process template set. Based on historical usage records and the user identifier of the approval initiator, the user's preference weight for each candidate approval process template within a preset time period is determined. The candidate approval process template set is then sorted according to the preference weight. The candidate approval process template at a preset position in the sorted set is selected as the default recommended approval process template, and this default recommended approval process template is temporarily bound to the business form. A summary of the default recommended approval process template is displayed in the form editing interface, and the user responds to the approval initiator's confirmation or switching operation for the default recommended approval process template, thus determining the target approval process template.

[0066] It should be noted that key field data are core data fields extracted from business forms, used to characterize the essential features and classification attributes of the business. They are the basic data source for generating business form feature vectors. Through pre-configured field mapping rules, they can be automatically identified and extracted from multiple business data fields in the business forms, including: application amount field, which represents the scale of the business, such as 150,000 yuan or 500,000 yuan; department field, which represents the organization to which the business belongs, such as R&D department, finance department, and purchasing department; qualification level field, which represents the level of the business object, such as one-star, two-star, and three-star; and business type identifier field, which represents the major category of the business, such as purchase application, expense reimbursement, and contract approval.

[0067] Business form feature vectors are numerical vector representations formed by structured encoding of extracted key field data. They are used to quantitatively describe the characteristic attributes of business forms, achieving accurate matching with business type databases. Converting heterogeneous business data into a unified vector space representation facilitates similarity calculation and pattern matching, improving the accuracy and efficiency of template matching.

[0068] The business type database is a pre-built structured database that stores the classification system of major and subcategories of businesses and their feature vectors. It is used to match the feature vectors of business forms to determine the category to which the business form belongs. Major business categories include procurement, finance, human resources, and administration, while subcategories include high-value procurement, routine procurement, emergency procurement, and strategic procurement. Cosine similarity, Euclidean distance, or machine learning classification algorithms can be used to determine the matching degree between the feature vectors of the business form and the business type database. By calculating the similarity score between feature vectors, the business subcategory with the highest matching degree is selected, thus determining the major and subcategories to which the business form belongs. Cosine similarity assesses the similarity between two vectors by calculating the cosine of the angle between them; a value closer to 1 indicates greater similarity. Euclidean distance calculates the straight-line distance between two vectors in space; a shorter distance indicates greater similarity. The two-level business classification system determined through feature vector matching is used to narrow the template retrieval scope and improve template matching efficiency.

[0069] The system retrieves a set of related candidate templates based on business categories and subcategories. It analyzes the usage frequency and historical records of each candidate template, combines this with the initiator's identifier to calculate the initiator's preference weight for each template, sorts them, and selects the template at a preset position as the default recommendation, temporarily binding it to the business form. A summary of the template is displayed in the form editing interface, allowing the initiator to confirm or switch templates, ultimately determining the target approval process template. This process fully considers the initiator's historical usage habits and preferences, improving template matching accuracy and user satisfaction. Simultaneously, feature vector matching and a business classification system effectively narrow the template search scope, improving template matching efficiency. The preset position is the first position in the sorting, but it can also be set to other positions, such as any of the top three, to provide flexibility and diversity. After determining the target approval process template, the system further parses the template to determine the detailed attributes of each approval node, including but not limited to approver information, node execution conditions, node branch execution conditions, and the set of sensitive data fields to be hidden.

[0070] In one feasible implementation, step S201 may further include: querying the historical approval record database of the approval initiator based on the business type identifier and the approval initiator user identifier, and obtaining the identifier of the historical approval process template most recently used by the approval initiator under the same business type; reading the historical approval process template according to the historical approval process template identifier, and detecting the current status of the historical approval process template; when the current status of the historical approval process template is enabled, using the historical approval process template as the target approval process template; when the current status of the historical approval process template is disabled or there is no historical approval record, traversing all the approval process templates to be matched in the approval process template library, and extracting each to be matched... The approval process template includes form matching rules in its template attributes. For each approval process template to be matched, the corresponding selected business data field value is extracted from the business form according to the selected business data identifier in the form matching rules. The matching score of each approval process template to be matched is determined according to the selected business data field value and the numerical conditions in the form matching rules. The matching score is calculated by weighted summation based on the number of selected business data fields, the preset weight coefficient of each field, and the weighting coefficient of the matching field. The approval process templates to be matched are sorted in descending order according to the matching score, and the template with the highest matching score in the sorted list of approval process templates to be matched is taken as the target approval process template.

[0071] It should be noted that regarding the business type identifier and the user identifier of the approval initiator, the database of the approval initiator's historical approval records is queried to obtain the identifier of the most recently used historical approval process template under the same business type. If the historical template is currently enabled, it is directly used as the target approval process template.

[0072] In addition to the above methods of determining the target approval process template based on business form feature vector matching and historical approval record query, the template can also be accurately matched by constructing a rule execution tree.

[0073] In the specific implementation, if the historical template does not exist or has been deactivated, all approval process templates to be matched in the approval process template library are traversed, the form matching rules of each template are extracted, and the corresponding selected business data is extracted from the business form according to the form matching rules. The approval process template to be matched whose selected business data meets the corresponding data conditions is taken as the approval process template corresponding to the business form.

[0074] When the form matching rules for multiple approval process templates are met—meaning that some or all of the selected business data in multiple templates meet the corresponding numerical conditions—this implementation introduces a matching score mechanism to avoid matching conflicts and select the optimal template. For each template, based on the selected business data identifier specified in the rules, the corresponding actual field values ​​are extracted from the business form and compared with the numerical conditions in the rules to calculate a matching score. The matching score can be obtained by weighted summation based on the number of selected business data fields, the preset weight coefficient of each field, and the weighting coefficient for a perfect match. The template with the highest score is selected as the target approval process template.

[0075] The formula for calculating the match score is:

[0076] Where n represents the total number of selected business data fields. This indicates the degree of match between the actual value of the i-th selected business data field and the numerical conditions in the form matching rules. A value of 1 indicates a complete match, a value between 0 and 1 indicates a partial match (which can be set to a value between 0 and 1 depending on the actual situation), and a value of 0 indicates no match. This represents the preset weight coefficient for the i-th selected business data field, k represents the weighting coefficient for exact matches, which can be set to a value greater than 1 according to business needs to highlight the importance of exact matches, c represents the number of selected business data fields in the business form that are exact matches, and p represents the number of selected business data fields in the business form that are not match. This represents the preset weight coefficient for the j-th unmatched selected business data field. It can be set to a negative number to reduce the negative impact of unmatched fields on the total score. This represents the preset penalty coefficient for the j-th unmatched selected business data field, which can be set according to business needs.

[0077] The matching score calculated using this formula comprehensively considers multiple factors, more accurately assessing the degree of matching between each approval process template and the business form. After calculating the matching score for each approval process template, they are sorted from highest to lowest score, and the template with the highest score is selected as the target approval process template. This method fully utilizes key information in the business form, combined with historical approval records and preset matching rules, to achieve accurate and efficient matching of the target approval process template, meeting the approval process needs under different business scenarios.

[0078] The approval process template with the highest matching score is selected as the final matching result. For example, assuming the business form has "Application Amount = 150,000 yuan", "Department = Finance Department", and "Qualification Level = Three Stars", three templates A, B, and C partially meet the matching rules. Template A matches "Application Amount ≥ 100,000 yuan" with a score of 0.8; Template B matches "Department = Finance Department" and "Qualification Level = Three Stars" with a score of 0.9 + a weighted average of 0.2 for a perfect match = 1.1; Template C matches "Application Amount ≥ 50,000 yuan" with a score of 0.6. Finally, template B with the highest matching score is selected as the approval process template.

[0079] If the scores are the same, the templates will be further sorted according to their priority, most recent usage time, or template creation / update time until a unique template is selected. The priority value that can be configured in the template attributes is higher, and the templates most recently used by the approval initiator will be selected first.

[0080] It is worth noting that, to improve matching performance and accuracy under massive approval process templates, a template indexing and pre-screening mechanism is introduced in the template storage and retrieval stage. Specifically, this includes: establishing multi-level index tables based on business type and key form fields, such as "application type," "amount range," and "department," using high-frequency dimensions, for example, hash tables or database composite indexes, to pre-group and store templates; before extracting form matching rules, quickly filtering out the candidate template set based on the core field values ​​of the business form, such as business type, amount range, and initiating department, typically narrowing down thousands of templates to within dozens, with filtering conditions configured as "loose matching" rules, such as amounts within ±20%, same department, or belonging to the same business group; performing complete form matching rule extraction and matching score calculation only on the pre-screened subset of candidate templates, significantly reducing computational overhead; for high-frequency initiation scenarios of the same user and the same business type, the most recently matched templates and scores can be cached in the user session or in memory such as Redis, and read from the cache first next time, achieving a hit rate of over 70%. For example, if a company has 2,000 approval templates, it first pre-screens about 150 templates based on "business type = purchase application"; then it further narrows them down to 30 based on "application amount > 100,000"; finally, it performs EL expression rule matching and scoring only on these 30 templates to select the optimal template. The entire process is completed in milliseconds.

[0081] Step S202: Parse the target approval process template to obtain template attributes, wherein the template attributes include at least one of the following: first sensitive data, form display type, first visible control identifier, first editable business data, and form matching rules.

[0082] It should be noted that in this embodiment, in response to the template attribute setting operation applied to the approval process template editing interface, the template attributes corresponding to the approval process template are set. Template attributes include any one or a combination of the following: first sensitive data, form display type, first visible control identifier, first editable business data, and form matching rules. First sensitive data refers to globally de-identified fields, which are sensitive information fields that need to be hidden or de-identified in the approval process, such as ID card numbers and bank card numbers. By setting first sensitive data, it can be ensured that this information is not leaked during the approval process, thus protecting data security. Form display type defines how the business form is displayed in the approval process. First visible control identifier identifies which controls in the business form are visible, i.e., which information can be directly viewed by the approver. First editable business data clarifies which data in the business form can be edited and modified by the approver. For example, in some approval scenarios, the approver may need to adjust certain business data according to the actual situation; this requirement can be achieved by setting first editable business data.

[0083] The form matching rules include the selected business data required to match the approval process template with the business form, as well as the numerical conditions that the selected business data must meet. For example: when the "Application Amount" field of the business form is greater than or equal to 100,000 yuan, the "High-Value Procurement Approval Process Template" is matched; when the "Contract Amount" is less than 500,000 yuan and "Whether it is foreign-related" is equal to "Yes", the "Foreign-Related Contract Approval Template" is matched; when the "Application Amount" is less than 100,000 yuan and the "Department" field is "R&D Department", the "Regular R&D Expense Approval Template" is matched; when the "Qualification Level" field value is "One Star" or "Two Stars", the "Supplier Access Preliminary Review Template" is matched; when the "Qualification Level" field value is "Three Stars" or above, the "Supplier Strategic Cooperation Approval Template" is matched. Through this dynamic matching rule based on the actual field values ​​of the business form, the system can automatically select the most suitable approval process template according to different business scenarios, such as the amount, department attributes, qualification level, and other key indicators, eliminating the need for manual selection each time, thereby improving the efficiency of approval initiation and reducing the risk of incorrect process selection.

[0084] It's worth noting that users can edit the various template attributes of the approval process template through the approval process template editing interface, pre-generating various process templates for subsequent use. Among the template attributes of the approval process template, the "First Sensitive Data" attribute determines the data items in the business form that cannot be displayed at any approval node when using this approval process template; the "Form Display Type" attribute determines the style displayed when the business form is presented to the approver, including: official form format and non-official form format; the "First Visible Control Identifier" determines the control components that each approver can manipulate on the displayed interface when the business form is presented to each approval node, such as buttons; and the "First Editable Business Data" determines the fields that each approver can edit on the business form when the business form is presented to each approval node, including field query, modification, and deletion. The form matching rules are set in the form of EL expressions. The EL expression contains the data value of a certain field in the business form. When obtaining the approval process template later, the corresponding approval process template can be automatically matched based on the data of the business form and the EL expression. Taking a certain business form as an example, it has a "Qualification Level" field. Assuming there are two approval process templates under the same business, the EL expression in the form matching rules of approval process template A sets the value of the "Qualification Level" field to "One Star", and the EL expression in the form matching rules of approval process template B sets the value of the "Qualification Level" field to "Two Stars". Then, when the value of the "Qualification Level" field in the submitted business form is "One Star", approval process template A will be automatically used as the approval process template corresponding to the current business form, thereby achieving the effect of dynamically pointing to a specific approval process template according to the business situation.

[0085] In an optional embodiment, the template attributes of the approval process template further include: a bound function ID; a bound function name; a status, such as enabled or disabled; an approval process name; a process initiation feedback class, used to define the business logic to be executed when the approval process is initiated; a process end feedback class, used to define the business logic to be executed when the approval process ends; a process post-feedback class, used to define the business logic to be executed some time after the approval process ends; and a process type; wherein the process type includes: a fixed process, which allows the approval process template to be modified and adjusted during the approval process; and a non-fixed process, which does not allow the approval process template to be modified and adjusted during the approval process.

[0086] Users can click on the attribute fill area under each template attribute in the approval process template editing interface to fill in or select the corresponding attribute value from the drop-down list to complete the template attribute editing. After the template attribute editing is completed, the process setting operation can be completed by clicking the process setting control in the approval process template editing interface. At this time, the approval node setting interface of the approval process template will be displayed. The initial approval node setting interface will automatically generate several visual controls to represent approval nodes at all levels. When the process type in the template attribute of the approval process template is a non-fixed process, the visual controls will have a node deletion sub-control to delete the approval node and a node addition sub-control to add a peer approval node. Users can edit the various approval nodes corresponding to the approval process template through the node deletion sub-control and the node addition sub-control.

[0087] Step S203: Detect whether the template attributes contain the form matching rule.

[0088] It's important to note that after obtaining the target approval process template and parsing its attributes, the system needs to further check whether the template attributes contain form matching rules. This step is crucial because it directly affects whether the subsequent approval process can dynamically adapt to the actual content of the business form.

[0089] If the template attributes include form matching rules, then the key field data in the business form will be compared one by one according to these rules. For example, the rules may specify that when the "application amount" exceeds a certain threshold, a specific approval branch process must be triggered; or when the "department" field has a specific value, a specific approver must be specified. According to the preset logic, these conditions are judged, and the subsequent approval path is determined based on the judgment result.

[0090] If the template attributes do not include form matching rules, or the rules do not cover all key situations of the current business form, the business form will be processed according to the default approval process configuration or preset general rules. The default approval process configuration typically covers a range of common approval scenarios and corresponding processing methods, ensuring that the approval process can still proceed in an orderly manner even in the absence of specific form matching rules. Preset general rules may include some basic approval logic, such as approval by department level or determining the approval level based on the application amount. When executing the default approval process or general rules, every step and operation in the approval process will be recorded in detail for subsequent auditing and traceability.

[0091] Step S204: If the form matching rule is included, extract the set of EL expressions in the form matching rule.

[0092] It's important to note that EL expressions are a concise data access expression language. In the form matching rules of the approval process template, the EL expression set is used to define the logic for extracting key field data from business forms and performing conditional judgments. By extracting the EL expression set, the key field information to be compared and the corresponding judgment conditions can be accurately obtained. For example, one EL expression might be used to retrieve the value of the "application amount" field in the business form, while another EL expression might be used to determine whether the "application amount" is greater than a specific value. These EL expressions are stored in a structured manner in the form matching rules. The system parses the EL expression set according to predetermined parsing rules, transforming it into executable logical operations. This allows for accurate comparison and processing of key field data in the business forms, ensuring that the approval process can dynamically adapt to the actual content of the business forms and achieve precise approval process control.

[0093] Step S205: Parse the set of EL expressions, identify the business form field names, comparison operators and threshold values ​​referenced in each EL expression, and generate a rule execution tree structure.

[0094] It's important to note that each EL expression undergoes lexical and syntactic analysis, breaking it down into three core components: field name, comparison operator, and threshold value. For example, the expression "${amount}>100000" is parsed into the field name "amount", the comparison operator ">", and the threshold value "100000". Subsequently, a rule execution tree structure is constructed based on the parsing results. This tree starts at the root node, with each branch representing a condition judgment path. During construction, the system prioritizes multiple EL expressions according to business logic priority, ensuring that higher-priority conditions are executed first. For instance, when both amount threshold and department attribute judgments exist simultaneously, the system determines their execution order based on preset business rules. Each leaf node of the rule execution tree represents a final approval branch path. Once all condition judgments are completed, the system can directly locate the corresponding approval process branch based on the tree structure. This structured rule representation not only improves the efficiency of condition judgments but also enhances the maintainability of the approval process. Business personnel can quickly adjust the approval logic by modifying the set of EL expressions without needing to deeply understand the underlying code implementation.

[0095] Step S206: Execute the node order of the tree structure according to the rules, extract the real-time field values ​​corresponding to each EL expression from the business form in sequence, perform a comparison operation between the real-time field values ​​and the corresponding threshold values, and generate the Boolean operation results of each EL expression.

[0096] It's important to note that performing operations according to the node order defined in the rule-based tree structure ensures the logic and accuracy of conditional judgments, avoiding errors in the approval process due to disordered order. For each EL expression, the corresponding real-time field value is located and extracted from the business form. This process relies on the previously parsed field name information, enabling precise identification of the data requiring comparison.

[0097] After extracting the real-time field value, it is compared with a preset threshold value in the EL expression. Comparison operators, such as greater than, less than, and equal to, determine the specific comparison method. This comparison generates a Boolean result for each EL expression, indicating whether the condition is met (true or false).

[0098] The results of these Boolean operations determine the direction of the approval process, i.e., which branch path to execute is selected based on these results. For example, if the Boolean operation result of a certain EL expression is true, it may trigger a specific branch of the approval process, such as sending the approval request to a specific approver or approval group.

[0099] Step S207: Execute the logical combination relationship of the tree structure according to the rules, and perform logical AND and logical OR operations on each Boolean operation result to obtain the matching result of the form matching rule.

[0100] It's important to note that the rule execution tree structure not only defines the execution order of each EL expression but also clarifies the logical combination relationships between them. These logical combination relationships typically include logical AND and logical OR, used to combine multiple Boolean operation results into a comprehensive matching result. For example, in some approval scenarios, it may be necessary to simultaneously meet the conditions of "application amount greater than 100,000 yuan" and "department is the finance department" to trigger a specific approval process. In this case, the rule execution tree structure will combine the Boolean operation results of these two EL expressions using a logical AND operation. Following the logical combination relationships defined in the rule execution tree structure, it will sequentially perform the corresponding logical operations on each Boolean operation result. The final form matching rule result is a Boolean value indicating whether the current business form meets the matching conditions of the approval process template. If the matching result is true, it means the business form meets the matching rules of the template and will continue to be processed according to the approval process defined in the template; if the matching result is false, it means the business form does not meet the matching rules of the template and will be processed according to other preset rules or the default approval process.

[0101] Step S208: When the matching result is true, mark the approval process template as effective and read the node attributes of each approval node from the effective approval process template. The node attributes include at least one of the following: second sensitive data, approval result visibility, second visible control identifier, second editable business data, and approval position information.

[0102] It should be noted that when the form matching rule is determined to be true, the approval process template will be automatically marked as effective, ensuring that only templates that meet the business form matching conditions can enter the actual approval execution stage.

[0103] After the template is marked as effective, the node attributes of each approval node are further read from the template. Node attributes include second sensitive data, approval result visibility, second visible control identifier, second editable business data, approver, approval position, node branch execution conditions, and any one or a combination of the following: node execution conditions. Second sensitive data refers to node-level de-identified fields, indicating sensitive information fields that need to be hidden or de-identified in a specific approval node. Similar to the first sensitive data in the template attributes, its scope is limited to a single approval node. For example, in an approval node involving salary adjustments, an employee's current salary might be set as second sensitive data. Approval result visibility defines which roles or personnel can see the approval result of this node. For example, approval opinions in some nodes might only be visible to subsequent approvers, but not to the applicant. The second visible control identifier identifies which controls in the business form are visible in this approval node, i.e., which information can be directly viewed by the current approver. This helps control the scope of information exposure during the approval process. The second editable business data clarifies which data in the business form can be edited or modified by the current approver at this approval node. For example, at some approval nodes, the approver may need to adjust certain business data based on previous approval comments or actual circumstances. The approval position information clarifies the position or role of the approver corresponding to this approval node, ensuring that approval tasks are accurately assigned to personnel with the appropriate permissions. By reading these node attributes, the system can precisely control the behavior of each approval node, ensuring the compliance and security of the approval process. For example, in the salary adjustment approval process, salary adjustments for ordinary employees may only require approval from the department manager, while salary adjustments for senior executives require dual approval from the HR director and the general manager. By setting different approval position information, the system can automatically send approval tasks to the correct approvers.

[0104] In the specific implementation, if the node attribute of the approval node includes the approver, then the approver of the approval node is directly obtained. If the node attribute of the approval node includes the approval position but not the approver, then the organizational structure database is queried to obtain several candidate users associated with the approval position, and a set of approvers to be selected is constructed. The current status information of each candidate user in the set of approvers to be selected is obtained, including online status, current number of pending tasks, and historical approval efficiency score. An initial screening is performed based on the priority level of each candidate user, and the candidate users with the highest priority level are determined as a subset of high-priority approvers. When there are multiple candidate users in the subset of high-priority approvers, the candidates are compared. The system selects the user with the fewest pending tasks and identifies the candidate user with the fewest pending tasks as the load-balanced preferred approver. When the number of pending tasks is the same, the system compares the online status of each candidate user and prioritizes the candidate user who is currently online as the approver. When the online status is the same, the system determines the comprehensive matching score based on the historical approval efficiency score of each candidate user and the processing experience of historical forms similar to the current business form. The candidate user with the highest score is selected as the approver, and the approver information for this approval node is generated. The determined approver information is written into the node attributes of the current approval node, the approver information mapping relationship table in the directed acyclic graph approval path is updated, and an approval task notification is sent to the determined approver.

[0105] When manipulating the node attributes of each approval node, users can access a node attribute setting interface by clicking a visual control. This interface contains setting areas for each node attribute. Within each node attribute, the "Second Sensitive Data" field is used to determine data items that cannot be displayed in the business form for that approval node. The "First Sensitive Data" field in the template attributes is effective for all approval nodes under that approval process template, while the "Second Sensitive Data" field is only effective for a single approval node. When both "First Sensitive Data" and "Second Sensitive Data" exist, the data items that need to be hidden for each approval node include: the "First Sensitive Data" and the "Second Sensitive Data" field in its own node attributes. The "Approver" attribute is used to determine the approver for each approval node. If the "Approver" attribute is empty, the approver is determined based on the "Approval Position" attribute.

[0106] When selecting approvers, the system can automatically match the corresponding approvers based on the data in the business form and the corresponding EL expression. For example, taking a business form with a "Qualification Level" field, assuming there are two approvers under the same approval position, and the EL expression corresponding to the approver selection rule for user C sets the value of the "Qualification Level" field to "One Star," while the EL expression corresponding to the approver selection rule for user D sets the value of the "Qualification Level" field to "Two Stars," then when the value of the "Qualification Level" field in the submitted business form is "One Star," user C will be automatically selected as the approver. Different positions can be distinguished and grouped using EL expressions according to business needs. By binding accounts to corresponding positions, approval nodes can be paired according to the position's EL expression during the approval process, enabling dynamic determination and processing of approvers. Subsequent personnel adjustments or the creation of new branches only require configuring position information to quickly determine approvers. This process is dynamic; the approval process only requires specifying the approval position, not the individual. Approval result visibility is used to determine which other approval nodes will see the approval result of the current node.

[0107] The second visible control identifier is used to determine the control components that the approver can manipulate on the displayed interface when the business form is displayed at the current approval node. It should be noted that the "first visible control identifier" in the template attributes is valid for all approval nodes under this approval process template, while the "second visible control identifier" is only valid for a single approval node. When both the first and second visible control identifiers exist, the controls that the approver can manipulate during approval at each approval node are the controls corresponding to the first and second visible control identifiers. For the second editable business data, it is used to determine which business form is displayed to the current approval node. When an approver is in charge, the fields that the approver can edit on the business form are defined as follows: the "first editable business data" in the template attributes is valid for all approval nodes under that approval process template, while the "second editable business data" is only valid for a single approval node. When both first and second editable business data exist, the business data that the approver can edit on the business form during the approval process for each approval node includes both the first and second editable business data. In addition, approval permissions can be pre-configured for each approver, specifying the fields that each approver can edit on the business form, i.e., the third editable business data.

[0108] The node branch execution condition attribute determines the execution conditions that must be met when each subordinate approval node associated with the current approval node is executed. These node branch execution conditions can also be generated using EL expressions. An EL expression associates the node branch execution condition with the value of a specific field in the business form. When the value of this specific field in the business form meets the value set in the node branch execution condition, the business form is transferred to the subordinate approval nodes associated with the current approval node after the current approval node completes its approval process. Similarly, the node execution condition attribute determines the execution conditions that must be met when the current approval node is executed. This node execution condition can also be generated using EL expressions. An EL expression associates the node execution condition with the value of a specific field in the business form. When the value of this specific field in the business form meets the value set in the node execution condition, the current approval node is executed.

[0109] In addition, in a preferred embodiment, the node attributes may also include: node name; associated approval position; custom attributes; whether the node can be deleted, i.e. whether the current node can be deleted from the approval process; whether it is an automatic task, used to configure whether the node is skipped directly; a task generation event class, which automatically executes the business logic of the listener class after the node task is created; and a task completion event class, which automatically executes the business logic of the listener class after the node is completed.

[0110] Step S209: Determine the set of sensitive data fields to be hidden for each approval node based on the first sensitive data and / or the second sensitive data.

[0111] It should be noted that if the template attributes include first sensitive data and the node attributes do not include second sensitive data, then the sensitive data to be hidden for each approval node is generated based on the first sensitive data; if the template attributes do not include first sensitive data and the node attributes include second sensitive data, then the sensitive data to be hidden for each approval node is generated based on the second sensitive data.

[0112] It is understood that this implementation supports priority processing of the merging rules for the first sensitive data, i.e. the globally de-identified field, and the second sensitive data, i.e. the node-level de-identified field: the node-level second sensitive data has higher priority than the global first sensitive data. When the two conflict, the second sensitive data shall prevail, thereby allowing for more refined customization of business scenarios and avoiding the problems of excessive or insufficient hiding caused by the "one-size-fits-all" approach of global rules.

[0113] Specifically, taking procurement application approval as an example, suppose a company's procurement application process includes a business form with fields such as "Application Amount" of 150,000 yuan, "Department" as R&D Department, and "Qualification Level" as Three Stars. The system first queries historical records based on the business type identifier "Procurement Application" and the user identifier of the approval initiator. If an active historical template exists, it is used directly; otherwise, it iterates through the template library. Template A matches "Application Amount ≥ 100,000" (score 0.4), and Template B matches "Department = R&D Department and Qualification Level = Three Stars" (score 0.6 + 0.3 = 0.9). Template B is selected as the target approval process template. Template B is analyzed to determine the approval nodes: Department Manager Approval (node ​​execution condition: Application Amount < 500,000); Chief Financial Officer Approval (node ​​execution condition: Application Amount ≥ 100,000); General Manager Approval (node ​​execution condition: Application Amount ≥ 200,000). Based on the business form data, Department Manager Approval and Chief Financial Officer Approval are valid approval nodes, while General Manager Approval is an invalid approval node. Construct a directed acyclic graph (DAG) approval path: Start Node → Department Manager Approval → Chief Financial Officer Approval → End Node. At the Department Manager Approval node, the sensitive data field set contains "Supplier Bank Account," which is the second most sensitive data. This field value is replaced with an asterisk mask, and a form approval interface is generated and pushed to the Department Manager. At the Chief Financial Officer Approval node, the sensitive data field set is empty, allowing the Chief Financial Officer to view all data. A complete form approval interface is then directly generated and pushed to the Chief Financial Officer.

[0114] Taking expense reimbursement approval as an example, in the expense reimbursement process, the first sensitive data set in the template attribute is "the claimant's bank card number," which is globally hidden. At the first approval node, such as the department manager, the second sensitive data set in the node attribute is "the sensitive customer name in the reimbursement details." At the second approval node, such as the finance specialist, no second sensitive data is set in the node attribute. At the department manager approval node, the sensitive data field set is "the claimant's bank card number" + "the sensitive customer name," i.e., globally and at the node level, both fields are hidden. At the finance specialist approval node, the sensitive data field set is only "the claimant's bank card number," while "the sensitive customer name" is visible to the finance specialist for verifying the authenticity of the transaction.

[0115] In this embodiment, by setting first and second sensitive data in the approval process template and merging them according to the rule that node-level priority is higher than global priority, a set of sensitive data fields to be hidden for each approval node is generated. During the approval process, dynamic data hiding processing is performed on the business form based on the set of sensitive data fields corresponding to the current approval node, realizing context-related control of the approval form content and effectively reducing the risk of unnecessary approvers accessing sensitive business data.

[0116] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the business approval method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.

[0117] This application also provides a business approval device, please refer to... Figure 2 The business approval device includes: The generation module 10 is used to respond to form editing operations applied to the form editing interface and generate a business form containing multiple business data fields, including a business type identifier and an approval initiator user identifier.

[0118] The parsing module 20 is used to obtain the target approval process template based on the business type identifier and the approval initiator user identifier, parse the target approval process template, determine the node attributes of each approval node and the set of sensitive data fields to be hidden, the node attributes include approver information, node execution conditions and node branch execution conditions.

[0119] The judgment module 30 is used to perform condition judgment on the business form based on the node execution conditions and node branch execution conditions, determine the approval node that meets the node execution conditions as a valid approval node, determine the lower-level approval node that meets the node branch execution conditions as a valid branch node, and construct a directed acyclic graph approval path composed of valid approval nodes and valid branch nodes.

[0120] The hiding module 40 is used to determine the approval node to be processed according to the approval path of the directed acyclic graph, and to perform data hiding processing on the corresponding business data fields in the business form according to the set of sensitive data fields corresponding to the approval node to be processed, so as to generate the business form after data hiding.

[0121] Feedback module 50 is used to generate a form approval interface for the business form after the data is hidden, according to the form display type in the template attribute of the target approval process template, and feed it back to the approver of the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the directed acyclic graph approval path have completed the approval.

[0122] The business approval device provided in this application, employing the business approval method described in the above embodiments, can solve the technical problem that existing approval processes lack field-level dynamic permission control, posing a risk of data leakage. Compared with the prior art, the beneficial effects of the business approval device provided in this application are the same as those of the business approval method provided in the above embodiments, and other technical features in the business approval device are the same as those disclosed in the methods of the above embodiments, and will not be elaborated here.

[0123] This application provides a business approval device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to perform the business approval method in Embodiment 1 above.

[0124] The following is for reference. Figure 3 The diagram illustrates a structural schematic suitable for implementing the business approval device in the embodiments of this application. The business approval device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 3 The business approval device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0125] like Figure 3 As shown, the business approval device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in ROM (Read Only Memory) 1002 or a program loaded from storage device 1003 into RAM (Random Access Memory) 1004. RAM 1004 also stores various programs and data required for the operation of the business approval device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via bus 1005. Input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to I / O interface 1006: input devices 1007 including, for example, touch screens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 1008 including, for example, LCDs (Liquid Crystal Displays), speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows the business approval device to communicate wirelessly or wiredly with other devices to exchange data. Although the figure shows business approval devices with various systems, it should be understood that implementation or possession of all the systems shown is not required. More or fewer systems may be implemented alternatively.

[0126] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.

[0127] The business approval device provided in this application, employing the business approval method described in the above embodiments, can solve the technical problem that existing approval processes lack field-level dynamic permission control, posing a risk of data leakage. Compared with the prior art, the beneficial effects of the business approval device provided in this application are the same as those of the business approval method provided in the above embodiments, and other technical features of this business approval device are the same as those disclosed in the previous embodiment method, and will not be repeated here.

[0128] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.

[0129] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0130] This application provides a non-transitory computer-readable storage medium storing a computer program thereon, characterized in that the computer program, when executed by a processor, implements the business approval method as described above.

[0131] The non-transitory computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory or Flash Memory), optical fibers, CD-ROM (CD-Read Only Memory), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.

[0132] The aforementioned non-transitory computer-readable storage medium may be included in the business approval device; or it may exist independently and not be assembled into the business approval device.

[0133] The aforementioned non-transitory computer-readable storage medium carries one or more programs. When these programs are executed by the business approval device, the business approval device: responds to a form editing operation applied to the form editing interface, generates a business form containing multiple business data fields, the business form including a business type identifier and an approval initiator user identifier; obtains a target approval process template based on the business type identifier and the approval initiator user identifier, parses the target approval process template to determine the node attributes of each approval node and the set of sensitive data fields to be hidden, the node attributes including approver information, node execution conditions, and node branch execution conditions; and performs conditional judgment on the business form based on the node execution conditions and node branch execution conditions, and approves nodes that meet the node execution conditions. Once a valid approval node is identified, the lower-level approval nodes that meet the node branch execution conditions are identified as valid branch nodes, and a directed acyclic graph (DAG) approval path is constructed, consisting of valid approval nodes and valid branch nodes. Based on the DAG approval path, pending approval nodes are determined, and the corresponding business data fields in the business form are hidden according to the set of sensitive data fields corresponding to the pending approval nodes, generating a data-hidden business form. The data-hidden business form is then used to generate a form approval interface according to the form display type in the template attributes of the target approval process template and fed back to the approver of the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the DAG approval path have completed their approvals.

[0134] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including LAN (Local Area Network) or WAN (Wide Area Network)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0135] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0136] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.

[0137] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the business approval method described above.

[0138] The computer program product provided in this application can solve the technical problem that existing approval processes lack field-level dynamic access control, posing a risk of data leakage. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the business approval method provided in the above embodiments, and will not be repeated here.

[0139] The above are only some embodiments of this application and do not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.

Claims

1. A business approval method characterized by, The method includes: In response to form editing operations applied to the form editing interface, a business form containing multiple business data fields is generated, including a business type identifier and an approval initiator user identifier; Based on the business type identifier and the user identifier of the approval initiator, the target approval process template is obtained. The target approval process template is parsed to determine the node attributes of each approval node and the set of sensitive data fields to be hidden. The node attributes include approver information, node execution conditions and node branch execution conditions. Based on the node execution conditions and node branch execution conditions, the business form is judged, and the approval nodes that meet the node execution conditions are determined as valid approval nodes, and the lower-level approval nodes that meet the node branch execution conditions are determined as valid branch nodes. A directed acyclic graph approval path composed of valid approval nodes and valid branch nodes is constructed. The approval nodes to be processed are determined according to the approval path of the directed acyclic graph, and the corresponding business data fields in the business form are hidden according to the set of sensitive data fields corresponding to the approval nodes to be processed, so as to generate the business form after data hiding. The business form with the data hidden is used to generate a form approval interface according to the form display type in the template attribute of the target approval process template and is fed back to the approver of the effective approval node. After the approver completes the approval operation, the approval result is transferred to the next effective approval node until all nodes in the directed acyclic graph approval path have completed the approval.

2. The method as described in claim 1, characterized in that, The process involves obtaining the target approval process template based on the business type identifier and the approval initiator user identifier, parsing the target approval process template to determine each approval node, the node attributes of each approval node, and the set of sensitive data fields that need to be hidden for each approval node, including: Based on the business type identifier and the user identifier of the approval initiator, the approval process template library is queried to obtain the target approval process template; The target approval process template is parsed to obtain template attributes, wherein the template attributes include at least one of the following: first sensitive data, form display type, first visible control identifier, first editable business data, and form matching rules; Detect whether the template attribute contains the form matching rule; If the form matching rule is included, then extract the set of EL expressions from the form matching rule; Parse the set of EL expressions, identify the business form field names, comparison operators and threshold values ​​referenced in each EL expression, and generate a rule execution tree structure; According to the rules, the nodes of the tree structure are executed in sequence, and the real-time field values ​​corresponding to each EL expression are extracted from the business form in turn. The real-time field values ​​are compared with the corresponding threshold values ​​to generate the Boolean operation results of each EL expression. According to the rules, the logical combination relationship of the tree structure is executed, and logical AND and logical OR operations are performed on the results of each Boolean operation to obtain the matching result of the form matching rule; When the matching result is true, the approval process template is marked as effective, and the node attributes of each approval node are read from the effective approval process template. The node attributes include at least one of the following: second sensitive data, approval result visibility, second visible control identifier, second editable business data, and approval position information. The set of sensitive data fields that need to be hidden for each approval node is determined based on the first sensitive data and / or the second sensitive data.

3. The method as described in claim 2, characterized in that, The step of querying the approval process template library based on the business type identifier and the approval initiator user identifier to obtain the target approval process template may include: Extract key field data from the business form, including application amount field, department field, qualification level field, and business type identifier field; A business form feature vector is generated based on the key field data. The business form feature vector is then matched with a preset business type database to determine the business category and business subcategory to which the business form belongs. Based on the business category and business sub-category, retrieve the approval process template library to obtain a set of candidate approval process templates associated with the business category and business sub-category; The template usage frequency and historical usage records of each template in the candidate approval process template set are analyzed, and combined with the user identifier of the approval initiator, the usage preference weight of the approval initiator for each candidate approval process template within a preset time period is determined. The candidate approval process template set is sorted according to the usage preference weight, and the candidate approval process template at the preset position in the sorted candidate approval process template set is used as the default recommended approval process template, and the default recommended approval process template is temporarily bound to the business form; The form editing interface displays the template summary information of the default recommended approval process template, responds to the approval initiator's confirmation or switching operation of the default recommended approval process template, and determines the target approval process template.

4. The method as described in claim 2, characterized in that, The step of querying the approval process template library based on the business type identifier and the approval initiator user identifier to obtain the target approval process template may further include: Based on the business type identifier and the approval initiator user identifier, query the approval initiator's historical approval record database to obtain the historical approval process template identifier most recently used by the approval initiator under the same business type; The historical approval process template is read based on the historical approval process template identifier, and the current status of the historical approval process template is detected. When the current state of the historical approval process template is enabled, the historical approval process template is used as the target approval process template. When the current status of the historical approval process template is disabled or there is no historical approval record, traverse all approval process templates to be matched in the approval process template library and extract the form matching rules contained in the template attributes of each approval process template to be matched. For each of the approval process templates to be matched, the corresponding selected business data field values ​​are extracted from the business form according to the selected business data identifier in the form matching rules; The matching score of each approval process template to be matched is determined based on the selected business data field values ​​and the numerical conditions in the form matching rules. The matching score is calculated by weighted summation based on the number of selected business data fields, the preset weight coefficient of each field, and the weighting coefficient of the matching fields. The matching approval process templates are sorted in descending order based on the matching score, and the template with the highest matching score in the sorted list of matching approval process templates is taken as the target approval process template.

5. The method as described in claim 1, characterized in that, The process involves performing conditional judgments on the business form based on the node execution conditions and node branch execution conditions. Approval nodes that meet the node execution conditions are identified as valid approval nodes, and lower-level approval nodes that meet the node branch execution conditions are identified as valid branch nodes. A directed acyclic graph approval path consisting of valid approval nodes and valid branch nodes is constructed, including: Initialize the directed acyclic graph data structure, create a start node and an end node, add all the approval nodes in the target approval process template as intermediate nodes to the directed acyclic graph, and connect the intermediate nodes according to the preset order in the approval process template to obtain the initial directed acyclic graph structure. Traverse each intermediate node in the initial directed acyclic graph structure, extract the real-time value of the field referenced by the EL expression condition from the business form according to the node execution condition corresponding to each intermediate node, and perform a value operation between the real-time value of the field and the threshold in the EL expression condition to obtain the first Boolean value. The node execution condition includes the EL expression condition based on the field value of the business form. If the first Boolean value is true, then mark the current intermediate node as a valid approval node; Based on the node branch execution conditions corresponding to the valid approval node, it is determined whether the business form meets the node branch execution conditions, which include parallel branch conditions and conditional branch conditions; If the parallel branching condition is met, then all subordinate approval nodes of the valid approval node are marked as valid branch nodes; If the aforementioned branch conditions are met, the corresponding branch path is selected based on the condition judgment result, and the selected lower-level approval node is marked as a valid branch node. Construct a directed acyclic graph approval path based on the valid approval nodes and valid branch nodes.

6. The method as described in claim 1, characterized in that, The step of determining the pending approval node based on the directed acyclic graph approval path, and performing data hiding processing on the corresponding business data fields in the business form based on the sensitive data field set corresponding to the pending approval node, to generate a data-hidden business form, includes: The approval nodes to be processed are determined based on the directed acyclic graph approval path, and the set of sensitive data fields corresponding to the approval nodes to be processed is determined. Create a copy of the business form as the form to be processed, traverse each sensitive data field in the set of sensitive data fields, and locate the control identifier or data area coordinates corresponding to the sensitive data field in the form to be processed; Based on the data type and preset hiding strategy of the sensitive data field, select the corresponding data hiding processing method. The data hiding processing method includes: setting the field value to an empty string, replacing the field value with an asterisk mask, setting the corresponding control to an invisible state, or hiding the entire row or entire area containing the sensitive data field. Based on the data hiding processing method and control identifiers or data area coordinates, the sensitive data fields in the form to be processed are hidden to generate a business form with the data hidden.

7. The method as described in claim 1, characterized in that, The business form, after hiding the data, generates a form approval interface according to the form display type in the template attributes of the target approval process template and feeds it back to the approver at the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the directed acyclic graph approval path have completed their approvals, including: Obtain the form display type from the template attributes of the target approval process template. The form display type includes official form and non-official form. Load the corresponding interface rendering template according to the form display type. The field data in the business form after the data is hidden is bound to the corresponding control in the interface rendering template to obtain the interface rendering template after binding. Based on the first visible control identifier and the second visible control identifier, functional button controls that can be operated by the approver are generated in the interface rendering template after binding. The functional button controls include an agree button, a reject button, a transfer button, and a signature button. Based on the visibility settings of the approval results of the effective approval nodes, determine the set of visible approval nodes that can view the approval results, and generate the approval result sharing scope configuration; The bound interface rendering template, function button controls, and approval result sharing scope configuration are combined to generate a form approval interface, which is then pushed to the approver's terminal device at the valid approval node through the front-end rendering engine. In response to the approval operation submitted by the approver on the form approval interface, the corresponding process flow logic is executed according to the approval operation type. The approval result, approval opinion and updated business data fields are encapsulated into an approval result data packet. The approval result data packet is sent to the process engine instance corresponding to the next valid approval node through a message queue mechanism until all nodes in the directed acyclic graph approval path are approved.

8. A business approval device, characterized in that, The business approval device includes: The generation module is used to respond to form editing operations performed on the form editing interface and generate a business form containing multiple business data fields, including a business type identifier and an approval initiator user identifier. The parsing module is used to obtain the target approval process template based on the business type identifier and the approval initiator user identifier, parse the target approval process template, determine the node attributes of each approval node and the set of sensitive data fields to be hidden, the node attributes include approver information, node execution conditions and node branch execution conditions; The judgment module is used to perform condition judgment on the business form based on the node execution conditions and node branch execution conditions, determine the approval node that meets the node execution conditions as a valid approval node, determine the lower-level approval node that meets the node branch execution conditions as a valid branch node, and construct a directed acyclic graph approval path composed of valid approval nodes and valid branch nodes. The hiding module is used to determine the approval node to be processed based on the approval path of the directed acyclic graph, and to perform data hiding processing on the corresponding business data fields in the business form based on the set of sensitive data fields corresponding to the approval node to be processed, so as to generate the business form after data hiding. The feedback module is used to generate a form approval interface for the business form after the data is hidden, according to the form display type in the template attribute of the target approval process template, and to feed it back to the approver of the valid approval node. After the approver completes the approval operation, the approval result is transferred to the next valid approval node until all nodes in the directed acyclic graph approval path have completed the approval.

9. A business approval device, characterized in that, The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the business approval method as described in any one of claims 1 to 7.

10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the business approval method as described in any one of claims 1 to 7.