Examination document data processing method and device, storage medium and equipment

By using the target approval template and time characteristics to divide the automatic approval form sequence, the problem of filtering and screening of automatic data submission is solved, and the efficiency and accuracy of the approval form data processing is improved.

CN120509836APending Publication Date: 2025-08-19TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410183709.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-02-19
Publication Date
2025-08-19

AI Technical Summary

Technical Problem

In the internal approval form data processing of the enterprise, the automatically submitted approval form data lacks specific labeling information, which makes it difficult to filter and screen, affecting the efficiency of the approval form data processing.

Method used

By obtaining the approval form data request instructions, determining the target approval template, and querying the application time of the approval form data under the constraint time, using the time characteristics to divide the automatic approval form sequence, filtering out the automatic approval form data, and obtaining the number of target approval form submitted by employees themselves.

Benefits of technology

It improves the efficiency of approval form data processing, accurately determines the number of approval form submitted by employees themselves, and eliminates data interference from automatic submission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120509836A_ABST
    Figure CN120509836A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an approval list data processing method and device, a storage medium and equipment. The method can be applied to various scenes such as cloud technology, artificial intelligence, intelligent traffic and aided driving, an approval list data request instruction is firstly obtained according to needs, and the approval list data request instruction at least carries constraint time and a target approval template; based on a preset approval list database, approval list data of the target approval template under the constraint time and the first number of the approval list data are determined, and the application time of each piece of approval list data is determined; according to the interval relation between the application time, an automatic approval list sequence is determined from the approval list data, the automatic approval list sequence comprises a second number of pieces of automatic approval list data, and in the automatic approval list sequence, the same application time interval exists between every two adjacent pieces of automatic approval list data; and screening out the second number from the first number to obtain a target approval order number. And the approval sheet data processing efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, apparatus, storage medium and device for processing approval form data. Background Art

[0002] In the daily management of an enterprise, employees will initiate relevant approval requests for work matters. With the development of computer technology and the popularization of office automation (OA) applications, it is now possible to use the approval method of human resources assistant applications to realize the automation and intelligence of the approval process.

[0003] In related technologies, there are various types of approval templates within an enterprise. Different templates correspond to different application scenarios, and employees can submit approval forms based on their permissions. There are a large number of approval templates and approval documents for different scenarios within the enterprise. Whenever you need to query the total number of approval forms and the number of approved approval forms under different approval templates, you generally need to query the approval forms on the management side. During this process, there will be a portion of automatically submitted approval form data. Since this part of the automatically submitted approval form data is not filled out and uploaded by employees, it is often necessary to deduct it when counting the number of documents. However, the automatically submitted approval form data is usually uploaded by internal components. Such documents do not come with specific annotation information, and it is more difficult to filter and screen out this part of the data. Summary of the Invention

[0004] The embodiments of the present application provide an approval form data processing method, apparatus, storage medium, and device, which can efficiently determine the target number of approval forms submitted by employees themselves during the process of processing approval form data, thereby improving the efficiency of approval form data processing.

[0005] To solve the above technical problems, the embodiments of the present application provide the following technical solutions:

[0006] According to one embodiment of the present application, a method for processing approval form data is provided, including:

[0007] Obtaining an approval form data request instruction, wherein the approval form data request instruction carries at least a constraint time and a target approval template;

[0008] Based on a preset approval form database, determining the approval form data of the target approval template under the constraint time and the first number of the approval form data, and determining the application time of each approval form data;

[0009] Determining an automatic approval form sequence from the approval form data according to the interval relationship between the application times, wherein the automatic approval form sequence includes a second number of automatic approval form data, and in the automatic approval form sequence, each two adjacent automatic approval form data have the same application time interval;

[0010] The second number is filtered out from the first number to obtain the target number of approval orders.

[0011] According to one embodiment of the present application, an approval form data processing device is provided, comprising:

[0012] An instruction acquisition unit, configured to acquire an approval form data request instruction, wherein the approval form data request instruction carries at least a constraint time and a target approval template;

[0013] A first number obtaining unit is configured to determine, based on a preset approval form database, approval form data of a target approval template under a time constraint and a first number of the approval form data, and to determine an application time for each piece of the approval form data;

[0014] a second number obtaining unit, configured to determine an automatic approval form sequence from the approval form data according to the interval relationship between the application times, wherein the automatic approval form sequence includes a second number of automatic approval form data, and in the automatic approval form sequence, each two adjacent automatic approval form data have the same application time interval;

[0015] The target number obtaining unit is configured to filter the second number from the first number to obtain a target number of approval orders.

[0016] In some embodiments, the second number obtaining unit is configured to:

[0017] Integrate the application times corresponding to the first number of approval form data to form an application time array; wherein the time interval between each two application times is a first application time interval;

[0018] Determining a time interval value range of the first application time interval from the application time array, and determining a plurality of candidate time intervals from the time interval value range;

[0019] For each candidate time interval, traverse each first application time interval in the application time array to determine a target application time that matches the first application time interval with the candidate time interval;

[0020] The approval form data corresponding to the target application time are integrated to obtain at least one approval sequence, and the approval sequence with the largest sequence number is determined as the automatic approval sequence, and the number of the automatic approval form data in the automatic approval sequence is the second number.

[0021] In some embodiments, the second number obtaining unit is further configured to:

[0022] determining at least two second application times from the application time array based on the first application time interval being the same as the candidate time interval;

[0023] When it is detected that the application times of at least two pieces of approval form data corresponding to the second application time are in an increasing state, the second application time is determined as the target application time.

[0024] In some embodiments, the second number obtaining unit is further configured to:

[0025] Determine a third application time with the largest value and a fourth application time with the smallest value from the application time array;

[0026] determining a difference between the third application time and the fourth application time;

[0027] The time interval value range is determined according to the difference, and a plurality of candidate time intervals are determined from the time interval value range.

[0028] In some embodiments, the second number obtaining unit is further configured to:

[0029] Select multiple positive integers within the numerical range defined by the difference;

[0030] The time interval value range is generated based on the multiple positive integers, and multiple candidate time intervals are determined from the time interval value range.

[0031] In some embodiments, the second number obtaining unit is further configured to:

[0032] selecting a target application time interval from a plurality of said candidate time intervals;

[0033] Based on the target application time interval, traverse each first application time interval in the application time array, calculate the number of application times in the application time array whose first application time interval matches the target application time interval, and obtain a candidate number;

[0034] After traversing the application time array based on the target application time interval, when it is detected that there are still unselected candidate time intervals among the multiple candidate time intervals, obtaining the remaining candidate time intervals as the target application time interval, and returning to execute based on the target application time interval until each of the multiple candidate time intervals is selected, thereby obtaining a plurality of candidate numbers;

[0035] According to each candidate number, a target application time is determined in which the first application time interval matches the corresponding candidate time interval.

[0036] In some embodiments, the second number obtaining unit is further configured to:

[0037] Initialize against a pre-built reference hash table;

[0038] Traversing the application times in the application time array in sequence based on the target application time interval to obtain a calculation result of each traversal;

[0039] When the calculation result is not in the reference hash table, adding the traversed application time to the reference hash table and adding a corresponding counting variable;

[0040] When the calculation result is in the reference hash table, the traversed application time is added to the reference hash table, and the counter variable corresponding to the calculation result is obtained and updated, and the updated counter variable is added to the reference hash table;

[0041] When all application times in the application time array are traversed, the largest count variable is determined as the candidate number.

[0042] In some embodiments, the second number obtaining unit is further configured to:

[0043] Obtaining the counting variable corresponding to the calculation result, and adding one to the value of the counting variable to obtain the updated counting variable;

[0044] The updated count variable is added to the reference hash table.

[0045] In some embodiments, the apparatus further includes a data status setting unit configured to:

[0046] Determining the second number of automatic approval form data according to the automatic approval sequence;

[0047] The second number of automatic approval form data in the first number of approval form data are set from a readable state to a hidden state to obtain target approval form data.

[0048] In some implementations, the approval form data request instruction further carries an approval template identifier, and the instruction acquisition unit is configured to:

[0049] Obtain the constraint time and the approval template identifier;

[0050] Querying a preset template database to obtain the target approval template that matches the approval template identifier;

[0051] Based on the constraint time and the target approval template, the approval form data request instruction is integrated to obtain.

[0052] In some implementations, the approval form data request instruction further carries a target enterprise identifier that matches the approval template identifier, and the instruction acquisition unit is configured to:

[0053] Based on the target enterprise identifier that matches the approval template identifier, querying the template database to obtain a target approval template list;

[0054] Pull the corresponding target approval template from the target approval template list based on the approval template identifier.

[0055] In some embodiments, the approval form database includes a plurality of reserve document information and the application time corresponding to each of the reserve document information. The first number acquisition unit is used to:

[0056] Determine the target reserve document information of the application time under the constraint time from the approval document database;

[0057] With respect to the target reserve document information, approval form data and a first number of the approval form data are determined from the target reserve document information based on the target approval template, and the application time of each piece of approval form data is determined.

[0058] In some implementations, the first number obtaining unit is further configured to:

[0059] Get the initial extraction position, extraction offset and batch capacity limit;

[0060] extracting the reserve document information under the constraint time from the approval document database based on the extraction location and the batch capacity limit;

[0061] The extraction position is updated according to the extraction offset, and based on the updated extraction position and the batch capacity limit, the execution returns to extracting the reserve document information under the constraint time from the approval form database until the reserve document information corresponding to the constraint time in the approval form database is completely extracted to obtain the target reserve document information.

[0062] In some embodiments, the approval form data request instruction further carries output format information, and the apparatus further includes an approval report generating unit configured to:

[0063] An approval report is generated based on the output format information, the target approval template, and the target number of approval forms.

[0064] In some implementations, the approval report generating unit is further configured to:

[0065] Determine the target approval template type information, approval template identifier, and target approval template creation time corresponding to the target approval template;

[0066] The target approval template type information, the approval template identifier, the target approval template creation time, the first number of approval form data, and the target number of approval forms are integrated based on the output format information to generate the approval report matching the output format information.

[0067] A computer-readable storage medium stores a plurality of instructions, wherein the instructions are suitable for being loaded by a processor to execute the above-mentioned approval form data processing method.

[0068] A computer device includes a memory, a processor, and a computer program stored in the memory and capable of running on the processor. When the processor executes the computer program, the above-mentioned approval form data processing method is implemented.

[0069] A computer program product or computer program includes computer instructions stored in a storage medium. A processor of a computer device reads the computer instructions from the storage medium and executes the computer instructions to implement the above-mentioned approval form data processing method.

[0070] The embodiment of this application first needs to clearly identify the target approval template that meets the approval requirements from the approval form data request instruction, and then query the approval form database to obtain the approval form data that matches this target approval template. Using the application time corresponding to the approval form data under the constraint time as a clue, the time characteristics are used to determine the number of automatic approval form data, and then the number of automatic approval form data is excluded from the number of approval form data. In this way, the target number of approval forms submitted by employees can be efficiently determined during the process of processing the approval form data, thereby improving the efficiency of approval form data processing.

[0071] Other features and advantages of the present application will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present application. The purposes and other advantages of the present application can be achieved and obtained through the structures particularly pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0072] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0073] The accompanying drawings are used to provide a further understanding of the technical solution of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.

[0074] Figure 1 This is a schematic diagram of a system architecture of an embodiment of the present application applied to a method for processing approval form data;

[0075] Figures 2A to 2C This is a schematic diagram of the application of the approval form data processing method in the embodiment of the present application in the scenario of counting the number of approval forms;

[0076] Figure 3 This is a flowchart of a method for processing approval form data according to an embodiment of the present application;

[0077] Figure 4 Shown Figure 3 A specific flow chart of step 310;

[0078] Figure 5A A specific example diagram showing how the template database stores approval template details in one embodiment of the present application is shown;

[0079] Figure 5B A specific example diagram showing the corresponding approval template identifier in one embodiment of the present application is shown;

[0080] Figure 6 Shown Figure 4 A specific flow chart of step 420;

[0081] Figure 7 Another specific example diagram showing how the template database stores approval template details in one embodiment of the present application;

[0082] Figure 8 Shown Figure 3 A specific flow chart of step 320;

[0083] Figure 9 Shown Figure 8 A specific flow chart of step 810;

[0084] 10A to 10C A specific example diagram showing the extraction of reserve document information in batches in one embodiment of the present application is shown;

[0085] Figure 11 Shown Figure 3 A specific flow chart of step 330;

[0086] Figure 12 A specific example diagram of determining the second number in one embodiment of the present application is shown;

[0087] Figure 13 Shown Figure 11 A specific flow chart of step 1120;

[0088] Figure 14 A specific example diagram of determining the value range of a time interval in one embodiment of the present application is shown;

[0089] Figure 15 Shown Figure 13 A specific flow chart of step 1330;

[0090] Figure 16 Another specific example diagram of determining the value range of a time interval in one embodiment of the present application is shown;

[0091] Figure 17 Shown Figure 11 A specific flow chart of step 1130;

[0092] Figure 18 Shown Figure 11 Another specific flow chart of step 1130;

[0093] Figure 19 A specific example diagram of determining the number of candidates in one embodiment of the present application is shown;

[0094] Figure 20 Shown Figure 18 Another specific flow chart of step 1820;

[0095] Figure 21A A specific example diagram showing field settings for an application time array in one embodiment of the present application is shown;

[0096] Figure 21B A specific example diagram of initializing a pre-built reference hash table in one embodiment of the present application is shown;

[0097] Figures 22A to 22E A specific example diagram of traversing an application time array based on a target application time interval in one embodiment of the present application is shown;

[0098] Figure 23 Shown Figure 3 A specific flow chart of step 330;

[0099] Figure 24 A specific flow chart of determining an automatic approval order sequence from approval order data in one embodiment of the present application is shown;

[0100] Figure 25 A specific flow chart of generating an approval report in one embodiment of the present application is shown;

[0101] Figure 26 A diagram showing an example file format of an approval report in one embodiment of the present application is shown;

[0102] Figure 27 Another example diagram of the file format of the approval report in one embodiment of the present application is shown;

[0103] Figure 28 A schematic diagram showing a timing diagram of an approval form data processing system executing an approval form data processing method in one embodiment of the present application is shown;

[0104] Figure 29 This is a module diagram of an approval form data processing device according to one embodiment of the present application;

[0105] Figure 30 According to the embodiment of the present application Figure 3 The terminal structure diagram of the approval form data processing method shown;

[0106] Figure 31 According to the embodiment of the present application Figure 3 The server structure diagram of the approval form data processing method shown. DETAILED DESCRIPTION

[0107] In order to enable those skilled in the art to better understand the solutions of this application, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without making any creative efforts shall fall within the scope of protection of this application.

[0108] It is understandable that in the specific implementation of this application, related data such as corporate identification and administrator identification are involved. When the above embodiments of this application are applied to specific products or technologies, it is necessary to obtain the object's permission or consent, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards.

[0109] In addition, when the embodiment of the present application needs to obtain relevant data such as the enterprise identification and administrator identification, it will obtain separate permission or separate consent for the relevant data such as the enterprise identification and administrator identification through a pop-up window or jumping to a confirmation page. After clearly obtaining the separate permission or separate consent for the relevant data such as the enterprise identification and administrator identification, the necessary enterprise identification and administrator identification and other relevant data for the normal operation of the embodiment of the present application will be obtained.

[0110] It should be noted that some processes described in the specification, claims, and figures above include multiple steps that appear in a specific order. However, it should be understood that these steps may be executed in a different order than the order in which they appear herein or in parallel. The step numbers are used solely to distinguish between the different steps and do not themselves represent any order of execution. Furthermore, terms such as "first," "second," or "target" are used herein to distinguish similar objects and are not necessarily used to describe a specific order or precedence.

[0111] Before further explaining the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations:

[0112] The approval template is a virtual entity, which is created by computer software with pre-determined text, layout, and format according to needs, and is made into a fixed style. With this fixed style, you only need to enter information according to the requirements. This fixed style is called an approval template. In the application embodiment, the approval template is a fixed approval style for enterprise approval, such as the approval style for joining, regularization, transfer and resignation. Each approval style is an approval template, and the approval template contains corresponding control sets and processes to realize the corresponding automated office functions.

[0113] At present, in the daily affairs management of enterprises, employees will initiate relevant approval requests for work affairs. With the development of computer technology and the popularization of office automation (OA) applications, it is now possible to use the approval method of human resources assistant applications to realize the automation and intelligence of the approval process.

[0114] In the related art, there are various types of approval templates within an enterprise. Different templates correspond to different application scenarios, and employees can submit approval forms according to their permissions. There are a large number of approval templates and approval documents for different scenarios within the enterprise. Whenever there is a need to query the total number of approval forms and the number of approved approval forms under different approval templates, it is generally necessary to query the approval forms on the management side. During this process, there will be a portion of automatically submitted approval form data. Since this part of the automatically submitted approval form data is not filled out and uploaded by employees, it is often necessary to deduct it when counting the number of documents. However, the automatically submitted approval form data is usually uploaded by internal components. The internal components can automatically verify whether the approval function continues to operate normally by automatically submitting the approval form data. Since such documents do not come with specific annotation information and the storage locations are relatively messy, it is more difficult to filter and screen out this part of the approval form data.

[0115] To address the aforementioned issues, the present embodiment proposes a method for processing approval form data. This method requires first specifying a target approval template that meets the approval requirements through an approval form data request instruction. The method then searches the approval form database for approval form data that matches this target approval template. The method then uses the application time corresponding to the approval form data under the time constraint as a clue, utilizes the time characteristic to determine the number of automatic approval form data, and then excludes the number of automatic approval form data from the number of approval form data. This method allows the method to efficiently determine the target number of approval forms submitted by employees themselves during the process of processing approval form data. Please refer to the following specific embodiments for details.

[0116] See also Figure 1 , Figure 1 1 is a schematic diagram of a scenario of an approval form data processing system provided in an embodiment of the present application, which includes a terminal 140, the Internet 130, a gateway 120, a server 110, and the like.

[0117] Terminal 140 includes, but is not limited to, mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals, aircraft, and the like. Furthermore, it can be a single device or a collection of multiple devices. Terminal 140 can communicate with Internet 130 via wired or wireless means to exchange data.

[0118] Server 110 is a computer system that provides certain services to terminal 140. Compared to ordinary terminal 140, server 110 has higher requirements in terms of stability, security, and performance. Server 110 can be a high-performance computer in a network platform, a cluster of multiple high-performance computers, a portion of a high-performance computer (such as a virtual machine), or a combination of portions of multiple high-performance computers (such as virtual machines).

[0119] Gateway 120, also known as a gateway or protocol converter, implements network interconnection at the transport layer and is a computer system or device that performs a conversion function. It acts as a translator between two systems using different communication protocols, data formats, languages, or even completely different architectures. Gateways can also provide filtering and security functions. Messages sent from terminal 140 to server 110 are sent through gateway 120 to the corresponding server 110. Messages sent from server 110 to terminal 140 are also sent through gateway 120 to the corresponding terminal 140.

[0120] The approval form data processing method of the embodiment of the present application can be implemented on the server 110 .

[0121] When the approval form data processing method is implemented on the server 110, it is necessary to first obtain an approval form data request instruction for reflecting the approval requirements of the target object in the server 110, and then perform data parsing based on the approval form data request instruction to obtain document constraint information and a target approval template; further, according to the document constraint information and the target approval template, the number of approval form data is queried from the preset approval form database as a first number, and the application time corresponding to each approval form data is determined; further, an automatic approval sequence is divided from the first number of approval form data, and the number of automatic approval form data contained in the automatic approval sequence is determined as a second number; in the automatic approval sequence, the application times corresponding to each two adjacent automatic approval form data have a consistent application time interval; finally, the second number corresponding to the automatic approval form data is filtered out from the first number corresponding to the approval form data to obtain the target number of approval forms.

[0122] The embodiments of the present application can be applied in various scenarios, such as Figures 2A to 2C The scenario of the approval form data processing method shown in the figure. As the target object of the enterprise manager, in order to count the approval forms submitted by the internal employees of the enterprise in various scenarios, it is necessary to filter out the automatically submitted documents without markings during the counting of the number of approval forms. Therefore, the target object needs to be filtered out through Figure 2A The interface shown is used to generate an approval form data request instruction to reflect the approval requirements of the target object. Figure 2A It is clarified that the target object can generate an approval form data request instruction through the terminal 140.

[0123] It should be pointed out that the target database is the approval form database, which means that the approval form data needs to be queried in the preset approval form database.

[0124] It should be noted that document constraint information is used to define the query scope, which can include the "Approval Document Subordinate Enterprise" field, the "Approval Document Template" field, and the "Document Submission Time" field. Among them, the "Approval Document Subordinate Enterprise" field can guide the target object to fill in the target enterprise ID ( Figure 2A Enterprise ID XX) to clarify that the approval form data needs to be from the target enterprise ID ( Figure 2A The enterprise ID XX) corresponds to the enterprise in the data stored in the approval form database; the "Approval Document Template" field can guide the target object to fill in the approval template ID ( Figure 2A Template ID XXXX) to make it clear that the approval form data needs to match the approval template ID ( Figure 2A The approval template identified by the template identifier (XXXX) in the "Document Submission Time" field allows the target user to enter a time constraint, ensuring that the submission time of the queried approval document data falls within the time range corresponding to the constraint. It should be understood that document constraint information can be of various types, including but not limited to the specific examples listed above.

[0125] It should be pointed out that the approval information feedback field is used to limit the approval information that needs to be retrieved after the approval form is queried, and may include a "template type" field, a "template identification" field, a "template creation time" field, a "number of documents initially checked" field, and a "number of documents screened" field. Among them, the "template type" field is used to retrieve the type of the approval template corresponding to the approval form after the query, the "template identification" field is used to retrieve the identification of the approval template corresponding to the approval form after the query, the "template creation time" field is used to retrieve the creation time of the approval template corresponding to the approval form after the query, the "number of documents initially checked" field is used to retrieve the number of documents queried before filtering out the automatically submitted documents without markings, and the "number of documents screened" field is used to retrieve the number of documents queried after filtering out the automatically submitted documents without markings. It should be understood that there are many types of approval information feedback fields, which may include but are not limited to the specific embodiments listed above.

[0126] Figure 2B Shows a setting method for the "Template Type" field. The "Template Type" field is used to call out the type of approval template corresponding to the approval form after query. Figure 2BIn the , the types of approval templates that can be set may include leave and attendance templates, personnel templates, administrative templates and other types of templates. Among them, the category of leave and attendance templates can specifically include leave templates, business trip templates, out-of-office templates and overtime templates; the category of personnel templates can specifically include onboarding templates, regularization templates, job transfer templates, resignation templates, employee promotion templates, performance templates, recruitment demand templates, and training application templates; the category of administrative templates can specifically include conference room reservation templates, item collection templates, item repair templates, seal templates, car templates, document circulation templates and general approval templates. In addition, if the template type required to be set for the target object is not covered by the preset template type, the required template format can also be customized through the "Add Template" control. It should be understood that there are many ways to select the target approval template type, which can include, but not be limited to, the specific embodiments listed above.

[0127] After the document constraint information is filled in by the target object and the approval information feedback field is selected by the target object, the approval form data request instruction reflecting the approval requirements of the target object can be generated through the "Start Search" button control.

[0128] In server 110, it is necessary to first obtain an approval form data request instruction reflecting the approval requirements of the target object. Then, based on a preset approval form database, the approval form data of the target approval template under the constraint time and the first number of approval form data are determined, and the application time of each approval form data is determined. Furthermore, based on the constraint time and the target approval template, the number of approval form data obtained from the preset approval form database is the first number, and the application time corresponding to each approval form data is determined. Furthermore, an automatic approval sequence is divided from the first number of approval form data, and the number of automatic approval form data included in the automatic approval sequence is determined as the second number. In the automatic approval sequence, the application time interval between each two adjacent automatic approval form data is consistent. Finally, the second number of automatic approval form data is filtered out from the first number of approval form data to obtain the target number of approval forms. In addition, the target approval template type information corresponding to the "Template Type" field can be retrieved, the approval template identifier corresponding to the "Template Identifier" field can be retrieved, and the target approval template creation time corresponding to the "Template Creation Time" field can be retrieved.

[0129] Reference Figure 2C, the type of approval template corresponding to the approval form, that is, the Class A template is determined; the identifier of the approval template corresponding to the approval form, that is, the template identifier XXXX is determined; the creation time of the approval template corresponding to the approval form, that is, 20XX:XX:XX is determined; the number of documents queried before filtering out the automatically submitted documents without markings, that is, the first number is determined; the number of documents queried after filtering out the automatically submitted documents without markings, that is, the second number is determined. On this basis, the embodiment of the present application can generate an approval report and feed it back to the terminal 140 of the target object. In this way, the target number of approval forms submitted by employees themselves can be efficiently determined in the process of processing the approval form data.

[0130] It should be noted that Figures 2A to 2C The scenario diagram of the approval form data processing method shown is only an example. The approval form data processing method and scenario described in the embodiment of this application are intended to more clearly illustrate the technical solution of the embodiment of this application, and do not constitute a limitation on the technical solution provided by the embodiment of this application. Ordinary technicians in this field can know that with the evolution of approval form data processing and the emergence of new business scenarios, the technical solution provided by the embodiment of this application is also applicable to similar technical problems.

[0131] In this embodiment, the description will be made from the perspective of an approval form data processing device. The approval form data processing device can be specifically integrated into a computer device with a storage unit and a microprocessor installed and having computing capabilities. The computer device can be a server. In this embodiment, the computer device is described as a server.

[0132] Reference Figure 3 , Figure 3 3. This is a flow chart of the approval form data processing method provided in the embodiment of the present application. The approval form data processing method 300 may include, but is not limited to, the following steps 310 to 340.

[0133] Step 310: Acquire an approval form data request instruction, which at least carries a constraint time and a target approval template.

[0134] Step 320: Based on a preset approval form database, determine the approval form data and the first number of approval form data for the target approval template under the time constraint, and determine the application time of each approval form data;

[0135] Step 330: Determine an automatic approval form sequence from the approval form data based on the interval relationship between the application times. The automatic approval form sequence includes a second number of automatic approval form data. In the automatic approval form sequence, each two adjacent automatic approval form data have the same application time interval.

[0136] Step 340: Filter the second number from the first number to obtain the target number of approval orders.

[0137] Steps 310 to 340 are described in detail below.

[0138] In some embodiments, step 310 involves obtaining an approval form data request instruction. The approval form data request instruction carries at least a constraint time and a target approval template. It should be noted that the approval form data request instruction refers to data used to reflect the approval requirements of the target subject. The target subject may be an enterprise manager who manages document approvals within an enterprise. Approvals in different contexts may have different approval requirements, and these approval requirement constraints can be reflected in the approval form data request instruction.

[0139] It should be clarified that the approval form data request instruction can specifically include a constraint time and a target approval template. Only after data parsing the approval form data request instruction can the corresponding constraint time and target approval template be extracted. It should be noted that the constraint time is used to determine the target time interval corresponding to the approval form query, so that the required approval form data stored in the approval form database within the target time interval can be retrieved. The target approval template is a template that meets the approval requirements. Since enterprises may have different approval requirements in different situations, the target approval template corresponds one-to-one with the approval requirements in the corresponding situation.

[0140] In some specific embodiments, the constraint time and target approval template can be derived from document constraint information. It should be noted that document constraint information is used to define the query scope when querying approval documents. Once the document constraint information is clear, queries on approval documents will be conducted within the query scope defined by the document constraint information.

[0141] In some more specific embodiments, the document constraint information may include an "Approval Document Affiliated Enterprise" field, an "Approval Document Template" field, and a "Document Submission Time" field. The "Approval Document Affiliated Enterprise" field can instruct the target user to enter the target enterprise ID, thereby specifying that the approval document data must be retrieved from the data stored in the approval document database by the enterprise corresponding to the target enterprise ID; the "Approval Document Template" field can instruct the target user to enter the target approval template, thereby specifying that the approval document data must match the approval template disclosed by the target approval template; and the "Document Submission Time" field can instruct the target user to enter a constraint time, thereby specifying that the submission time of the retrieved approval document data must fall within the time range corresponding to the constraint time.

[0142] It should be understood that there are various types of document constraint information, including but not limited to the specific embodiments listed above.

[0143] In some embodiments, step 320 determines, based on a preset approval form database, the approval form data for the target approval template within the time constraint and the first number of approval form data, and determines the application time for each piece of approval form data. It should be noted that, in embodiments of the present application, after the time constraint and the target approval template are determined, the target approval template can be searched for approval form data matching the target approval template within the target time interval corresponding to the time constraint. Since the target approval template is a template that meets the approval requirements, the approval form data is also the approval form data submitted and reported in accordance with the target approval template. It should be clarified that the first number is the number of approval form data retrieved from the approval form database. It should be noted that some of the first number of approval form data may be automatically submitted. Since this automatically submitted approval form data is not submitted by employees, it is often necessary to deduct it when counting the number of documents. However, automatically submitted approval form data is typically uploaded by internal components and does not include specific annotation information, making filtering and removing this data more difficult. Therefore, in order to determine which part of the approval form data is the automatically submitted document in the subsequent steps, it is necessary to first determine the approval form data and the first number of approval form data under the constraint time of the target approval template, and determine the application time of each approval form data.

[0144] In step 330 of some embodiments, based on the interval relationship between application times, an automatic approval form sequence is determined from the approval form data. The automatic approval form sequence includes a second number of automatic approval form data. In the automatic approval form sequence, each two adjacent automatic approval form data have the same application time interval. It should be noted that in order to find out the automatically submitted approval forms among the numerous application forms under each approval template, calculations can be made based on the time characteristics of the application forms. Automatically submitted approval application forms have a characteristic: they are automatically submitted at fixed intervals. Based on this, the embodiment of the present application divides the automatic approval sequence from the first number of approval form data according to this characteristic. It should be clarified that in the automatic approval sequence, each two adjacent automatic approval form data have a consistent application time interval between their corresponding application times. In this way, the second number can be obtained by counting the automatic approval form data contained in the automatic approval sequence.

[0145] In step 340 of some embodiments, the second number is filtered out from the first number to obtain the target number of approval forms. It should be noted that the target number of approval forms is the number of approval forms submitted by employees themselves within the first number of approval form data. Only after it is determined that the automatic approval form data included in the first number of approval form data is the second number can the target number of approval forms be calculated based on the first and second numbers. In this way, the target number of approval forms submitted by employees themselves can be efficiently determined during the processing of the approval form data. Please refer to the following specific embodiments for details.

[0146] In the embodiment of the present application shown through steps 310 to 340, it is necessary to first clearly identify the target approval template that meets the approval requirements from the approval form data request instruction, then query the approval form database to obtain approval form data that matches this target approval template, use the application time corresponding to the approval form data under the time constraint as a clue, and use the time characteristic to determine the number of automatic approval form data. Then, the number of automatic approval form data is excluded from the number of approval form data. In this way, the target number of approval forms submitted by employees can be efficiently determined during the process of processing the approval form data. Please refer to the following specific embodiment for details.

[0147] Step 310 is described in further detail below.

[0148] Reference Figure 4 According to some embodiments provided by the present application, the approval form data request instruction also carries an approval template identifier. Step 310 of obtaining the approval form data request instruction may include, but is not limited to, the following steps 410 to 430.

[0149] Step 410: Obtain constraint time and approval template identifier;

[0150] Step 420: Query and obtain a target approval template that matches the approval template identifier from a preset template database;

[0151] Step 430: Based on the constraint time and the target approval template, an approval form data request instruction is integrated.

[0152] Steps 410 to 430 are described in detail below.

[0153] In some embodiments, step 410 obtains the constraint time and the approval template identifier. It should be noted that the approval template identifier is used to identify the approval template that needs to be matched by the approval form data to be queried. The approval template identifier can be expressed as template_id or a specific approval template name.

[0154] In step 420 of some embodiments, a target approval template matching the approval template identifier is retrieved from a preset template database. It should be noted that the preset template database refers to a pre-set database used to store various approval template details within the enterprise. These approval template details may include various types of fields, such as the approval template identifier, creator name, creator identifier, template configuration information, and template content information. The creator name refers to the name of the creator of the corresponding approval template, the creator identifier refers to the identity identifier of the creator of the corresponding approval template, the template configuration information is used to reflect the relevant configuration of the corresponding approval template, and the template content information is used to reflect the specific content of the corresponding approval template.

[0155] In some embodiments, step 430 integrates the constraint time and the target approval template to obtain an approval form data request instruction. It should be noted that the constraint time and the target approval template can only be integrated to obtain the approval form data request instruction after obtaining the constraint time and using the approval template identifier to query the template database to obtain a target approval template that matches the approval template identifier.

[0156] In the embodiment of the present application illustrated by steps 410 to 430, the constraint time and approval template identifier are obtained, and a target approval template matching the approval template identifier is retrieved from a preset template database. Furthermore, based on the constraint time and target approval template, an approval form data request instruction is integrated. Thus, using the approval template identifier as an index for querying approval form data facilitates efficient retrieval of the corresponding target approval template in the template database.

[0157] Reference Figure 5A In some more specific embodiments, the template database can store the approval template details by Figure 5A The schematic diagram in . Figure 5A The figure shows multiple approval template details stored in the template database, where each approval template detail storage contains M field types; field types may include, but are not limited to: approval template identifier, creator name, creator identifier, template configuration information, template content information, etc. It should be noted that Figure 5A The first approval template details stored in the template database have an approval template identifier corresponding to A, which is represented by template_id=A; Figure 5A The approval template identifier corresponding to the last approval template detail stored in the template database is specifically N, represented as template_id = N. It should be understood that there are various embodiments for storing approval template details in the template database, which may include, but not be limited to, the specific embodiments listed above.

[0158] Reference Figure 5B In some more specific embodiments of the present application, the approval template identifier may be the approval template name corresponding to each approval template to be queried. When the approval form data request instruction carries the approval template names of multiple approval templates, these approval template names may be integrated into a template name data packet. For example, referring to Figure 5B The template name data package shown may include approval template names such as "Api Test," "123," "Hahaha," "Unnamed Template," "My Reimbursement," "Cancel Application," "Shift Transfer," "Resignation (provided by the HR Assistant)," "Job Transfer," and "Regularization (provided by the HR Assistant)." It should be noted that the types of approval template names are diverse and not limited to the examples above.

[0159] Reference Figure 6 According to some embodiments provided herein, the approval form data request instruction also carries a target enterprise identifier that matches the approval template identifier. Step 420 retrieves the target approval template that matches the approval template identifier from a preset template database, which may include, but is not limited to, steps 610 to 620 described below.

[0160] Step 610: Based on the target enterprise identifier that matches the approval template identifier, query the template database to obtain a target approval template list;

[0161] Step 620: Pull the corresponding target approval template from the target approval template list based on the approval template identifier.

[0162] It's important to note that different companies' approval processes may follow different standards. Therefore, even for the same approval scenario, different companies may have different approval templates stored in their template databases. Consequently, determining the target approval template before querying approval form data may be inefficient.

[0163] Steps 610 to 620 are described in detail below.

[0164] In step 610 of some embodiments, based on the target enterprise identifier that matches the approval template identifier, a target approval template list is queried in the template database. It should be noted that the approval processes of different enterprises may follow different approval specifications, and the enterprise identifier is used to identify the enterprise that established the approval template. Based on this, in the process of storing the approval template details in the template database, the corresponding approval templates can be stored for different enterprises based on the enterprise identifier as a grouping basis, and multiple approval templates corresponding to one enterprise can be stored in the same approval template list. In this way, in the process of querying and obtaining the target approval template from the template database, the approval template identifier can be first obtained by extracting data from the approval form data request instruction, and then based on the target enterprise identifier attached to the approval template identifier, the target approval template list belonging to the target enterprise can be further queried from the template database.

[0165] In some embodiments, step 620 involves pulling the corresponding target approval template from the target approval template list based on the approval template identifier. It should be noted that the target enterprise identifier and the approval template identifier play different roles in the process of querying the target approval template. The target enterprise identifier is used to determine the approval template list as a search scope in the template database, while the approval template identifier can further query and pull the corresponding target approval template from the approval template list to determine the target enterprise's data associated with the target approval template stored in the template database.

[0166] In the embodiment of the present application illustrated by steps 610 to 620, based on the target enterprise identifier that matches the approval template identifier, a target approval template list is retrieved from the template database. Then, based on the approval template identifier, the corresponding target approval template is pulled from the target approval template list. In this way, the target approval template that is suitable for the approval needs of different enterprises in different approval scenarios can be flexibly pulled, thereby further improving the efficiency of determining the target approval template.

[0167] Reference Figure 7 In some more specific embodiments, the template database can store the approval template details by Figure 7 The schematic diagram in . Figure 7 The template database shows how to store approval template details. First, the approval template details are stored in a table, and then the corresponding query key (key) is configured for the table. By configuring the query key as the approval template ID (key: template_id), a mapping corresponding to the approval template ID is established for the table. In addition, Figure 7 The template database also includes an approval template list storage, where the description information corresponding to each approval template is stored in a group in the approval template list. Specifically, Figure 7 The descriptive information contained in each approval template may include, but is not limited to, fields such as the approval template identifier, approval template name, and approval template status. It should be noted that the group storing the approval template description information includes the approval template identifier, which is configured as a query key for the approval template details storage. Therefore, the corresponding approval template details can be pulled from the specific approval template details storage through the approval template identifier in the approval template description information. It should be noted that the hierarchical storage method can clarify the query path, reduce the traversal of unnecessary data within the query scope, and further improve the efficiency of determining the target approval template. It should be understood that there are many different embodiments for storing approval template details in the template database, which may include, but are not limited to, the specific embodiments listed above.

[0168] Step 320 is described in further detail below.

[0169] Reference Figure 8 According to some embodiments provided herein, the approval form database includes multiple reserve document information and the application time corresponding to each reserve document information. Step 320, based on the preset approval form database, determines the approval form data and the first number of approval form data items under the time constraint for the target approval template, and determines the application time for each piece of approval form data. This may include, but is not limited to, steps 810 to 820 described below.

[0170] Step 810: Determine the target reserve document information with the application time within the constraint time from the approval document database;

[0171] Step 820 : for the target reserve document information, determine the approval form data and the first number of the approval form data from the target reserve document information based on the target approval template, and determine the application time of each approval form data.

[0172] Steps 810 to 820 are described in detail below.

[0173] In some embodiments, step 810 involves determining, from the approval document database, target reserve document information whose application time falls within a time constraint. It should be noted that the time constraint is used to specify the time range within which the retrieved approval document data must fall. Therefore, it is necessary to determine, from the application time corresponding to each reserve document information, which reserve document information has an application time that meets the time constraint, thereby obtaining the target reserve document information whose application time falls within the time constraint.

[0174] In some specific embodiments, a filter can be configured with a filter time interval [begintime, endtime] based on the time constraint, where begintime is the start time of the constraint and endtime is the end time of the constraint. In this way, by configuring the filter with the filter time interval [begintime, endtime], target reserve document information with application times within the time constraint can be determined from the approval document database.

[0175] In step 820 of some embodiments, for the target reserve document information, based on the target approval template, the target reserve document information is used to determine the approval form data and a first number of the approval form data, and the application time of each piece of approval form data. It should be noted that after clarifying the target reserve document information whose application time falls within the time constraint, it is necessary to further clarify which portion of the target reserve document information is submitted according to the target approval template, and to determine the reserve document information submitted according to the target approval template within the time constraint as the approval form data. The number of reserve document information submitted according to the target approval template within the time constraint is the first number, and the application time corresponding to the reserve document information is also the time of the approval form data.

[0176] In the embodiment of the present application, illustrated through steps 810 to 820, target reserve document information with an application time within a time constraint is first determined from the approval document database. Then, based on the target approval template, approval document data and a first number of approval document data are determined from the target reserve document information, and the application time of each piece of approval document data is determined. By first filtering out approval document data within the time constraint based on the application time corresponding to the reserve document information, and then using the target approval template to identify the approval document data, the first number of approval document data and the application time of each piece of approval document data can be efficiently identified.

[0177] Reference Figure 9 According to some embodiments provided by the present application, step 810 determines the target reserve document information of the application time within the constraint time from the approval document database, which may include, but is not limited to, the following steps 910 to 930.

[0178] Step 910, obtaining the initial extraction position, extraction offset, and batch capacity limit;

[0179] Step 920: extract the reserve document information under the constraint time from the approval document database based on the extraction location and the batch capacity limit;

[0180] Step 930: Update the extraction position according to the extraction offset, and based on the updated extraction position and batch capacity limit, return to execute the extraction of the reserve document information under the constraint time from the approval form database until the reserve document information corresponding to the constraint time in the approval form database is extracted and the target reserve document information is obtained.

[0181] It should be noted that the number of backlog documents within the application time constraint may be in the millions or even tens of millions. Therefore, if you directly query and retrieve them from the approval document database at once, the operation may exceed the limit on the number of documents that can be retrieved from the database, resulting in an error.

[0182] Steps 910 to 930 are described in detail below.

[0183] In some embodiments, step 910 involves obtaining an initial extraction position, an extraction offset, and a batch capacity limit. It should be noted that the initial extraction position is the initial starting point when extracting reserve document information from the approval document database; the extraction offset refers to the amount by which the extraction position is offset between reserve document information after each batch of extraction is completed; and the batch capacity limit refers to the extraction capacity of each batch when extracting reserve document information in batches.

[0184] In step 920 of some embodiments, based on the extraction position and batch capacity limit, the reserve document information under the constraint time is extracted from the approval form database. It should be noted that only after obtaining the initial extraction position, extraction offset, and batch capacity limit can the reserve document information of the application time under the constraint time be further extracted in batches. Specifically, the extraction position is the position that serves as the extraction starting point when extracting the reserve document information from the approval form database. In the process of extracting these reserve document information for each batch, it is necessary to first determine the reserve document information at the extraction position, and then, based on the batch capacity limit, demarcate the reserve document information to be extracted in this batch starting from the reserve document information at the extraction position, thereby performing the extraction.

[0185] In step 930 of some embodiments, the extraction position is updated according to the extraction offset, and based on the updated extraction position and the batch capacity limit, the process returns to extracting the reserve document information under the constraint time from the approval form database until the reserve document information corresponding to the constraint time in the approval form database is completely extracted, thereby obtaining the target reserve document information. After each batch of reserve document information is extracted, the extraction position needs to be updated according to the extraction offset, and based on the updated extraction position and the batch capacity limit, the process returns to extracting the reserve document information under the constraint time from the approval form database. In this way, each batch of reserve document data extracted will be processed within the batch capacity limit. Only when the reserve document information corresponding to the constraint time in the approval form database is completely extracted can the reserve document information with the application time under the constraint time in the approval form database be obtained as the target reserve document information.

[0186] In the embodiment of the present application shown in steps 910 to 930, the initial extraction position, extraction offset, and batch capacity limit are first obtained. Then, based on the extraction position and batch capacity limit, the reserve document information under the constraint time is extracted from the approval form database. The extraction position is updated according to the extraction offset, and based on the updated extraction position and batch capacity limit, the process returns to extract the reserve document information under the constraint time from the approval form database until the reserve document information corresponding to the constraint time in the approval form database is completely extracted, thereby obtaining the target reserve document information. In this way, it is possible to efficiently extract a large number of reserve document information with application times under the constraint time, and reduce the possibility of errors caused by exceeding the extraction quantity limit of the approval form database.

[0187] Reference Figure 10AAccording to some more specific embodiments of the present application, there are a large number of reserve document information within the application time constraint in the approval form database. Based on this, in order to reduce the possibility of errors caused by exceeding the extraction quantity limit of the approval form database, in the process of extracting these reserve document information in each batch, it is necessary to first determine the initial extraction position, and then, based on the reserve document information at the initial extraction position, based on the batch capacity limit, the reserve document information to be extracted in this batch is demarcated from the reserve document information at the extraction position as part of the target reserve document information, that is, Figure 10A Reserve document information 1 to reserve document information 1000 in.

[0188] Reference Figure 10B ,After extracting a batch of reserve document information as the target reserve document ,information, it is necessary to use the extraction offset to update the extraction ,position. The reserve document information at the updated extraction ,position is used as the starting point for the next batch of ,extraction.

[0189] Reference Figure 10C After the extraction position is updated, based on the updated extraction position and batch capacity limit, the reserve document information that needs to be extracted in the next batch is delineated as part of the target reserve document information starting from the reserve document information at the extraction position based on the batch capacity limit.

[0190] according to 10A to 10C The illustrated extraction method extracts reserve document information within a time constraint in batches until all reserve document information corresponding to the time constraint in the approval document database is extracted. Only then can the reserve document information in the approval document database with an application time within the time constraint be obtained as the target reserve document information. This method efficiently extracts a large number of reserve document information with application times within the time constraint, while reducing the possibility of errors caused by exceeding the extraction limit of the approval document database.

[0191] Step 330 is described in further detail below.

[0192] Reference Figure 11 In some embodiments of the present application, step 330 determines the automatic approval order sequence from the approval order data according to the interval relationship between application times, which may include, but is not limited to, the following steps 1110 to 1140.

[0193] Step 1110: Integrate the application times corresponding to the first number of approval form data to form an application time array; wherein the time interval between every two application times is a first application time interval;

[0194] Step 1120: determining a time interval value range of the first application time interval from the application time array, and determining a plurality of candidate time intervals from the time interval value range;

[0195] Step 1130 , for each candidate time interval, traverse each first application time interval in the application time array to determine the target application time of the first application time interval that matches the candidate time interval;

[0196] Step 1140: Integrate the approval form data corresponding to the target application time to obtain at least one approval sequence, and determine the approval sequence with the largest sequence number as the automatic approval sequence. The number of automatic approval form data in the automatic approval sequence is the second number.

[0197] Steps 1110 to 1140 are described in detail below.

[0198] In step 1110 of some embodiments, the application times corresponding to the first number of approval form data are integrated to form an application time array; wherein the time interval between each two application times is the first application time interval. It should be noted that the application time array is an array obtained by integrating the application times corresponding to the first number of approval form data, and the application time array includes the application times corresponding to the first number of approval form data. It should be noted that there will be an application time interval between each two application times in the application time array, which is the first application time interval of the embodiment of the present application. It should be noted that the interval between each two application times can be expressed as a positive value or a negative value in terms of numerical value, so the first application time interval can be a positive value or a negative value.

[0199] In some embodiments, since the timing rule corresponding to application time is generally a positive order timing rule, automatically submitted approval applications are often sorted in ascending order based on application time. Based on this, the corresponding numerical value between each two application times can be expressed as an absolute value to obtain the application time interval.

[0200] In other embodiments, if the timing rule corresponding to the application time is a reverse timing rule, the automatically submitted approval applications may also be sorted in descending order based on the application time. Based on this, the corresponding numerical value between each two application times can be expressed as an absolute value, and the inverse of this value can be further determined as the application time interval.

[0201] It should be understood that there are various ways to express the application time interval, which may include, but not be limited to, the specific embodiments listed above.

[0202] In step 1120 of some embodiments, a time interval value range of the first application time interval is determined from the application time array, and multiple candidate time intervals are determined from the time interval value range. It should be noted that after the first application time interval between every two application times in the application time array is determined, the time interval value range of the first application time interval can be further determined based on the value of the first application time interval, so as to further determine multiple candidate time intervals from the time interval value range.

[0203] It should be understood that if the timing rule corresponding to the application time is a positive timing rule, it means that the automatically submitted approval application forms will be sorted in ascending order based on the application time. Based on this, the time interval value range can be constrained to the positive value range in the process of determining the time interval value range.

[0204] Similarly, if the timing rule corresponding to the application time is a reverse timing rule, it means that the automatically submitted approval application forms will be sorted in descending order based on the application time. Based on this, the time interval value range can be constrained to a negative value range when determining the time interval value range.

[0205] Through the above implementation, the number of candidate time intervals can be reduced, the efficiency of determining the automatic approval sequence can be further improved, and it is helpful to efficiently determine the target number of approval forms submitted by employees themselves.

[0206] In step 1130 of some embodiments, for each candidate time interval, each first application time interval in the application time array is traversed to determine the target application time that the first application time interval matches the candidate time interval. It should be noted that the automatically submitted approval application form has a characteristic: it will be automatically submitted at fixed intervals. Based on this, for each candidate time interval within the time interval value range, each first application time interval in the application time array is traversed to determine the target application time that the first application time interval matches the candidate time interval, in order to determine whether there is a group of application times with a fixed time interval in the first number of application times in the application time array. If there is a group of application times with a fixed time interval in the application time array, it means that the approval form data corresponding to this group of application times may be automatic approval form data.

[0207] In some embodiments, step 1140 integrates the approval form data corresponding to the target application time to obtain at least one approval sequence, and determines the approval sequence with the largest number of sequences as the automatic approval sequence. The number of automatic approval form data in the automatic approval sequence is the second number. It should be noted that only after traversing the application time array based on a candidate time interval can a set of application times with a fixed time interval be obtained. Only by integrating the approval form data corresponding to this set of application times can an approval sequence be obtained. Therefore, only after traversing the application time array for multiple candidate time intervals can at least one approval sequence be obtained. It should be noted that in addition to having a fixed time interval, automatically submitted approval forms based on the same approval template also have another characteristic: the number of automatically submitted approval forms is often greater than that of manually submitted approval forms by employees. Therefore, when the approval form data in an approval sequence have a fixed time interval between application times and its sequence number is the largest in at least one approval sequence, this approval sequence can be determined as automatic approval form data.

[0208] In the embodiment of the present application, illustrated by steps 1110 to 1140, the application times corresponding to a first number of approval form data are first integrated to form an application time array; the time interval between each two application times is a first application time interval. Furthermore, a time interval value range for the first application time interval is determined from the application time array, and multiple candidate time intervals are determined from the time interval value range. For each candidate time interval, each first application time interval in the application time array is traversed to determine a target application time whose first application time interval matches the candidate time interval. The approval form data corresponding to the target application time are integrated to obtain at least one approval sequence. Finally, the approval sequence with the largest number of sequences is determined as the automatic approval sequence. In this way, an automatic approval form sequence can be determined from the approval form data based on two characteristics of automatically submitted approval forms: a fixed time interval and a greater number of approval forms than those manually submitted by employees. This allows for more accurate extraction of automatic approval form data, facilitating efficient determination of the target number of employee-submitted approval forms during the processing of approval form data.

[0209] Reference Figure 12 In some more specific embodiments, if the approval form data whose application time corresponds to the constraint time specifically includes: approval form data A, approval form data B, approval form data C, approval form data D, and approval form data E; among them, the application time corresponding to approval form data A is expressed as 9, the application time corresponding to approval form data B is expressed as 4, the application time corresponding to approval form data C is expressed as 7, the application time corresponding to approval form data D is expressed as 2, and the application time corresponding to approval form data E is expressed as 10. Based on this, it is concluded that Figure 12The application time array in .

[0210] Furthermore, the time interval value range of the first application time interval is determined from the application time array to be [-8, 8]. Based on this, 17 candidate time intervals are determined from the time interval value range [-8, 8], namely -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, and 8.

[0211] Furthermore, for each candidate time interval, each first application time interval in the application time array is traversed to determine the target application time that matches the first application time interval with the candidate time interval, corresponding to the 17 candidate time intervals mentioned above: -8, -7, -6, ..., 6, 7, 8.

[0212] For each candidate time interval, we traverse the application time array to obtain:

[0213] The first application time interval matches the target application time of -8, and its corresponding approval sequence is expressed as: approval sequence (-8);

[0214] The first application time interval matches the target application time of -7, and its corresponding approval sequence is expressed as: approval sequence (-7);

[0215] The first application time interval matches the target application time of -6, and its corresponding approval sequence is expressed as: approval sequence (-6);

[0216] Similarly, the approval sequence (-5), ..., approval sequence (6), approval sequence (7), and approval sequence (8) can also be obtained in the same way as above.

[0217] Furthermore, the approval sequence corresponding to the 17 candidate time intervals is compared in sequence number, thereby determining that the approval sequence with the largest sequence number is the approval sequence (3) = [4, 7, 10] in which the first application time interval matches 3.

[0218] Finally, since the approval data corresponding to application time 4 is B, the approval data corresponding to application time 7 is C, and the approval data corresponding to application time 10 is E, the automatic approval sequence can be expressed as [B, C, E], where the second number of automatic approval data in the automatic approval sequence is specifically 3.

[0219] Reference Figure 13 According to some embodiments provided in the present application, step 1120 determines the time interval value range of the first application time interval from the application time array, and determines multiple candidate time intervals from the time interval value range, which may include, but is not limited to, the following steps 1310 to 1330.

[0220] Step 1310, determining the third application time with the largest value and the fourth application time with the smallest value from the application time array;

[0221] Step 1320, determining the difference between the third application time and the fourth application time;

[0222] Step 1330: Determine a time interval value range based on the difference, and determine a plurality of candidate time intervals from the time interval value range.

[0223] Steps 1310 to 1330 are described in detail below.

[0224] In step 1310 of some embodiments, the third application time with the largest value and the fourth application time with the smallest value are determined from the application time array. It should be noted that the time interval value range is the value range of the candidate time interval, and the candidate time interval is used to define whether there is a fixed first application time interval between every two application times in the application time array. The largest first application time interval between two application times in the application time array is determined by the third application time with the largest value and the fourth application time with the smallest value. Based on this, in order to determine the time interval value range, it is necessary to first determine the third application time with the largest value and the fourth application time with the smallest value from the application time array.

[0225] In some embodiments, step 1320 involves determining the difference between the third application time and the fourth application time. It should be noted that after determining the third application time with the largest value and the fourth application time with the smallest value from the application time array, a difference is calculated between the third application time and the fourth application time to obtain the difference between the third application time and the fourth application time.

[0226] In step 1330 of some embodiments, a time interval value range is determined based on the difference, and multiple candidate time intervals are determined from the time interval value range. It should be noted that by calculating the difference between the third application time and the fourth application time, a time interval value range can be defined based on this difference, and multiple candidate time intervals can be determined from the time interval value range, thereby clarifying the specific optional values of the candidate time intervals.

[0227] In the embodiment of the present application shown in steps 1310 to 1330, the third application time with the largest value and the fourth application time with the smallest value are first determined from the application time array; then the difference between the third application time and the fourth application time is determined; further, the time interval value range is determined based on this difference, and multiple candidate time intervals are determined from the time interval value range.

[0228] In this way, a more reasonable time interval value range can be determined, so that multiple candidate time intervals can be efficiently determined in subsequent steps, so as to further extract automatic approval form data from the approval form data.

[0229] Reference Figure 14 In some more specific embodiments, if the approval form data whose application time corresponds to the constraint time specifically includes: approval form data A, approval form data B, approval form data C, approval form data D, and approval form data E; among them, the application time corresponding to approval form data A is expressed as 9, the application time corresponding to approval form data B is expressed as 4, the application time corresponding to approval form data C is expressed as 7, the application time corresponding to approval form data D is expressed as 2, and the application time corresponding to approval form data E is expressed as 10. Based on this, it is concluded that Figure 14 To determine the time interval range, we first need to identify the third application time 10, which has the largest value, and the fourth application time 2, which has the smallest value, from the application time array. Then, we calculate the difference between the two: 10-2 = 8. Furthermore, the difference of 8 determines the time interval range [-8, 8]. Based on this, multiple candidate time intervals can be selected within the time interval range [-8, 8].

[0230] Reference Figure 15 Step 1330 determines a time interval value range based on the difference, and determines multiple candidate time intervals from the time interval value range, which may include, but is not limited to, the following steps 1510 to 1520.

[0231] Step 1510, selecting multiple positive integers within the numerical range defined by the difference;

[0232] Step 1520: Generate a time interval value range based on multiple positive integers, and determine multiple candidate time intervals from the time interval value range.

[0233] Steps 1510 to 1520 are described in detail below.

[0234] It's important to note that since the timing rules for application times are generally based on a positive order, automatically submitted approval applications are often sorted in ascending order by application time. Therefore, smaller application times corresponding to the automatic approval form data in the application time array are traversed first, while larger times are traversed later. Therefore, when traversing each first application time interval in the application time array for each candidate time interval, only positive time intervals need to be compared.

[0235] In step 1510 of some embodiments, multiple positive integers are selected within the numerical range defined by the difference. It should be noted that in the embodiments of the present application, positive integers need to be selected from the numerical range defined by the difference. The reason is that the automatically submitted approval form data is usually uploaded by an internal component, and the timing for uploading the automatically submitted approval form data needs to be set based on the time unit. Based on this, the application time corresponding to the automatic approval form data is usually a positive integer.

[0236] In some more specific embodiments, the application time in the embodiments of the present application can be a millisecond-level Unix timestamp. Therefore, the timer set when uploading the automatically submitted approval form data can be sent every 1 millisecond, every 2 milliseconds, and so on. It should be noted that using a millisecond-level Unix timestamp for the application time can also effectively distinguish between automatic and manual submissions, because the time intervals for manually submitting approval applications are essentially unlikely to repeat.

[0237] In step 1520 of some embodiments, a time interval value range is generated based on multiple positive integers, and multiple candidate time intervals are determined from the time interval value range. It should be noted that multiple positive integers are selected within the numerical range defined by the difference, and a time interval value range is generated based on the multiple positive integers, thereby determining multiple candidate time intervals from the time interval value range to achieve the selection of candidate time interval values.

[0238] In the embodiment of the present application illustrated by steps 1510 to 1520, multiple positive integers are selected within a numerical range defined by a difference; further, a time interval value range is generated based on the multiple positive integers, and multiple candidate time intervals are determined from the time interval value range. This reduces the number of candidate time intervals, facilitates reasonable and efficient selection of candidate time interval values, and thus efficiently determines the automatic approval form data.

[0239] Reference Figure 16 In some more specific embodiments, if the approval form data whose application time corresponds to the constraint time specifically includes: approval form data A, approval form data B, approval form data C, approval form data D, and approval form data E; among them, the application time corresponding to approval form data A is expressed as 9, the application time corresponding to approval form data B is expressed as 4, the application time corresponding to approval form data C is expressed as 7, the application time corresponding to approval form data D is expressed as 2, and the application time corresponding to approval form data E is expressed as 10. Based on this, it is concluded that Figure 16. To determine the range of time intervals, we first need to identify the third application time 10, which has the largest value, and the fourth application time 2, which has the smallest value, from the application time array. Based on this, we calculate the difference between the two: 10-2 = 8. Furthermore, based on the difference of 8, we can determine the range of values defined by the difference [-8, 8]. Furthermore, within the range of values defined by the difference [-8, 8], we select multiple positive integers, namely 1, 2, 3, 4, 5, 6, 7, 8. Finally, based on these multiple positive integers, we generate the range of time intervals [1, 2, 3, 4, 5, 6, 7, 8]. Then, we determine multiple candidate time intervals from the range of time intervals [1, 2, 3, 4, 5, 6, 7, 8].

[0240] In this way, a more reasonable time interval value range can be determined, so that multiple candidate time intervals can be efficiently determined in subsequent steps, so as to further extract automatic approval form data from the approval form data.

[0241] Reference Figure 17 In some embodiments of the present application, step 1130 determines whether the first application time interval matches the target application time of the candidate time interval, which may include, but is not limited to, the following steps 1710 to 1720.

[0242] Step 1710 , determining at least two second application times from the application time array based on the first application time interval that is the same as the candidate time interval;

[0243] Step 1720: When it is detected that the application times of at least two approval form data corresponding to the second application time are in an increasing state, the second application time is determined as the target application time.

[0244] Steps 1710 to 1720 are described in detail below.

[0245] It should be noted that since the timing rule corresponding to application time is generally a rule of ascending order, the automatically submitted approval applications are often sorted in ascending order based on application time. Based on this feature, the embodiment shown in steps 1710 to 1720 can further improve the efficiency of determining the target application time.

[0246] In step 1710 of some embodiments, based on a first application time interval that is the same as the candidate time interval, at least two second application times are determined from the application time array. It should be noted that the purpose of determining the target application time in the embodiments of the present application is to determine the generation of an approval sequence based on the target application time, and to determine an automatic approval sequence from some approval sequences. Based on this, it is first necessary to find a group of application times with a fixed time interval from the first number of application times. Specifically, since the time interval between every two application times in the application time array is the first application time interval, the embodiments of the present application use the candidate time interval to compare among the numerous first application time intervals. If there are at least two application times whose application time intervals are the same as the candidate time interval, they are determined as the second application times.

[0247] In step 1720 of some embodiments, when it is detected that the application times of at least two pieces of approval form data corresponding to the second application time are in an increasing state, the second application time is determined as the target application time. It should be noted that since automatically submitted approval application forms are often sorted in ascending order by application time, after identifying at least two second application times with the same application time interval as the candidate time interval, it is necessary to check whether these application times are in an increasing state. If it is detected that the application times of at least two pieces of approval form data corresponding to the second application time are in an increasing state, this means that these at least two pieces of approval form data meet the characteristics of automatic approval form data in terms of application time: not only do the application times have a fixed time interval, but these application times are also in an increasing state. Based on this, the second application time can be determined as the target application time. This facilitates the generation of an approval sequence based on the target application time in subsequent steps, and the determination of an automatic approval sequence from among a number of approval sequences.

[0248] In the embodiment of the present application shown in steps 1710 to 1720, based on a first application time interval that is the same as the candidate time interval, at least two second application times are determined from the application time array, and when it is detected that the application times of at least two approval form data corresponding to the second application time are in an increasing state, the second application time is determined as the target application time. In the process of determining the target application time in the embodiment of the present application, the above steps are provided in view of the characteristics that the automatic approval form data has a fixed time interval in the application time and these application times are in an increasing state. In this way, it is helpful to more accurately extract the automatic approval form data and to efficiently determine the target number of approval forms submitted by employees themselves in the process of processing the approval form data.

[0249] Reference Figure 18In some embodiments of the present application, step 1130 traverses each first application time interval in the application time array for each candidate time interval, and determines whether the first application time interval matches the target application time of the candidate time interval, which may include, but is not limited to, the following steps 1810 to 1840.

[0250] Step 1810 , selecting a target application time interval from a plurality of candidate time intervals;

[0251] Step 1820: Based on the target application time interval, traverse each first application time interval in the application time array, calculate the number of application times in the application time array whose first application time interval matches the target application time interval, and obtain the candidate number;

[0252] Step 1830: After traversing the application time array based on the target application time interval, if it is detected that there are still unselected candidate time intervals among the multiple candidate time intervals, the remaining candidate time intervals are obtained as the target application time interval, and the execution returns to the target application time interval until each candidate time interval among the multiple candidate time intervals is selected, thereby obtaining a plurality of candidate numbers.

[0253] Step 1840 : Determine, based on each candidate number, a target application time at which the first application time interval matches the corresponding candidate time interval.

[0254] Steps 1810 to 1840 are described in detail below.

[0255] In some embodiments, step 1810 involves selecting a target application time interval from multiple candidate time intervals. It should be noted that the candidate time intervals are used to determine whether a fixed first application time interval exists between every two application times within the application time array. Therefore, after clarifying the time interval value range and determining multiple candidate time intervals, it is necessary to further utilize the candidate time intervals to find a first application time interval that matches the candidate time interval from the application time array. Therefore, it is necessary to first select a target application time interval from the multiple candidate time intervals.

[0256] In step 1820 of some embodiments, based on the target application time interval, each first application time interval in the application time array is traversed, and the number of application times whose first application time interval in the application time array matches the target application time interval is calculated to obtain the candidate number. It should be noted that, for the target application time interval, each first application time interval in the application time array is traversed, and the number of application times whose first application time interval in the application time array matches the target application time interval is calculated. In this way, it is determined whether there is a group of application times with a fixed time interval in the first number of application times in the application time array. If so, the number of this group of application times is used as the candidate number. It should be clarified that the candidate number is used to represent the number of application times whose first application time interval in the application time array can match the target application time interval.

[0257] In step 1830 of some embodiments, after traversing the application time array based on the target application time interval, if it is detected that there are still unselected candidate time intervals among the multiple candidate time intervals, the remaining candidate time intervals are obtained as the target application time interval, and the process returns to the target application time interval until each candidate time interval in the multiple candidate time intervals is selected, thereby obtaining a plurality of candidate numbers. It should be noted that after selecting a target application time interval from the multiple candidate time intervals, traversing the application time array using this target application time interval, and obtaining a plurality of candidate numbers, the target application time interval needs to be updated. The target application time interval is updated by detecting whether there are still unselected candidate time intervals among the multiple candidate time intervals. If it is detected that there are still unselected candidate time intervals among the multiple candidate time intervals, it means that some candidate time intervals have not yet determined the corresponding candidate numbers. In this case, it is necessary to obtain the remaining candidate time intervals as the target application time interval, and return to the process based on the target application time interval until each candidate time interval in the multiple candidate time intervals is selected, thereby obtaining a plurality of candidate numbers. It should be understood that after each candidate time interval is used as the target application time interval to traverse the application time array, a corresponding candidate number is obtained. Therefore, each candidate time interval in the multiple candidate time intervals has been selected, which means that each candidate time interval has been used as the target application time interval to traverse the application time array. Only on this basis can multiple candidate numbers be obtained, where the candidate numbers and candidate time intervals are in a one-to-one correspondence.

[0258] In some embodiments, step 1840 determines, based on each candidate number, a target application time that matches the first application time interval to the corresponding candidate time interval. It should be noted that there needs to be a fixed time interval between the target application times, and the value of this time interval needs to match one of the multiple candidate time intervals.

[0259] Since the number of candidates and the candidate time intervals are one-to-one corresponding, based on each candidate number, it is possible to determine which application times in the application time array have a matching first application time interval with the candidate time interval, thereby obtaining the target application time.

[0260] It should be noted that if the target application time can be determined, there must be at least one first application time interval between the target application times that matches the candidate time interval. Therefore, there are at least two target application times determined based on the same candidate time interval.

[0261] According to each candidate number, determine the target application time that the first application time interval matches the corresponding candidate time interval, specifically:

[0262] If the candidate number corresponding to the candidate time interval is a value smaller than 2, it means that there is no first application time interval matching the corresponding candidate time interval, and at this time there is no target application time in the application time array.

[0263] If the candidate number corresponding to the candidate time interval is greater than or equal to 2, it means that there is at least one first application time interval that matches the corresponding candidate time interval, and the application time in the application time array linked by this at least one first application time interval can be determined as the target application time.

[0264] It should be understood that, according to each candidate number, determining the target application time that matches the first application time interval to the corresponding candidate time interval may include, but is not limited to, the specific embodiments listed above.

[0265] In the embodiment of the present application shown in steps 1810 to 1840, a value is taken in turn from a plurality of candidate time intervals as the target application time interval, and then for each target application time interval, each first application time interval in the application time array is traversed, and the number of application times in the application time array whose first application time interval matches the target application time interval is calculated to obtain the candidate number. Further, based on each candidate number, the target application time in which the first application time interval matches the corresponding candidate time interval is determined. For each candidate time interval, a comparison of the first application time interval is performed in the application time array. If there is a target application time in which the first application time interval matches a certain candidate time interval, then the approval form data corresponding to these target application times will be extracted in subsequent steps to form an approval sequence, which helps to accurately obtain an automatic approval sequence from a large number of approval form data.

[0266] Reference Figure 19In some more specific embodiments, if the approval form data whose application time corresponds to the constraint time specifically includes: approval form data A, approval form data B, approval form data C, approval form data D, and approval form data E; among them, the application time corresponding to approval form data A is expressed as 9, the application time corresponding to approval form data B is expressed as 4, the application time corresponding to approval form data C is expressed as 7, the application time corresponding to approval form data D is expressed as 2, and the application time corresponding to approval form data E is expressed as 10. Based on this, it is concluded that Figure 19 It should be noted that the multiple candidate time intervals are taken from the time interval value range [1,2,3,4,5,6,7,8].

[0267] Selecting a target application time interval 1 from the plurality of candidate time intervals, traversing each first application time interval in the application time array based on the target application time interval 1, and calculating the number of application times in the application time array whose first application time interval matches the target application time interval to obtain a candidate number 2;

[0268] It is detected that there are still unselected candidate time intervals [2, 3, 4, 5, 6, 7, 8] among the multiple candidate time intervals, and the remaining candidate time interval 2 is obtained as the target application time interval. The process returns to execute based on the target application time interval 2, traverses each first application time interval in the application time array, calculates the number of application times in the application time array whose first application time interval matches the target application time interval, and obtains the candidate number 1;

[0269] It is detected that there are still unselected candidate time intervals [3, 4, 5, 6, 7, 8] among the multiple candidate time intervals, and the remaining candidate time interval 3 is obtained as the target application time interval. The process returns to execute based on the target application time interval 3, traverses each first application time interval in the application time array, calculates the number of application times in the application time array whose first application time interval matches the target application time interval, and obtains the candidate number 3;

[0270] It is detected that there are still unselected candidate time intervals [4, 5, 6, 7, 8] among the multiple candidate time intervals, and the remaining candidate time interval 4 is obtained as the target application time interval. The process returns to execute based on the target application time interval 4, traverses each first application time interval in the application time array, calculates the number of application times in the application time array whose first application time interval matches the target application time interval, and obtains the candidate number 1;

[0271] It is detected that there are still unselected candidate time intervals [5, 6, 7, 8] among the multiple candidate time intervals, and the remaining candidate time interval 5 is obtained as the target application time interval. The process returns to execute based on the target application time interval 5, traverses each first application time interval in the application time array, calculates the number of application times in the application time array whose first application time interval matches the target application time interval, and obtains the candidate number 1;

[0272] It is detected that there are still unselected candidate time intervals [6, 7, 8] among the multiple candidate time intervals, and the remaining candidate time interval 6 is obtained as the target application time interval. The execution is returned based on the target application time interval 6, and each first application time interval in the application time array is traversed. The number of application times in the application time array whose first application time interval matches the target application time interval is calculated, and the candidate number 2 is obtained;

[0273] It is detected that there is still an unselected candidate time interval [7,8] among the multiple candidate time intervals, the remaining candidate time interval 7 is obtained as the target application time interval, and the execution is returned based on the target application time interval 7, each first application time interval in the application time array is traversed, and the number of application times in the application time array whose first application time interval matches the target application time interval is calculated, and the candidate number 1 is obtained;

[0274] It is detected that there are still unselected candidate time intervals [8] in the multiple candidate time intervals, the remaining candidate time interval 8 is obtained as the target application time interval, and the execution is returned based on the target application time interval 8, each first application time interval in the application time array is traversed, and the number of application times in the application time array whose first application time interval matches the target application time interval is calculated to obtain the candidate number 2;

[0275] When each of the multiple candidate time intervals is selected, multiple candidate numbers are obtained.

[0276] Based on each candidate number, determine the target application time that the first application time interval matches the corresponding candidate time interval. If the candidate number corresponding to the candidate time interval is less than 2, it means that there is no first application time interval that matches the corresponding candidate time interval. At this time, there is no target application time in the application time array. Therefore, when the candidate time intervals are 2, 4, 6, and 7, the target application time cannot be obtained. If the candidate number corresponding to the candidate time interval is greater than or equal to 2, it means that there is at least one first application time interval that matches the corresponding candidate time interval. The application time linked by this at least one first application time interval in the application time array can be determined as the target application time. Therefore, when the candidate time interval is 1, the target application times 9 and 10 are obtained. When the candidate time interval is 3, the target application times 4, 7, and 10 are obtained. When the candidate time interval is 6, the target application times 4 and 10 are obtained. When the candidate time interval is 8, the target application times 2 and 10 are obtained.

[0277] It should be understood that for each candidate time interval, there are various implementation methods for traversing each first application time interval in the application time array and determining that the first application time interval matches the target application time of the candidate time interval, which may include, but are not limited to, the specific embodiments listed above.

[0278] Reference Figure 20 In some embodiments of the present application, step 1820 traverses each first application time interval in the application time array based on the target application time interval, calculates the number of application times in the application time array whose first application time interval matches the target application time interval, and obtains the candidate number, which may include, but is not limited to, the following steps 2010 to 2050.

[0279] Step 2010: Initialize the pre-built reference hash table;

[0280] Step 220: traverse the application time in the application time array in sequence based on the target application time interval, and obtain the calculation result of each traversal;

[0281] Step 2030: If the calculation result is not in the reference hash table, add the traversed application time to the reference hash table and add a corresponding count variable;

[0282] Step 2040: When the calculation result is in the reference hash table, the traversed application time is added to the reference hash table, and the counter variable corresponding to the calculation result is obtained and updated, and the updated counter variable is added to the reference hash table;

[0283] Step 2050: When all application times in the application time array are traversed, the largest counting variable is determined as the candidate number.

[0284] Steps 2010 to 2050 are described in detail below.

[0285] In step 2010 of some embodiments, a pre-built reference hash table is initialized. It should be noted that a hash table, also known as a hash table, is a data structure that allows for fast access and insertion of data. The core concept of a hash table is to use a hash function to map a key to a position in an array of fixed size, allowing records to be accessed directly by position without having to compare them. The hash function should be designed to ensure that the probability of the same key being mapped to different positions is extremely low, which helps reduce conflicts. The main advantage of a hash table is its fast query speed, as it avoids the need to traverse the entire table. The embodiments of the present application utilize the faster query speed of a hash table to traverse each application time in the application time array. It should be noted that, during the traversal of the application time array, the application time in the application time array must be extracted and stored in a pre-built reference hash table for querying. Since the target application time interval is updated by taking values from multiple candidate time intervals, initialization is required for each target application time interval when traversing the application time array to ensure consistent conditions for each traversal.

[0286] In some specific embodiments, initializing the pre-built reference hash table may specifically clear the values stored in the reference hash table or configure initial values for the reference hash table. It should be understood that there are various ways to initialize the pre-built reference hash table, not limited to the above examples.

[0287] In step 220 of some embodiments, the application times in the application time array are sequentially traversed based on the target application time interval to obtain a calculation result for each traversal. It should be noted that the purpose of sequentially traversing the application times in the application time array based on the target application time interval and obtaining a calculation result for each traversal is to use the calculation result of each traversal to compare with the value stored in the reference hash table in subsequent steps to detect whether there is an application time in the application time array whose first application time interval matches the target application time interval.

[0288] In step 2030 of some embodiments, when the calculation result is not in the reference hash table, the traversed application time is added to the reference hash table, and the corresponding counting variable is added. It should be noted that when the calculation result is not in the reference hash table, it means that the first application time interval between the application time stored in the reference hash table and the application time being traversed cannot match the target application time interval. Based on this, the traversed application time can be added to the reference hash table, and the corresponding counting variable is added. It should be pointed out that the counting variable corresponding to the calculation result is used to count the number of candidates. If the first application time interval between the application time stored in the reference hash table and the application time being traversed cannot match the target application time interval, the counting variable corresponding to the calculation result will not be updated.

[0289] In some embodiments, when the calculation result is not in the reference hash table, the counting variable added to the reference hash table may be a preset initial value, such as 0, 1, etc.

[0290] In step 2040 of some embodiments, when the calculation result is in the reference hash table, the traversed application time is added to the reference hash table, and the counting variable corresponding to the calculation result is obtained for updating, and the updated counting variable is added to the reference hash table. It should be noted that when the calculation result is in the reference hash table, it means that the first application time interval between the application time stored in the reference hash table and the application time being traversed can match the target application time interval. Since the number of candidates is used to represent the number of application times whose first application time interval in the application time array can match the target application time interval, and the counting variable corresponding to the calculation result is used to count the number of candidates. Therefore, if the first application time interval between the application time stored in the reference hash table and the application time being traversed can match the target application time interval, it is necessary to add the traversed application time to the reference hash table and obtain the counting variable corresponding to the calculation result for updating.

[0291] In some more specific embodiments, obtaining a counter variable corresponding to the calculation result and updating the counter variable, and adding the updated counter variable to the reference hash table, may include, but is not limited to, the following steps:

[0292] Get the counting variable corresponding to the calculation result, and add one to the value of the counting variable to obtain the updated counting variable;

[0293] Add the updated count variable to the reference hash table.

[0294] It should be noted that when the calculation result is in the reference hash table, it means that the first application time interval between the application time stored in the reference hash table and the application time being traversed can match the target application time interval. Since the number of candidates is used to represent the number of application times whose first application time interval in the application time array can match the target application time interval, and the counting variable corresponding to the calculation result is used to count the number of candidates. Therefore, after obtaining the counting variable corresponding to the calculation result, one can be further added to the corresponding numerical value of the counting variable to obtain an updated counting variable, and then the updated counting variable can be added to the reference hash table. In this way, the number of candidates whose first application time interval in the application time array can match the target application time interval can be directly and efficiently counted.

[0295] In step 2050 of some embodiments, when each application time in the application time array has been traversed, the largest counting variable is determined as the candidate number. It should be noted that when each application time in the application time array has been traversed, it means that the target application time interval has been queried relative to each application time in the application time array. If the first application time interval between the application time stored in the reference hash table and the application time being traversed cannot match the target application time interval, the counting variable corresponding to the calculation result will not be updated. If the first application time interval between the application time stored in the reference hash table and the application time being traversed can match the target application time interval, the counting variable corresponding to the calculation result will be updated. In this way, the largest counting variable can also represent the number of application times in the application time array whose first application time interval can match the target application time interval, so the largest counting variable can be determined as the candidate number.

[0296] The embodiment of the present application, illustrated by steps 2010 to 2050, utilizes the fast query speed and low collision probability of a hash table to implement traversal of each first application time interval in the application time array using the target application time interval. This further improves the efficiency and accuracy of traversal of the application time array using the target application time interval.

[0297] Reference Figure 21AIn some more specific embodiments, the application times corresponding to the first number of approval form data are integrated to form an application time array, and the fields of the application time array need to be set. Among them, the fields that need to be displayed in the application time array may specifically include an identification field and an application time field. It should be pointed out that the identification field corresponds to the approval form name filled in the approval form data, and the application time field corresponds to the application time filled in the approval form data. The approval form data whose application time corresponds to the constraint time specifically include: approval form data A, approval form data B, approval form data C, approval form data D, and approval form data E; among them, the application time corresponding to approval form data A is expressed as 9, the application time corresponding to approval form data B is expressed as 4, the application time corresponding to approval form data C is expressed as 7, the application time corresponding to approval form data D is expressed as 2, and the application time corresponding to approval form data E is expressed as 10. Fill in the approval form name of the approval form data in the identification field of the application time array, and fill in the application time of the approval form data in the application time field of the application time array. Based on this, it is concluded that Figure 21A It should be noted that multiple candidate time intervals can be taken from the time interval value range [1, 2, 3, 4, 5, 6, 7, 8].

[0298] Reference Figure 21B , initialize the pre-built reference hash table. In an embodiment of the present application, it is necessary to generate a reference hash table by creating an empty hash table mapping, and the reference mapping of the reference hash table is represented as f[]. The way to initialize the pre-built reference hash table is to clear the values stored in the reference hash table, thereby obtaining an empty reference hash table. In an embodiment of the present application, if the value x is used as the index value for calculating the hash table mapping f[x], when the index value x is not stored in the reference hash table, the hash table mapping f[x] = 0.

[0299] It should be noted that in this embodiment of the present application, the target application time interval can be represented as d, and the application time currently being traversed can be represented as num. Based on the target application time interval d, the application times in the application time array are sequentially traversed to obtain the calculation result num-d for each traversal. In addition, in this embodiment of the present application, the counting variable ans corresponding to each calculation result is initially configured to be 1.

[0300] Furthermore, the hash table mapping f[] of the reference hash table is configured as follows:

[0301] When the calculation result num-d is not in the reference hash table, the traversed application time num is added to the reference hash table, the hash table mapping f[] of the reference hash table is configured as: f[num] = max(f[num], 1), and the corresponding counting variable ans = 1 is added;

[0302] When the calculation result num-d exists in the reference hash table, the traversed application time num is added to the reference hash table, and the hash table mapping f[] of the reference hash table is configured as: f[num]=max(f[num],f[num-d]+1,1), and the corresponding counting variable ans=1 of the calculation result num-d is obtained, and then the counting variable ans is updated to: ans=max(ans,f[num]), and the updated counting variable is added to the reference hash table.

[0303] Going further, refer to Figures 22A to 22E Taking the target application time interval d=3 as an example, some specific embodiments of traversing the application time array based on the target application time interval to determine the number of candidates are shown.

[0304] Reference Figure 22A When the target application time interval d = 3 is reached, the application time num = 9 for approval form data A in the application time array is calculated, and the calculated result num - d = 6. Furthermore, the calculated result num - d = 6 is not in the reference hash table. The traversed application time num = 9 is added to the reference hash table. The reference hash table's hash table mapping f[9] = max(f[9], 1) = (0, 1) = 1 is set, and the corresponding counter variable ans = 1 is added. The remaining values in the application time array are then traversed.

[0305] Reference Figure 22B When the target application time interval d = 3 is traversed to the application time array for approval form data B, the calculated result num - d = 1. Furthermore, since the calculated result num - d = 1 is not in the reference hash table, the traversed application time num = 4 is added to the reference hash table. The reference hash table's hash table mapping f[4] = max(f[4], 1) = (0, 1) = 1 is set, and the corresponding counter variable ans = 1 is added. The remaining values in the application time array are then traversed.

[0306] Reference Figure 22C When the target application time interval d = 3 traverses to the application time num = 7 of the approval form data C in the application time array, the calculation result num-d = 4 is obtained. Further, the calculation result num-d = 4 is added to the reference hash table. The hash table mapping f[7], = max(f[7], f[4] + 1, 1) = (0, 1 + 1, 1) = 2 of the reference hash table, and the corresponding counting variable ans = 1 of the calculation result num-d = 4 is obtained. Then the counting variable ans is updated to: ans = max(1, f[7]) = (1, 2) = 2, and the updated counting variable ans = 2 is added to the reference hash table. Then continue to traverse the remaining values of the application time array.

[0307] Reference Figure 22D When the target application time interval d = 3 is reached, the application time num = 2 of approval form data D in the application time array is calculated, and the calculated result num - d = -1. Furthermore, the calculated result num - d = -1 is not in the reference hash table. The traversed application time num = 2 is added to the reference hash table. The reference hash table's hash table mapping f[2] = max(f[2], 1) = (0, 1) = 1 is set, and the corresponding counter variable ans = 1 is added. The remaining values in the application time array are then traversed.

[0308] Reference Figure 22E , when the target application time interval d = 3 traverses to the application time num = 10 of the approval form data E in the application time array, the calculation result num-d = 7. Further, the calculation result num-d = 7 is added to the reference hash table in the reference hash table, and the hash table mapping f

[10] , = max(f

[10] , f[7]+1,1) = (0,2+1,1) = 3 of the reference hash table, and the corresponding counting variable ans = 1 of the calculation result num-d = 7 is obtained, and then the counting variable ans is updated to: ans = max(1, f

[10] ) = (1,3) = 3, and the updated counting variable ans = 3 is added to the reference hash table.

[0309] When all application times in the application time array are traversed, the largest counting variable ans=3 can be determined as the candidate number.

[0310] It should be understood that Figures 22A to 22E The example of traversing the application time array based on the target application time interval to determine the number of candidates is shown below, taking the target application time interval d = 3 as an example. When the target application time interval is other values, the method for determining the number of candidates can refer to, but is not limited to, the above example.

[0311] Reference Figure 23 In some embodiments of the present application, in step 330, an automatic approval form sequence is determined from the approval form data based on the interval relationship between application times. After the automatic approval form sequence includes the second number of automatic approval form data, it may also include, but is not limited to, the following steps 2310 to 2320.

[0312] Step 2310: Determine a second number of automatic approval form data according to the automatic approval sequence;

[0313] Step 2320: Set the second number of automatic approval form data in the first number of approval form data from a readable state to a hidden state to obtain target approval form data.

[0314] Steps 2310 to 2320 are described in detail below.

[0315] It should be noted that in some application scenarios, as the target object of enterprise managers, they need to view the approval forms manually submitted by internal employees. In this case, if the queried data contains a large number of automatically submitted approval forms, it will cause inconvenience to the enterprise managers.

[0316] In some embodiments, steps 2310 to 2320 determine a second number of automatic approval form data based on the automatic approval sequence, and further, set the second number of automatic approval form data from a readable state to a hidden state in the first number of approval form data to obtain target approval form data. It should be noted that according to the approval form data processing method provided in the embodiment of the present application, after determining the automatic approval form sequence from the approval form data, the second number of automatic approval form data can be further determined based on the automatic approval sequence, and then the second number of automatic approval form data can be set from a readable state to a hidden state. In this way, the target approval form data obtained are all manually submitted approval form data. This provides convenience for querying manually submitted approval form data.

[0317] Reference Figure 24 According to some more specific embodiments provided by this application, step 330 determines the automatic approval form sequence from the approval form data based on the interval relationship between application times, until the second number is filtered out from the first number to obtain the target number of approval forms, which may include, but is not limited to, the following steps:

[0318] Step 2401, obtaining a first number of approval form data;

[0319] Step 2402, determining a time interval value range of the first application time interval from the application time array;

[0320] Step 2403, determining a plurality of candidate time intervals from the time interval value range;

[0321] Step 2404: Generate a reference hash table by creating an empty hash table mapping and initialize the reference hash table;

[0322] Step 2405, select each candidate time interval as the target application time interval in turn, and traverse the application time in the application time array based on the target application time interval; wherein, the target application time interval is represented as d, the application time being traversed is represented as num, the calculation result of each traversal is represented as num-d, and the counting variable ans corresponding to each calculation result is initially configured to be 1.

[0323] Perform the following operations for the traversed application time:

[0324] Step 2406 , determine whether the calculation result num-d is in the reference hash table; if not, execute step 2407 ; if so, execute step 2408 .

[0325] Step 2407, when the calculation result num-d exists in the reference hash table, update the reference hash table: add the traversed application time num to the reference hash table, and the hash table mapping f[] of the reference hash table is configured as: f[num]=max(f[num],f[num-d]+1,1), and obtain the corresponding counting variable ans=1 of the calculation result num-d, and then update the counting variable ans to: ans=max(ans,f[num]), and then add the updated counting variable to the reference hash table.

[0326] Step 2408: If the calculation result num-d is not in the reference hash table, update the reference hash table: add the traversed application time num to the reference hash table, configure the hash table mapping f[] of the reference hash table to: f[num] = max(f[num], 1), and add the corresponding counting variable ans = 1;

[0327] Step 2409: Determine whether all application times in the application time array have been traversed; if not, return to step 2405; if so, determine the largest count variable as the candidate number, and continue to step 2410;

[0328] Step 2410: Determine whether multiple candidate time intervals have been selected as target application time intervals, so as to traverse the application times in the application time array; if not, return to step 2404; if so, continue to step 2411;

[0329] Step 2411: for each candidate number corresponding to each candidate time interval, determine the maximum candidate number as the second number;

[0330] Step 2412: Filter the second number from the first number to obtain the target number of approval orders.

[0331] The specific implementation of the above steps can be found in the previous embodiments and will not be repeated here.

[0332] The following describes the steps that may be performed after step 340 .

[0333] According to some embodiments provided by the present application, the approval form data request instruction also carries output format information. After the second number is filtered out from the first number in step 340 to obtain the target number of approval forms, it may also include, but not be limited to: generating an approval report based on the output format information, the target approval template and the target number of approval forms. It should be noted that the output format information is used to limit the output format of the data. In order to obtain the same output format and facilitate the target object to view the associated information of the approval form, some embodiments of the present application may also carry output format information in the approval form data request instruction. On this basis, in the process of filtering out the second number from the first number and obtaining the target number of approval forms, the file stream can be read and written based on the output format information, the target approval template and the target number of approval forms to generate an approval report so as to display the associated information of the approval form.

[0334] Reference Figure 25 In some embodiments of the present application, generating an approval report based on the output format information, the target approval template, and the target number of approval orders may include, but is not limited to, the following steps 2510 to 2520.

[0335] Step 2510: Determine the target approval template type information, approval template identifier, and target approval template creation time corresponding to the target approval template;

[0336] Step 2520 : Based on the output format information, the target approval template type information, the approval template identifier, the target approval template creation time, the first number of approval form data, and the target number of approval forms are integrated to generate an approval report that matches the output format information.

[0337] Steps 2510 to 2520 are described in detail below.

[0338] In some embodiments, step 2510 determines target approval template type information, approval template identifier, and target approval template creation time corresponding to the target approval template. It should be noted that the target approval template type information refers to the type of the target approval template corresponding to the approval form data, the approval template identifier refers to the identifier information of the target approval template corresponding to the approval form data, and the target approval template creation time refers to the creation time of the target approval template corresponding to the approval form data.

[0339] In step 2520 of some embodiments, the target approval template type information, the approval template identifier, the target approval template creation time, the first number of approval form data, and the target number of approval forms are integrated based on the output format information to generate an approval report that matches the output format information. It should be noted that after the target approval template type information, the approval template identifier, the target approval template creation time, the first number of approval form data, and the target number of approval forms are clarified, in order to obtain a uniform output format and facilitate the target object to view the associated information of the approval form, some embodiments of the present application need to read and write the target approval template type information, the approval template identifier, the target approval template creation time, the first number of approval form data, and the target number of approval forms based on the output format information to achieve integration and generate an approval report that matches the output format information so as to display the associated information of the approval form.

[0340] Reference Figure 26 In some more specific embodiments, the approval report including the target approval template type information, the approval template identifier, the target approval template creation time, the first number of approval form data, and the target number of approval forms can be limited to be output as an outdata.txt file through output format information.

[0341] Reference Figure 27 In some more specific embodiments, the outdata.txt file can be further converted into an Excel file format, so that the target approval template type information, approval template identifier, target approval template creation time, the first number of approval form data, and the target number of approval forms can be displayed in an Excel table, greatly improving the approval work efficiency.

[0342] In some embodiments, to better illustrate the embodiments of this application, please refer to Figure 28 As shown, Figure 28 This is a timing diagram of the approval form data processing system provided in an embodiment of the present application. The approval form data processing system includes a node end, a background service end, a logic end, and a database end. Except for the node end on the terminal, the other ends are all on the server side. The purpose of such processing is to achieve distributed processing to prevent a comprehensive collapse caused by the collapse of a service.

[0343] S1, the target object issues an approval form data request instruction through the node end. The approval form data request instruction contains information such as the approval template identifier, the target enterprise identifier, the constraint time and the output format information.

[0344] S2, the node initiates a data request to the background server based on the approval template identifier, target enterprise identifier, and constraint time.

[0345] S3: The backend server initiates a request to the logic end to obtain the template information corresponding to the target enterprise based on the target enterprise ID and the approval template ID.

[0346] S4, the logic end first uses the target enterprise identifier to query the target approval template list stored in the template data of the target enterprise on the database end, and then pulls the corresponding target approval template from the corresponding detail storage of the target approval template list based on the approval template identifier, and then feeds the target approval template along the logic end to the background server end.

[0347] S5: After obtaining the target approval template, the backend server initiates a request to the logic end to pull the approval form data that meets the target approval template under the constraint time based on the target approval template and the constraint time.

[0348] S6, the logic side uses the constraint time to set the filter.

[0349] S7, the logic end queries the database end for the approval form data to obtain the approval form data returned by the database end.

[0350] S8, the logic end uses the set filter to determine the extraction offset and batch capacity limit, and then extracts the approval form data returned by the database end in batches based on the extraction position and batch capacity limit, and further determines the first number of approval form data that meets the target approval template.

[0351] S9, determining a second number of automatic approval form data from the first number of approval form data according to the interval relationship between application times, and filtering the second number from the first number to obtain a target number of approval forms.

[0352] S10, the backend server sends output format information to the logic end, requesting the generation of an approval report;

[0353] S11 enables the logic end to read and write file streams for related information such as the target approval template type information, approval template identifier, target approval template creation time, the first number of approval form data, and the target number of approval forms, so that the logic end returns an approval report corresponding to the output format information, and the background service end sends the approval report to the node end.

[0354] S12, the node end further converts the approval report into an Excel file for display.

[0355] The specific implementation of the above steps can be found in the previous embodiments and will not be repeated here.

[0356] It is to be understood that, although the steps in the above-mentioned flowcharts are shown in sequence according to the arrow representations, these steps are not necessarily performed in sequence according to the order represented by the arrows. Unless otherwise specified in the present embodiment, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the above-mentioned flowcharts may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these steps or stages is not necessarily performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of the steps or stages in other steps.

[0357] Description of the apparatus and device of the embodiments of the present application

[0358] To facilitate better implementation of the approval form data processing method provided in the embodiments of the present application, the embodiments of the present application also provide a device based on the above-mentioned approval form data processing method. The meanings of the terms herein are the same as those in the above-mentioned approval form data processing method. For specific implementation details, please refer to the description in the method embodiment.

[0359] See also Figure 29 , Figure 29 This is a structural diagram of an approval form data processing device provided in an embodiment of the present application. The approval form data processing device is applied to a computer device, wherein the approval form data processing device may include an instruction acquisition unit 2901, a first number acquisition unit 2902, a second number acquisition unit 2903, a target number acquisition unit 2904, etc.

[0360] The instruction acquisition unit 2901 is used to acquire an approval form data request instruction, which at least carries a constraint time and a target approval template;

[0361] The first number obtaining unit 2902 is configured to determine the approval form data and the first number of approval form data of the target approval template under the time constraint based on a preset approval form database, and determine the application time of each approval form data;

[0362] A second number obtaining unit 2903 is configured to determine an automatic approval form sequence from the approval form data based on the interval relationship between application times. The automatic approval form sequence includes a second number of automatic approval form data. In the automatic approval form sequence, each two adjacent automatic approval form data have the same application time interval.

[0363] The target number obtaining unit 2904 is configured to filter the second number from the first number to obtain the target number of approval orders.

[0364] In some implementations, the second number obtaining unit 2903 is configured to:

[0365] Integrate the application times corresponding to the first number of approval form data to form an application time array; wherein the time interval between each two application times is a first application time interval;

[0366] Determining a time interval value range of a first application time interval from the application time array, and determining a plurality of candidate time intervals from the time interval value range;

[0367] For each candidate time interval, traverse each first application time interval in the application time array to determine a target application time in which the first application time interval matches the candidate time interval;

[0368] The approval form data corresponding to the target application time are integrated to obtain at least one approval sequence, and the approval sequence with the largest sequence number is determined as the automatic approval sequence, and the number of automatic approval form data in the automatic approval sequence is the second number.

[0369] In some implementations, the second number obtaining unit 2903 is further configured to:

[0370] determining at least two second application times from the application time array based on a first application time interval that is the same as the candidate time interval;

[0371] When it is detected that the application times of at least two approval form data corresponding to the second application time are in an increasing state, the second application time is determined as the target application time.

[0372] In some implementations, the second number obtaining unit 2903 is further configured to:

[0373] Determine the third application time with the largest value and the fourth application time with the smallest value from the application time array;

[0374] Determine the difference between the third application time and the fourth application time;

[0375] A time interval value range is determined according to the difference, and a plurality of candidate time intervals are determined from the time interval value range.

[0376] In some implementations, the second number obtaining unit 2903 is further configured to:

[0377] Select multiple positive integers within the numerical range defined by the difference;

[0378] A time interval value range is generated based on multiple positive integers, and multiple candidate time intervals are determined from the time interval value range.

[0379] In some implementations, the second number obtaining unit 2903 is further configured to:

[0380] selecting a target application time interval from a plurality of candidate time intervals;

[0381] Based on the target application time interval, traverse each first application time interval in the application time array, calculate the number of application times in the application time array whose first application time interval matches the target application time interval, and obtain the candidate number;

[0382] After traversing the application time array based on the target application time interval, when it is detected that there are still unselected candidate time intervals among the multiple candidate time intervals, obtaining the remaining candidate time intervals as the target application time interval, and returning to execute based on the target application time interval until each candidate time interval among the multiple candidate time intervals is selected, thereby obtaining a plurality of candidate numbers;

[0383] According to each candidate number, a target application time at which the first application time interval matches the corresponding candidate time interval is determined.

[0384] In some implementations, the second number obtaining unit 2903 is further configured to:

[0385] Initialize against a pre-built reference hash table;

[0386] Based on the target application time interval, the application time in the application time array is traversed in sequence to obtain the calculation result of each traversal;

[0387] When the calculation result is not in the reference hash table, add the traversed application time to the reference hash table and add the corresponding count variable;

[0388] When the calculation result is in the reference hash table, the traversed application time is added to the reference hash table, and the corresponding count variable of the calculation result is obtained and updated, and the updated count variable is added to the reference hash table;

[0389] When each application time in the application time array is traversed, the largest count variable is determined as the candidate number.

[0390] In some implementations, the second number obtaining unit 2903 is further configured to:

[0391] Get the counting variable corresponding to the calculation result, and add one to the value of the counting variable to obtain the updated counting variable;

[0392] Add the updated count variable to the reference hash table.

[0393] In some embodiments, the apparatus further includes a data state setting unit (not shown) configured to:

[0394] determining a second number of automatic approval form data according to the automatic approval sequence;

[0395] The second number of automatic approval form data are set from a readable state to a hidden state in the first number of approval form data to obtain target approval form data.

[0396] In some implementations, the approval form data request instruction also carries an approval template identifier, and the instruction acquisition unit 2901 is configured to:

[0397] Get the constraint time and approval template ID;

[0398] Querying a preset template database to obtain a target approval template that matches the approval template identifier;

[0399] Based on the constraint time and target approval template, the approval form data request instruction is integrated.

[0400] In some implementations, the approval form data request instruction also carries a target enterprise identifier that matches the approval template identifier. The instruction acquisition unit 2901 is configured to:

[0401] Based on the target enterprise ID that matches the approval template ID, a target approval template list is obtained by querying the template database;

[0402] Pull the corresponding target approval template from the target approval template list based on the approval template identifier.

[0403] In some embodiments, the approval form database includes a plurality of reserve document information and the application time corresponding to each reserve document information. The first number acquisition unit 2902 is used to:

[0404] Determine the target reserve document information within the time constraint for the application from the approval document database;

[0405] For the target reserve document information, approval form data and a first number of approval form data are determined from the target reserve document information based on a target approval template, and an application time for each piece of approval form data is determined.

[0406] In some implementations, the first number obtaining unit 2902 is further configured to:

[0407] Get the initial extraction position, extraction offset and batch capacity limit;

[0408] Extract the reserve document information under time constraints from the approval document database based on the extraction location and batch capacity limit;

[0409] The extraction position is updated according to the extraction offset, and based on the updated extraction position and batch capacity limit, the execution returns to extract the reserve document information under the constraint time from the approval order database until the reserve document information corresponding to the constraint time in the approval order database is extracted and the target reserve document information is obtained.

[0410] In some embodiments, the approval form data request instruction also carries output format information. The apparatus further includes an approval report generating unit (not shown) for:

[0411] Generate an approval report based on the output format information, target approval template, and target number of approval forms.

[0412] In some embodiments, the approval report generating unit (not shown) is further configured to:

[0413] Determine the target approval template type information, approval template identifier, and target approval template creation time corresponding to the target approval template;

[0414] Based on the output format information, the target approval template type information, the approval template identifier, the target approval template creation time, the first number of approval form data and the target number of approval forms are integrated to generate an approval report matching the output format information.

[0415] The specific implementation of each of the above units can be found in the previous embodiments and will not be described again here.

[0416] Reference Figure 30 , Figure 30 To implement the structural block diagram of part of the terminal 140 of the embodiment of the present application, the terminal 140 includes: a radio frequency (RF) circuit 3010, a memory 3015, an input unit 3030, a display unit 3040, a sensor 3050, an audio circuit 3060, a wireless fidelity (WiFi) module 3070, a processor 3080, and a power supply 3090. Those skilled in the art will understand that Figure 24 The illustrated structure of the terminal 140 does not limit the structure of a mobile phone or a computer, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0417] The RF circuit 3010 may be used for receiving and sending signals during information transmission or calls. In particular, after receiving downlink information from the base station, it is sent to the processor 3080 for processing. In addition, the designed uplink data is sent to the base station.

[0418] The memory 3015 may be used to store software programs and modules. The processor 3080 executes various functional applications and data processing of the terminal 140 by running the software programs and modules stored in the memory 3015 .

[0419] The input unit 3030 may be configured to receive input digital or character information and generate key signal input related to the settings and function control of the terminal 140. Specifically, the input unit 3030 may include a touch panel 3031 and other input devices 3032.

[0420] The display unit 3040 may be used to display input information or provided information and various menus of the terminal 140. The display unit 3040 may include a display panel 3041.

[0421] The audio circuit 3060 , the speaker 3061 , and the microphone 3062 may provide an audio interface.

[0422] In this embodiment, the processor 3080 included in the terminal 140 can execute the approval form data processing method of the previous embodiment.

[0423] The terminal 140 of the embodiment of the present application includes but is not limited to mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle terminals, aircraft, etc. The embodiment of the present application can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, assisted driving, etc.

[0424] Figure 31 1 is a block diagram of the structure of part of the server 110 for implementing an embodiment of the present application. The server 110 may have relatively large differences due to different configurations or performances, and may include one or more central processing units (CPUs) 3122 (for example, one or more processors) and memories 3132, and one or more storage media 3130 (for example, one or more mass storage devices) for storing application programs 3142 or data 3144. Among them, the memories 3132 and the storage media 3130 can be temporary storage or permanent storage. The program stored in the storage medium 3130 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server 110. Furthermore, the central processing unit 3122 can be configured to communicate with the storage medium 3130 to execute a series of instruction operations in the storage medium 3130 on the server 110.

[0425] The server 110 may also include one or more power supplies 3126, one or more wired or wireless network interfaces 3150, one or more input and output interfaces 3158, and / or one or more operating systems 3141, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0426] The central processor 3122 in the server 110 can be used to execute the approval form data processing method of the embodiment of the present application, namely: obtaining an approval form data request instruction, the approval form data request instruction carries at least a constraint time and a target approval template; based on a preset approval form database, determining the approval form data of the target approval template under the constraint time and the first number of approval form data, and determining the application time of each approval form data; according to the interval relationship between the application times, determining an automatic approval form sequence from the approval form data, the automatic approval form sequence includes a second number of automatic approval form data, and in the automatic approval form sequence, each adjacent two automatic approval form data have the same application time interval; filtering the second number from the first number to obtain the target approval form number.

[0427] An embodiment of the present application further provides a computer-readable storage medium, which is used to store program code, and the program code is used to execute the approval form data processing method of each of the aforementioned embodiments, namely: obtaining an approval form data request instruction, the approval form data request instruction carries at least a constraint time and a target approval template; based on a preset approval form database, determining the approval form data of the target approval template under the constraint time and a first number of approval form data, and determining the application time of each approval form data; according to the interval relationship between the application times, determining an automatic approval form sequence from the approval form data, the automatic approval form sequence includes a second number of automatic approval form data, and in the automatic approval form sequence, each two adjacent automatic approval form data have the same application time interval; filtering out the second number from the first number to obtain the target approval form number.

[0428] The embodiment of the present application further provides a computer program product, which includes a computer program. A processor of a computer device reads and executes the computer program, so that the computer device executes the above-mentioned approval form data processing method.

[0429] In addition, the terms "comprises" and "comprising" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or apparatus that comprises a series of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, product or apparatus.

[0430] It should be understood that in this application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0431] It should be understood that in the description of the embodiments of the present application, multiple (or multiple items) means more than two, greater than, less than, exceed, etc. are understood to exclude the number itself, and above, below, within, etc. are understood to include the number itself.

[0432] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.

[0433] Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0434] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0435] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0436] It should also be understood that the various implementation methods provided in the embodiments of the present application can be combined arbitrarily to achieve different technical effects.

[0437] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0438] The above is a specific description of the implementation methods of the present application, but the present application is not limited to the above implementation methods. Technical personnel familiar with the art can also make various equivalent modifications or substitutions without violating the spirit of the present application. These equivalent modifications or substitutions are all included in the scope defined by the claims of the present application.

Claims

1. A method for processing approval form data, characterized in that: include: Obtaining an approval form data request instruction, wherein the approval form data request instruction carries at least a constraint time and a target approval template; Based on a preset approval form database, determining the approval form data of the target approval template under the constraint time and the first number of the approval form data, and determining the application time of each approval form data; Determining an automatic approval form sequence from the approval form data according to the interval relationship between the application times, wherein the automatic approval form sequence includes a second number of automatic approval form data, and in the automatic approval form sequence, each two adjacent automatic approval form data have the same application time interval; The second number is filtered out from the first number to obtain the target number of approval orders.

2. The method for processing approval form data according to claim 1, characterized in that: The step of determining an automatic approval form sequence from the approval form data based on the interval relationship between the application times includes: Integrate the application times corresponding to the first number of approval form data to form an application time array; wherein the time interval between each two application times is a first application time interval; Determining a time interval value range of the first application time interval from the application time array, and determining a plurality of candidate time intervals from the time interval value range; For each candidate time interval, traverse each first application time interval in the application time array to determine a target application time that matches the first application time interval with the candidate time interval; The approval form data corresponding to the target application time are integrated to obtain at least one approval sequence, and the approval sequence with the largest sequence number is determined as the automatic approval sequence, and the number of the automatic approval form data in the automatic approval sequence is the second number.

3. The method for processing approval form data according to claim 2, characterized in that: The determining that the first application time interval matches a target application time of the candidate time interval includes: determining at least two second application times from the application time array based on the first application time interval being the same as the candidate time interval; When it is detected that the application times of at least two pieces of approval form data corresponding to the second application time are in an increasing state, the second application time is determined as the target application time.

4. The method for processing approval form data according to claim 2, wherein: The step of determining a time interval value range of the first application time interval from the application time array, and determining a plurality of candidate time intervals from the time interval value range, includes: Determine a third application time with the largest value and a fourth application time with the smallest value from the application time array; determining a difference between the third application time and the fourth application time; The time interval value range is determined according to the difference, and a plurality of candidate time intervals are determined from the time interval value range.

5. The method for processing approval form data according to claim 4, characterized in that: Determining the time interval value range according to the difference, and determining a plurality of candidate time intervals from the time interval value range, includes: Select multiple positive integers within the numerical range defined by the difference; The time interval value range is generated based on the multiple positive integers, and multiple candidate time intervals are determined from the time interval value range.

6. The method for processing approval form data according to claim 2, characterized in that: The step of traversing each first application time interval in the application time array for each candidate time interval and determining a target application time that matches the first application time interval with the candidate time interval includes: selecting a target application time interval from a plurality of said candidate time intervals; Based on the target application time interval, traverse each first application time interval in the application time array, calculate the number of application times in the application time array whose first application time interval matches the target application time interval, and obtain a candidate number; After traversing the application time array based on the target application time interval, when it is detected that there are still unselected candidate time intervals among the multiple candidate time intervals, obtaining the remaining candidate time intervals as the target application time interval, and returning to execute based on the target application time interval until each of the multiple candidate time intervals is selected, thereby obtaining a plurality of candidate numbers; According to each candidate number, a target application time is determined in which the first application time interval matches the corresponding candidate time interval.

7. The method for processing approval form data according to claim 6, characterized in that: The step of traversing each first application time interval in the application time array based on the target application time interval, and calculating the number of application times in the application time array whose first application time interval matches the target application time interval to obtain the candidate number includes: Initialize against a pre-built reference hash table; Traversing the application times in the application time array in sequence based on the target application time interval to obtain a calculation result of each traversal; When the calculation result is not in the reference hash table, adding the traversed application time to the reference hash table and adding a corresponding counting variable; When the calculation result is in the reference hash table, the traversed application time is added to the reference hash table, and the counter variable corresponding to the calculation result is obtained and updated, and the updated counter variable is added to the reference hash table; When all application times in the application time array are traversed, the largest count variable is determined as the candidate number.

8. The method for processing approval form data according to claim 7, characterized in that: The obtaining and updating the counter variable corresponding to the calculation result, and adding the updated counter variable to the reference hash table, includes: Obtaining the counting variable corresponding to the calculation result, and adding one to the value of the counting variable to obtain the updated counting variable; The updated count variable is added to the reference hash table.

9. The method for processing approval form data according to claim 1, wherein: After determining the automatic approval form sequence from the approval form data according to the interval relationship between the application times, the method further includes: Determining the second number of automatic approval form data according to the automatic approval sequence; The second number of automatic approval form data in the first number of approval form data are set from a readable state to a hidden state to obtain target approval form data.

10. The method for processing approval form data according to claim 1, wherein: The approval form data request instruction also carries an approval template identifier; The request instruction for obtaining approval form data includes: Obtain the constraint time and the approval template identifier; Querying a preset template database to obtain the target approval template that matches the approval template identifier; Based on the constraint time and the target approval template, the approval form data request instruction is integrated to obtain.

11. The method for processing approval form data according to claim 10, characterized in that: The approval form data request instruction also carries a target enterprise identifier that matches the approval template identifier; The step of querying a preset template database to obtain the target approval template that matches the approval template identifier includes: Based on the target enterprise identifier that matches the approval template identifier, querying the template database to obtain a target approval template list; Pull the corresponding target approval template from the target approval template list based on the approval template identifier.

12. The method for processing approval form data according to claim 1, wherein: The approval form database includes a plurality of reserve document information and the application time corresponding to each of the reserve document information; The step of determining the approval form data of the target approval template under the time constraint and the first number of the approval form data in the preset approval form database, and determining the application time of each approval form data, includes: Determine the target reserve document information of the application time under the constraint time from the approval document database; With respect to the target reserve document information, approval form data and a first number of the approval form data are determined from the target reserve document information based on the target approval template, and the application time of each approval form data is determined.

13. The method for processing approval form data according to claim 12, characterized in that: The step of determining the target reserve document information of the application time under the constraint time from the approval document database includes: Get the initial extraction position, extraction offset and batch capacity limit; extracting the reserve document information under the constraint time from the approval document database based on the extraction location and the batch capacity limit; The extraction position is updated according to the extraction offset, and based on the updated extraction position and the batch capacity limit, the execution returns to extracting the reserve document information under the constraint time from the approval form database until the reserve document information corresponding to the constraint time in the approval form database is completely extracted to obtain the target reserve document information.

14. The method for processing approval form data according to claim 1, wherein: The approval form data request instruction also carries output format information; After the second number is filtered out from the first number to obtain the target number of approval forms, the method further includes: An approval report is generated based on the output format information, the target approval template, and the target number of approval forms.

15. The method for processing approval form data according to claim 14, characterized in that: The generating of the approval report based on the output format information, the target approval template and the target number of approval forms includes: Determine the target approval template type information, approval template identifier, and target approval template creation time corresponding to the target approval template; The target approval template type information, the approval template identifier, the target approval template creation time, the first number of approval form data, and the target number of approval forms are integrated based on the output format information to generate the approval report matching the output format information.

16. An approval form data processing device, characterized in that: include: An instruction acquisition unit, configured to acquire an approval form data request instruction, wherein the approval form data request instruction carries at least a constraint time and a target approval template; A first number obtaining unit is configured to determine, based on a preset approval form database, approval form data of a target approval template under a time constraint and a first number of the approval form data, and to determine an application time for each piece of the approval form data; a second number obtaining unit, configured to determine an automatic approval form sequence from the approval form data according to the interval relationship between the application times, wherein the automatic approval form sequence includes a second number of automatic approval form data, and in the automatic approval form sequence, each two adjacent automatic approval form data have the same application time interval; The target number obtaining unit is configured to filter the second number from the first number to obtain a target number of approval orders.

17. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the approval form data processing method according to any one of claims 1 to 15.

18. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the approval form data processing method according to any one of claims 1 to 15 is implemented.

19. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the approval form data processing method according to any one of claims 1 to 15 is implemented.