Data processing method and related device
Patent Information
- Application Number
- CN202611291476.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-25
- Publication Date
- 2026-10-20
AI Technical Summary
[0003]但在电子制造行业,由于客户终端订单频繁变更(增量、减量、提前、推迟),导致采购方对供应商的 PO 也不断修改
[0021]本申请实施例提供了一种数据处理方法以及相关设备,可以获取工单集合,所述工单集合包括多个工单的生产产品信息、产量和需求日期;针对每个工单,基于所述生产产品信息查询所述工单对应的生产物料清单,并根据所述生产物料清单和所述产量,确定所述工单所需的至少一种物料和各物料对应的物料需求数量;按照物料和所述工单集合中各工单的需求日期,对所述各工单对应物料的物料需求数量进行聚合处理,得到所述工单集合所需的各物料的日需求数量;根据多个供应主体针对所述物料的未提交物料数量,计算各个供应主体的供应权重系数;基于各个供应主体的供应权重系数,对所述物料的日需求数量进行加权分配,确定各个供应主体对应的物料供应数量。
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, specifically to a data processing method and related equipment. Background Technology
[0002] Currently, most ERP (Enterprise Resource Planning) systems issue purchase orders (POs) to suppliers in the form of "fixed quantity plus fixed delivery date".
[0003] However, in the electronics manufacturing industry, frequent changes in customer orders (increases, decreases, earlier orders, and delays) lead to constant modifications to the purchase orders (POs) from suppliers. Once suppliers perceive the instability of the POs, they are often unwilling to proactively prepare inventory according to the POs, instead waiting for actual orders to be placed before production, further lengthening the delivery cycle and creating a vicious cycle. Summary of the Invention
[0004] This application provides a data processing method and related equipment; the related equipment may include a data processing device, an electronic device, and a computer-readable storage medium. This application enables delivery to accurately match daily production needs and achieve just-in-time supply.
[0005] This application provides a data processing method, including: Obtain a set of work orders, which includes production product information, output, and demand date for multiple work orders; For each work order, the production material list corresponding to the work order is queried based on the production product information, and at least one material required for the work order and the material demand quantity corresponding to each material are determined according to the production material list and the output. Based on the material and the demand date of each work order in the work order set, the material demand quantity corresponding to each work order is aggregated to obtain the daily demand quantity of each material required by the work order set. Calculate the supply weighting coefficient for each supplier based on the quantity of unsubmitted materials for the material from multiple suppliers; Based on the supply weight coefficients of each supplier, the daily demand for the materials is weighted and allocated to determine the material supply quantity corresponding to each supplier.
[0006] Accordingly, embodiments of this application provide a data processing apparatus, including: The acquisition unit is used to acquire a set of work orders, which includes production product information, output, and demand date of multiple work orders. The material determination unit is used to query the production material list corresponding to the work order based on the production product information for each work order, and determine at least one material required for the work order and the material demand quantity corresponding to each material based on the production material list and the output. The aggregation unit is used to aggregate the material demand quantity of the corresponding material for each work order according to the material and the demand date of each work order in the work order set, so as to obtain the daily demand quantity of each material required by the work order set. The proportion calculation unit is used to calculate the supply weight coefficient of each supplier based on the quantity of unsubmitted materials for the material by multiple suppliers. The allocation unit is used to weight and allocate the daily demand quantity of the material based on the supply weight coefficient of each supplier, and to determine the material supply quantity corresponding to each supplier.
[0007] Optionally, in some embodiments of this application, the material determination unit may include a unit consumption calculation subunit and a determination subunit, as follows: The unit consumption calculation subunit is used to determine, based on the production bill of materials, at least one material required for the work order and the unit consumption corresponding to each material, wherein the unit consumption represents the quantity of materials required to produce a single product; A sub-unit is defined to determine the material requirement quantity corresponding to the materials required for the work order based on the output of the work order and the unit consumption of the materials required for the work order.
[0008] Optionally, in some embodiments of this application, the data processing apparatus further includes a unit for determining the quantity of unsubmitted materials, as follows: The unsubmitted material quantity determination unit is used to query the current open orders for the material, determine the unsubmitted material quantity corresponding to the open orders, and aggregate the unsubmitted material quantities corresponding to each open order by the supply entity to determine the unsubmitted material quantity for each supply entity for the material.
[0009] Optionally, in some embodiments of this application, the data processing apparatus further includes a daily demand record construction unit, as follows: The daily demand record construction unit is used to construct a daily demand record for the material based on the demand date of the material and the material supply quantity of each supplier for the material. The daily demand record includes multiple daily demand items, and each daily demand item includes the material supply quantity of the corresponding supplier on the corresponding demand date. Each daily demand item corresponds to one day.
[0010] Optionally, in some embodiments of this application, the data processing apparatus further includes an open receipt date calculation unit, as follows: The open receipt date calculation unit is used to obtain a preset mapping relationship set, which includes a mapping relationship between preset material categories and preset early open receipt times; for each daily demand item, the category corresponding to the material is matched with the preset material category in the preset mapping relationship set; when the match is successful, the number of early receipt days corresponding to the material is determined according to the preset early open receipt time corresponding to the matched preset material category; the open receipt date for the material in the daily demand item is determined according to the number of early receipt days and the demand date of the material; when the match is unsuccessful, the open receipt date for the material in the daily demand item is determined based on the default number of early receipt days and the demand date of the material.
[0011] Optionally, in some embodiments of this application, the data processing apparatus further includes a status update unit, as follows: The status update unit is used to set the initial status of the daily demand item to a pending response status; when the supplier replies that the committed supply quantity for the daily demand item is not less than the corresponding material supply quantity, the status of the daily demand item is updated to a passed status; when the supplier replies that the committed supply quantity is less than the corresponding material supply quantity, the status of the daily demand item is updated to a pending review status, so that the daily demand item in the pending review status can be reviewed.
[0012] Optionally, in some embodiments of this application, the data processing apparatus further includes a verification unit, as follows: The review unit is used to update the status of the daily demand item in the pending review state to the review acceptance state when the supplier performs according to the promised quantity; and to clear the supplier's promised quantity, supplier's response time, and supplier's response remarks fields of the daily demand item when the status of the daily demand item is updated to the review rejection state after review.
[0013] Optionally, in some embodiments of this application, the data processing apparatus may further include an order status update unit, as follows: The order status update unit is used to update the order status to production status when the status of all relevant daily demand items of the order is in the pass or review and acceptance status.
[0014] Optionally, in some embodiments of this application, the review unit may further be used to obtain a review whitelist when the review interface receives a daily requirement item to be processed, the review whitelist including states that allow review; when the state of the daily requirement item to be processed does not belong to the states in the whitelist, filter the daily requirement item to be processed; when the state of the daily requirement item to be processed belongs to the states in the whitelist, perform review processing on the daily requirement item to be processed.
[0015] Optionally, in some embodiments of this application, the data processing apparatus may further include a home filtering unit, as follows: The attribution filtering unit is used to determine the attribution identifier based on the order identifier, supplier identifier, and material code corresponding to the current purchase order when it receives a processing request for a target daily demand item submitted by a supplier; match the request identifier corresponding to the processing request with the attribution identifier; and filter the processing request when the request identifier corresponding to the processing request does not match the attribution identifier.
[0016] Optionally, in some embodiments of this application, the data processing apparatus may further include an access restriction unit, as follows: The access restriction unit is used to filter and restrict the display of purchase orders and daily demand items corresponding to the supplier based on the account token carried in the access request when it receives an access request from the supplier.
[0017] In the embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0018] An electronic device provided in this application includes a processor and a memory. The memory stores multiple instructions, and the processor loads the instructions to execute the steps in the data processing method provided in this application.
[0019] This application also provides a computer-readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the steps in the data processing method provided in this application.
[0020] Furthermore, embodiments of this application also provide a computer program product, including a computer program or instructions, which, when executed by a processor, implement the steps in the data processing method provided in embodiments of this application.
[0021] This application provides a data processing method and related equipment, which can acquire a set of work orders, including production product information, output, and demand dates for multiple work orders; for each work order, the method queries the production material list corresponding to the work order based on the production product information, and determines at least one material required by the work order and the material demand quantity corresponding to each material based on the production material list and the output; aggregates the material demand quantities corresponding to each work order according to the materials and the demand dates of each work order in the work order set to obtain the daily demand quantity of each material required by the work order set; calculates the supply weight coefficient of each supplier based on the unsubmitted material quantity of the material by multiple suppliers; and weights the daily demand quantity of the material based on the supply weight coefficient of each supplier to determine the material supply quantity corresponding to each supplier.
[0022] This application can deduce the daily demand quantity of materials based on the product information of the work order, and allocate the daily demand quantity of materials according to the supplier. This allows the daily material supply quantity of each supplier to be obtained, enabling suppliers to deliver goods on a daily basis and warehouses to receive goods on a daily basis, so that delivery can accurately match the daily production demand and achieve just-in-time supply. Attached Figure Description
[0023] To more clearly illustrate the technical features of the embodiments of this application, the drawings used in the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 This is a flowchart of the data processing method provided in the embodiments of this application; Figure 2 This is another flowchart of the data processing method provided in the embodiments of this application; Figure 3 This is a schematic diagram of the structure of the data processing apparatus provided in the embodiments of this application; Figure 4 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0025] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0026] This application provides a data processing method and related equipment, which may include a data processing device, an electronic device, and a computer-readable storage medium. Specifically, the data processing device may be integrated into an electronic device, such as a terminal or server.
[0027] It should be noted that the order of description of the following embodiments is not intended to limit the preferred order of the embodiments.
[0028] This embodiment will be described from the perspective of a data processing device, which can be integrated into an electronic device, such as a terminal or server.
[0029] Terminals can include mobile phones, vehicle terminals, aircraft, tablets, laptops, or personal computers (PCs). Clients can also be installed on the terminal; these clients can be application clients or browser clients, etc.
[0030] A server can be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides cloud computing services.
[0031] In the description of this application, it should be understood that the numbering itself, such as "first", "second", etc., is only used to distinguish the described objects and has no sequential or technical meaning, and should not be construed as specifying or implying the importance of the described objects.
[0032] In the description of this application, the term "multiple" refers to two or more. Furthermore, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.
[0033] In the description of this application, it should be noted that, unless otherwise defined, all technical and scientific terms used in this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in this application is for the purpose of describing specific embodiments only and is not intended to limit the application. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0034] It is understood that in the specific embodiments of this application, data such as user information are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0035] like Figure 1 As shown, the specific flow of this data processing method can be as follows: 101. Obtain a set of work orders, which includes production product information, output, and demand date for multiple work orders.
[0036] Specifically, the required date can be the production date corresponding to the product. The product can be a machine or equipment, etc.
[0037] Optionally, in this embodiment, the step "obtaining a set of work orders" may include: Get the original work order set; Based on multiple preset demand dimensions, each work order in the original work order set is subjected to structured parsing processing to obtain the processed work order set. The preset demand dimensions include production product information, demand time, and output.
[0038] The original work order set can be the initial Dynamic Production Planning (DPP) file.
[0039] In specific scenarios, the DPP file is a customer-level, rolling production plan scheduled by machine type and date. It can be a single-sheet Excel file (work order dimension, approximately 2700 work orders / month). Specifically, the system locates columns such as "work order number, part number (machine type part number), product name, quantity (output), estimated start date, estimated completion date, and remarks" by column name, and reads them row by row, with each row corresponding to one work order.
[0040] During the reading process, validity filtering can be performed. Specifically, rows with empty work order numbers, quantities less than or equal to 0, empty expected start dates, expected start date years greater than or equal to 2030 (placeholder for future dates), and remarks marked as "paused" are all skipped.
[0041] Each valid work order can be structured and parsed into a triple (machine type, required date, quantity), where "machine type" is the machine part number, "required date" is the expected start date of the work order (as the required date of the materials), and "quantity" is the output of the work order (the planned number of machines to be produced, not the quantity of materials). A single DPP can be parsed to obtain approximately 2700 triples.
[0042] For example, work order A (machine type M1, start date 6 / 10, output 1000) can be resolved as (M1, 6 / 10, 1000); work order B (machine type M1, start date 6 / 12, output 800) can be resolved as (M1, 6 / 12, 800). Work orders of the same machine type but on different dates will be aggregated into multiple daily requirements by date at the material level after the subsequent BOM (Bill of Materials) is expanded.
[0043] 102. For each work order, query the production material list corresponding to the work order based on the production product information, and determine at least one material required for the work order and the material requirement quantity corresponding to each material based on the production material list and the output.
[0044] The production bill of materials (BOM) is a multi-level material structure table from product to raw materials. Based on this BOM, the raw materials corresponding to the production of the work order can be determined—specifically, the materials mentioned above.
[0045] Specifically, the production bill of materials may include the quantity of a certain material (qty_pe) required to produce denominator units of finished product; denominator represents the baseline quantity of finished product corresponding to qty_pe; in this embodiment, the unit consumption of each material can be obtained by dividing qty_pe by denominator. Then, by multiplying the unit consumption by the corresponding output on the work order, the material requirement quantity of that material corresponding to the work order can be obtained.
[0046] 103. Based on the material and the required dates of each work order in the work order set, aggregate the material requirements of the corresponding materials for each work order to obtain the daily required quantity of each material for the work order set.
[0047] The daily demand quantity specifically refers to the demand for a certain material on a particular day.
[0048] Optionally, in this embodiment, the step "determining at least one material required for the work order and the material requirement quantity corresponding to each material based on the production bill of materials and the output" may include: Based on the production bill of materials, determine at least one material required for the work order and the unit consumption of each material, wherein the unit consumption represents the quantity of material required to produce a single product; Based on the output of the work order and the unit consumption of the materials required by the work order, determine the material demand quantity corresponding to the materials required by the work order.
[0049] Specifically, each work order can be a triple, including machine type, required date, and quantity. For each work order, the BOM for that machine type can be queried and recursively expanded to the raw material level. Substitute materials can be skipped, and only the main materials can be retrieved. Each main material is given a "unit consumption", which is equal to the qty_per of the BOM details divided by the denominator. Here, qty_per can represent the quantity of the material required to produce denominator finished products in the BOM; denominator represents the baseline quantity of finished products corresponding to qty_per.
[0050] Specifically, for each raw material, the "work order output × unit consumption" is accumulated and added to the corresponding specific material and demand date, thereby aggregating the "daily demand" of the corresponding material according to the material and demand date, that is, the total demand of a certain material on a certain day.
[0051] 104. Calculate the supply weight coefficient for each supplier based on the quantity of unsubmitted materials for the material from multiple suppliers.
[0052] In a specific embodiment, the quantities of unsubmitted materials from each supplier for the given material can be summed to obtain the total quantity of unsubmitted materials. Then, the unsubmitted quantities from each supplier for the given material can be divided by the total quantity of unsubmitted materials to obtain the undelivered percentage for each supplier. This undelivered percentage can be used as the supply weighting coefficient for the corresponding supplier. The supplier can be either a supplier or an order; this embodiment does not impose specific limitations on this.
[0053] The quantity of materials not yet submitted refers to the quantity that still needs to be delivered by the supplier, which can be equal to the total order quantity minus the quantity already delivered.
[0054] Optionally, in this embodiment, the data processing method may further include: Query the current open orders for the material and determine the quantity of unsubmitted materials corresponding to the open orders; Based on the supply entity corresponding to each open order, the quantity of unsubmitted materials corresponding to each open order is aggregated by supply entity to determine the quantity of unsubmitted materials for each supply entity for the material.
[0055] The quantity of unsubmitted materials corresponding to each open order is specifically the quantity that the supplier still needs to deliver for that purchase order (PO), equal to the total order quantity minus the quantity already received. An open order can be a purchase order (PO) that has been placed but not yet fully delivered, not closed, or not cancelled. "Not closed" specifically refers to an order that has not yet completed the closure process.
[0056] In this embodiment, aggregation can specifically refer to adding up the quantities of unsubmitted materials from open orders with the same supplier.
[0057] Specifically, you can find the currently open POs for the material and aggregate their remaining undelivered quantities by supplier—that is, the quantity of the aforementioned unsubmitted materials. An open PO can be a PO with a status other than CLOSED and a remaining undelivered quantity greater than 0; the remaining undelivered quantity (denoted as pending_qty) equals the total order quantity minus the quantity already delivered.
[0058] 105. Based on the supply weight coefficient of each supplier, the daily demand quantity of the material is weighted and allocated to determine the material supply quantity corresponding to each supplier.
[0059] This embodiment can reverse-calculate customer-level DPP (specifically, production can be scheduled by machine type and date) into material-level requirement lines (by part number and date), requiring multi-level BOM expansion and proportional allocation by multiple entities. The allocated quantity can be rounded down according to the material unit of measurement, with piece-type units rounded up, continuous quantity units retaining a predetermined number of decimal places, and values less than a predetermined threshold discarded as noise.
[0060] The weighted allocation process, also known as the allocation process, can be as follows: multiply the supply weight coefficient of each supplier by the daily demand for materials to obtain the material supply quantity for each supplier. This material supply quantity is the quantity of materials that the corresponding supplier needs to supply on a given day.
[0061] Specifically, when the same material corresponds to multiple suppliers on the same date, the demand for that day is allocated according to the proportion of the remaining undelivered quantity of each supplier; for materials from a single supplier, the full quantity is naturally taken, and no allocation is generated. The proportion of the remaining undelivered quantity of each supplier can be obtained by dividing the pending_qty of the corresponding supplier by the sum of the pending_qty of all suppliers.
[0062] The allocation results must be rounded up reasonably according to the material measurement unit (e.g., parts cannot be split, and continuous quantities must retain precision). For example, parts units (such as PCS / EA / SET and unknown units) should be rounded up (it is better to over-procure than under-procuring, and they cannot be split), and continuous quantity units (such as KG / M / L) should retain 3 decimal places. Floating-point noise less than 0.001 should be discarded.
[0063] PCS, EA, and SET are units of measurement used in manufacturing / supply chain. PCS stands for Pieces, meaning one piece / piece; EA stands for Each, meaning one unit / piece / set; and SET stands for Set / set. KG / M / L represent three commonly used continuous units of measurement: weight, length, and volume, respectively.
[0064] In some implementations, an algorithm that "allocates the remaining amount of each PO to each PO proportionally" can be used and written to srm_po_demand_lines as an old table; this algorithm may produce 6 decimal places and some outliers exceeding the total amount of a single PO in a multi-PO scenario. srm_po_demand_lines is used to split the daily demand lines by (PO, date).
[0065] In other embodiments, the algorithm described above, which involves "allocating according to the proportion of the supplier's remaining undelivered quantity + rounding down by the unit of measurement," can also be used and written into `srm_material_demand_lines` as the current master table. The current system can run two sets of inverse calculations end-to-end. `srm_material_demand_lines` is used to create daily demand lines that are uniquely categorized by (supplier, material, date), carrying the demand line state machine for the portal / review / delivery order to read.
[0066] The old table can be temporarily retained for auditing delivery notes and preserving historical commitments, while the new table can be used by various business units to read the main table.
[0067] Optionally, in this embodiment, the data processing method may further include: Based on the demand date of the material and the material supply quantity of each supplier for the corresponding material, a daily demand record of the material is constructed. The daily demand record includes multiple daily demand items, and each daily demand item includes the material supply quantity of the corresponding supplier on the corresponding demand date. Each daily demand item corresponds to one day.
[0068] One daily demand item is also known as a daily demand line. A daily demand line (demand_line) refers to a final "(supplier, material, date, quantity)" record, which is the smallest unit that the supplier actually sees in the SRM (Supplier Relationship Management) portal and uses to answer delivery dates and shipments. In some embodiments, daily demand lines can be stored in the table srm_po_demand_lines in units of (PO, date); or they can be uniquely stored in the table srm_material_demand_lines in units of (supplier, material, date), serving as the main table for reading from the current supplier portal, review, and delivery note.
[0069] Optionally, in this embodiment, the data processing method may further include: Obtain a preset mapping relationship set, which includes the mapping relationship between preset material categories and preset early opening receiving time; For each daily demand item, the category corresponding to the material is matched with the preset material category in the preset mapping relationship set; When a match is successful, the number of days for early receipt of the material is determined according to the preset early opening time corresponding to the preset material category. Based on the advance receipt days and the material demand date, determine the open receipt date for the materials in the daily demand item; If a match is not found, the open receipt date for the material in the daily demand item is determined based on the default advance receipt days and the demand date of the material.
[0070] The open receipt date, also known as the order processing open date, refers to the earliest date on which the supplier is allowed to deliver goods to the warehouse for a given daily demand. It is equal to the demand date minus the "advance_days" for that material category. "advance_days" is the preset advance receipt time for that material category, i.e., the specific number of days to receive goods in advance. The default advance receipt days can be set according to actual needs, such as 10 days.
[0071] Specifically, "advance_days" represents the number of days the warehouse opens its doors to suppliers for receiving goods in advance, i.e., the number of days until order processing begins. Suppliers can deliver goods to the warehouse starting from the "required date minus this number of days". The number of days varies depending on the material category, such as 14 days for packaging materials and 10 days for regular parts by default.
[0072] This embodiment can convert customer-level DPP into daily material-level demand and calculate the receiving time window according to category differences. The "order opening day" varies greatly for different material categories: packaging materials with large volume need to be delivered to the warehouse many days in advance to occupy space, regular parts have shorter lead times, and imported components with long lead times have even longer lead times. A maintainable "category × number of days" mapping table is required, and differentiation by factory is allowed.
[0073] Specifically, the preset mapping relationship set is a category × order opening days table. This embodiment can maintain a category opening days table (srm_category_advance_windows) to configure the number of days the warehouse can be opened for receiving goods in advance according to material category. The table structure can be: category_code: Category code, which takes the first few digits (or the first 2 digits) of the material part number to identify the category; category_name: Category name; plant_id: Plant identifier, used as a unique identifier for each plant for differentiated configuration; specifically, it can be uniformly set to NULL (universal across all plants), or it can be optionally extended according to the plant. advance_days: Number of days in advance (value range 0 to 180); Metadata such as note and is_active (whether it is valid / enabled).
[0074] The category × lead time mapping table uses the first N digits of the part number to identify the category and supports independent configuration at the factory level; when the factory level is not enabled, it matches the general configuration for the entire factory.
[0075] In a specific scenario, when writing daily demand lines, the system preloads the table as a mapping from "category code to days" all at once; for each daily demand, it looks up the advance number of days based on the first few digits of the material part number, and calculates "order opening date (earliest delivery date) = demand date". The table specifies the lead time in days and writes it to the demand line. If the category does not match, a default lead time of days is used (given by a system configuration item, which can default to 10 days). This table also has a management interface that supports adding, deleting, modifying, and querying data; one-click initialization from material category rules (seed); and backfilling open receipt dates for existing demand lines. Deactivation is a soft deletion, which does not change the calculated open receipt dates of historical demand lines.
[0076] This embodiment can adopt the "Dynamic Production Plan (DPP)" model, which splits orders into multiple "daily demand lines" according to the customer's production schedule calendar; suppliers deliver goods on a daily basis, and warehouses receive goods on a daily basis, which is applicable to the VMI (Vendor Managed Inventory) consignment model; the purchaser calculates the "order opening day" based on the demand date and lead time (i.e., the number of days the warehouse opens for receiving goods in advance, which is different from the traditional procurement lead time), and the supplier can deliver goods to the warehouse before that day.
[0077] Specifically, this embodiment can receive customer-level dynamic production plans (DPP) organized at the work order level, perform structured parsing on them, and obtain several parameter combinations for each work order, including at least the machine part number, the required date, and the required quantity. Using the parameter combinations as input, the system recursively expands to the raw material level according to the bill of materials (BOM), and aggregates them by material and date to obtain the daily material-level requirements. When the same raw material corresponds to multiple purchasing entities on the same date, the daily requirements are allocated according to the proportion of the remaining undelivered quantity of each purchasing entity. The purchasing entity can be a purchase order (PO) or a supplier. The system queries the lead time corresponding to the raw material category in a predefined category × lead time mapping table. The system calculates the earliest delivery date as equal to the required date minus the lead time and writes it into the daily requirements row record.
[0078] This embodiment can also provide a bidirectional state machine at the PO and demand row levels, where the overall state of the PO is independent of the detailed row state and consistency must be guaranteed.
[0079] Optionally, in this embodiment, the data processing method may further include: Set the initial status of the daily request items to "pending response"; When the supplier replies that the committed supply quantity for the daily demand item is not less than the corresponding material supply quantity, the status of the daily demand item is updated to "approved". When the supplier replies that the promised supply quantity is less than the corresponding material supply quantity, the status of the daily demand item is updated to pending review, so that the daily demand item in the pending review status can be reviewed.
[0080] When the supplier's delivery commitment is inconsistent with the purchaser's requirements, a review workflow is required. The review result can be acceptance, rejection, or offline communication.
[0081] This embodiment can maintain an independent state machine for daily demand lines: initially, it is pending response. After the supplier responds, it is automatically approved or pending review depending on whether the promised quantity is not less than the demand quantity (i.e., the above-mentioned material supply quantity). Then, it is manually reviewed and transferred to one of the following: accepted, rejected, or offline communication. This state machine is decoupled from the PO-level state machine but maintains consistency constraints. The PO state can only be advanced to production when all relevant daily demand lines are accepted or automatically approved.
[0082] Optionally, in this embodiment, after the step "update the status of the daily requirement item to a pending review status, so as to perform review processing on the daily requirement item in the pending review status", it may further include: When the supplier fulfills its commitment, the status of the daily demand item in the pending review status will be updated to the review accepted status. When the status of the daily demand item is updated to "review rejected" after review, the supplier commitment quantity, supplier response time, and supplier response remarks fields of the daily demand item are cleared.
[0083] During the review process, the operation is rejected, and the supplier commitment quantity, supplier response time, and supplier response remarks fields for that daily demand line are cleared, forcing the supplier to re-respond with the delivery date.
[0084] Optionally, in this embodiment, the data processing method may further include: When all the daily requirements for an order are in the "passed" or "reviewed and accepted" status, the order status is updated to "production" status.
[0085] Specifically, when recalculating the same DPP, if the (subject, material, date) already exists, the quantity will be updated; if the supplier has previously responded and the quantity has changed, the line will be marked "Pending Review" and the old review confirmation information will be cleared, pending reprocessing by PMC (Production and Material Control). Old requirement lines that are no longer involved in this recalculation and for which the supplier has not yet responded can be safely deleted (the date is no longer in the schedule), while responded lines will be retained for auditing purposes.
[0086] Specifically, the PMC can be responsible for coordinating the entire production and operation process from order acceptance to delivery.
[0087] In this embodiment, the PO-level state machine and the demand row-level state machine work together bidirectionally; the initial state is achieved as soon as the demand row is calculated and written. The values and interpretations of the two types of state machines are as follows: In the row-level state machine of the requirements (field pmc_confirm_status), the status can include: PENDING, ACCEPTED_AUTO, NEEDS_REVIEW, ACCEPTED, REJECTED, OFFLINE_NEGOTIATING, etc.
[0088] Among them, PENDING indicates pending response, meaning the supplier has not yet responded. ACCEPTED_AUTO indicates automatic approval; specifically, this state is automatically entered when the supplier's committed quantity is greater than or equal to the demand quantity, requiring no manual intervention. NEEDS_REVIEW indicates pending review, meaning the supplier's committed quantity is less than the demand quantity. ACCEPTED indicates acceptance, specifically acceptance by the PMC during review. REJECTED indicates rejection, meaning rejection by the PMC during review. OFFLINE_NEGOTIATING indicates ongoing offline communication, an intermediate state where further review is possible.
[0089] In the PO-level state machine (the status field), the states can include: NEW, SUPPLIER_REVIEWING, IN_PRODUCTION, FULFILLING, CLOSED, etc.
[0090] Among them, NEW status indicates that the data has been synchronized but the supplier has not been notified. SUPPLIER_REVIEWING (REVIEWING) indicates that the supplier has been notified and is awaiting a delivery date. IN_PRODUCTION (PRODUCTION) indicates that the supplier has responded and production has begun. FULFILLING (FULFILLING) indicates that delivery has started. CLOSED indicates that the project has been closed.
[0091] Triggering Timing and Collaboration: After the demand line is generated, it enters the PENDING state; when the supplier responds to the portal, it is automatically sorted into ACCEPTED_AUTO or NEEDS_REVIEW state according to whether the "committed quantity is greater than or equal to the demand quantity". When it falls into NEEDS_REVIEW and there is a change compared to the last time, an email notification is triggered to the purchasing and PMC; the PO level status is advanced from NEW state to SUPPLIER_REVIEWING state when "the first supplier response is received".
[0092] The two state machines are decoupled but maintain consistency constraints: the PO state can only advance to the IN_PRODUCTION state when all relevant requirement lines are in the ACCEPTED or ACCEPTED_AUTO state.
[0093] This embodiment can provide a PMC batch review interface and a strict state machine whitelist.
[0094] The PMC review interface (specifically, POST / srm-admin / po / {po_id} / review) receives the daily request lines to be reviewed, serving as the entry point for human-machine collaboration. Input parameters include the po_id in the path, the list of request line identifiers in the request body, and the action (accept / reject / offline). Review can be initiated manually by the PMC, but the system can impose strict constraints on "which lines can be modified, to what status they can be modified, and which fields will be affected after modification."
[0095] Accept: Marked ACCEPTED, it means that the supplier's commitment quantity will be fulfilled; The reject option marks REJECTED and clears the three fields supplier_promised_qty (supplier commitment quantity), supplier_replied_at (supplier response time), and supplier_reply_note (supplier response remarks field) in the request line, forcing the supplier to re-respond with the delivery date; offline: marked OFFLINE_NEGOTIATING, indicating that the process does not block the flow, and can be reviewed later.
[0096] For a strict state machine whitelist, it can specifically be: only rows with the status NEEDS_REVIEW or OFFLINE_NEGOTIATING and where the supplier has responded (the committed amount is not empty) can be modified by the review interface to prevent accidentally changing rows that have been ACCEPTED_AUTO / ACCEPTED / PENDING. The review actions and status changes are written to the immutable audit log (including snapshots before and after the change) to ensure traceability.
[0097] Specifically, the verification interface in this embodiment can apply dual filtering at the data storage layer: the first is attribution filtering, which only allows modification of daily demand lines whose identifiers are within the request set and belong to this PO entity. The attribution is expressed as the purchase order identifier being equal, or as the supplier identifier and material identifier being equal at the same time. The second is status whitelist filtering, where any identifiers in the request that do not meet the attribution requirement are counted and prompted in the response to prevent forged identifiers from being tampered with across entities.
[0098] Optionally, in this embodiment, the step "reviewing the daily requirements to be reviewed" may include: When the review interface receives a daily requirement item to be processed, it obtains a review whitelist, which includes the status of allowing review. When the status of the pending daily demand item does not belong to the status in the whitelist, the pending daily demand item is filtered. When the status of the pending daily demand item belongs to the status in the whitelist, the pending daily demand item is reviewed.
[0099] In a specific embodiment, manual review adopts a status whitelist mechanism, which only allows the transfer of lines that are pending review or in offline communication and that the supplier has responded to, and prohibits modification of lines that have been automatically approved or accepted.
[0100] Optionally, in this embodiment, the data processing method may further include: When a processing request for a target daily demand item is received from a supplier, the attribution identifier is determined based on the order identifier, supplier identifier, and material code corresponding to the current purchase order. The request identifier corresponding to the processing request is matched with the attribution identifier; When the request identifier corresponding to the processing request does not match the attribution identifier, the processing request is filtered.
[0101] Specifically, the attribution identifier can be the order identifier corresponding to the current purchase order, the supplier identifier corresponding to the current purchase order, or the material code corresponding to the current purchase order.
[0102] Specifically, the verification interface can apply two layers of filtering at the database query layer to prevent malicious clients from forging the identity of other entities' request lines and making unauthorized modifications: the first layer is attribution filtering, and the second layer is status whitelist filtering.
[0103] For attribution filtering, the specific steps are: only request lines whose identifiers are in the request list and belong to this PO entity are retrieved. Attribution can be expressed in the implementation as "supplier_id equals this PO's supplier and item_code equals this PO's material" (the request line table srm_material_demand_lines can be organized by supplier and material dimensions, excluding PO foreign key columns). In an implementation organized by (PO, date), this is equivalent to "purchase_order_id equals path_po_id". Any identifiers in the request that do not meet the attribution criteria are counted in wrong_po_count, silently skipped, and explicitly indicated in the response as "not belonging to this PO".
[0104] Status whitelist filtering can specifically apply a status whitelist to rows that have already been assigned to a status.
[0105] The two layers of filtering work together to "prevent unauthorized modification of requests from other entities" and "prevent accidental modification of unverifiable states".
[0106] Optionally, in this embodiment, the data processing method may further include: When an access request is received from a supplier, the purchase orders and daily demand items corresponding to the supplier are filtered and displayed in a limited manner based on the account token carried in the access request.
[0107] In this embodiment, strict multi-entity isolation and tamper-proofing are supported. When multiple vendor accounts share the same SRM platform, the visibility of Purchase Orders (POs) must be strictly isolated (supplier A cannot see supplier B's POs), and cross-entity tampering of forged requirement line identifiers must be prevented.
[0108] This application provides a method for supplier rolling demand splitting and open receipt date calculation based on dynamic production planning (DPP). It can structurally parse the DPP file to obtain (machine type, date, quantity) triples, use these triples as input for multi-level BOM expansion and daily aggregation, allocate the remaining undelivered quantities from multiple suppliers according to the proportion and round down by unit of measurement, and then calculate the order opening date based on material category differences. Simultaneously, it utilizes a dual-state machine at the PO level and demand line level, and applies cross-entity anti-tampering constraints at the review interface. In actual testing, a single DPP can be automatically split into approximately 78,000 daily demand lines.
[0109] DPP refers to dynamically generating or adjusting production plans based on real-time demand, inventory, capacity, and other data, rather than static plans with fixed cycles.
[0110] This application falls under the field of Supplier Relationship Management (SRM) and Supply Chain Collaboration, specifically involving the reverse calculation of customer-level production scheduling to material-level requirements, proportional allocation among multiple suppliers, calculation of warehouse receiving windows differentiated by product category, and supplier delivery date verification workflow and anti-unauthorized tampering under a multi-entity shared platform.
[0111] In a specific scenario, the logical main thread of the solution provided in this application is a top-down data flow, and the specific steps can be as follows: S1. Parse the DPP file in a structured manner to obtain triples; S2. Multi-level BOM expansion and proportional allocation among multiple entities generate daily demand lines; S3. Calculation of open receipt date: Calculate the earliest available delivery date by category and write it into the demand line; S4. State transition, through bidirectional collaboration between the PO-level state machine and the demand line-level state machine: the demand line is initially in the state of pending response, and after the supplier's response deadline, it is automatically diverted to automatic approval or pending review, and the PO-level state progresses with the first response; S5. Review: PMC makes manual decisions on daily review requests, and the system imposes stronger constraints. S6. The verification interface applies a whitelist and subject attribution dual filter at the database layer to prevent tampering.
[0112] In specific scenarios, this application can perform a one-time reverse calculation on the DPP file (which contains 2714 task lines, of which 2708 work orders are involved in the reverse calculation), generating 77898 daily requirement lines, and correctly filling in all order opening dates (earliest_arrival_date); 10179 real POs are automatically split by day, and active suppliers can independently view their own POs and daily requirements and answer delivery dates through the SRM portal; Furthermore, allocating according to the supplier's remaining quantity and rounding to the nearest whole number eliminates the 6-decimal-place decimals and outliers that result from allocating according to the PO ratio, and the vast majority of single-supplier materials do not generate allocation.
[0113] In addition, compared to similar "allowed advance delivery days" mechanisms that only provide a single default advance delivery days (such as 7 days), the "category × number of days" dimension of this application is more refined, the default advance delivery days are configurable (currently the default can be set to 10 days), and reserves space for expansion based on factory differences.
[0114] Furthermore, the cross-entity tampering defense adopts JWT authentication isolation with independent audience and server-side atomic updates (only allowing modification of the requirement lines associated with this PO, this supplier, and this material), which blocks unauthorized tampering of demand_id across POs and suppliers from the mechanism, and displays the count of unauthorized IDs; rejection automatically clears the supplier's response and forces a re-response, and the entire review process is auditable and traceable.
[0115] Among them, JWT authentication isolation is based on the JWT Token of independent audience to realize the authentication isolation of suppliers, ensuring that they can only access the PO / supplier / materials that they have permission to access.
[0116] JWT (JSON Web Token Authentication) is a stateless token authentication mechanism. Specifically, after a user logs in, the server issues an encrypted string token (JWT). Subsequent requests from the client include this token, and the server can verify the signature to identify the user's identity without needing to query the database.
[0117] In a specific scenario, for "JWT authentication isolation for independent audiences," when issuing the token, the server writes "aud: "supplier_A" into the JWT payload, restricting the token to be valid only for supplier A; while when accessing the portal: the supplier carries this token in the request to / srm / The interface is then used for signature verification on the server side. The JWT is parsed to check if the audience matches the currently accessed supplier entity; if not, the request is rejected. Finally, when processing the request, the attribution filter (supplier_id + item_code) is used to double-confirm "who you are" and "what you can change".
[0118] Server-side atomic update refers to performing an atomic update on matching items on the server side, restricting modification to only the demand line belonging to the current purchase order, current supplier, and current material; specifically, the update enforces validation of the three elements "PO + supplier + material", so that even if the front end passes someone else's demand_id, the back end can reject it.
[0119] The count echoing mechanism specifically returns the count of unauthorized access IDs to the caller. This transparent mechanism lets the caller know how many accesses have been blocked.
[0120] Specifically, the SRM system can create 9 core tables in PostgreSQL, and the relationship between each table and the steps in this case is as follows: srm_supplier_accounts is used for long-term login accounts of suppliers (as opposed to single-use tokens), and it supports multiple supplier logins and visibility isolation. srm_dpp_uploads is used to record DPP file upload batches (one record per upload), associated with the demand lines calculated from this batch, for tracing and recalculation; srm_purchase_orders is used for SRM PO master files (mirrored intermediate library POs aggregated by document and serial number), and is the carrier for inverse calculation of allocation, providing total quantity / delivered quantity to calculate the remaining undelivered quantity; srm_po_demand_lines are used to extract daily demand lines by (PO, date), which can be retained for historical and shipping document audits; srm_material_demand_lines are used to create daily demand lines that are uniquely categorized by (supplier, material, date), carrying the demand line state machine for the portal / review / delivery order to read; srm_category_advance_windows is a configuration table for category × number of days the order is open, and the open receiving date is calculated accordingly. srm_asns / srm_asn_lines are the master table and detail rows of the supplier's shipping order (ASN), which are the downstream executions of confirmed demand lines; srm_audit_logs are immutable, append-only audit logs that record reviews, category window changes, account operations, etc., supporting security auditing and tamper-proof traceability.
[0121] This application enables a dual-account system and visibility isolation. Specifically, internal accounts (operator, data_admin, and admin at three levels) can access / srm-admin / through the existing login in the internal SRM management backend. Routing; vendor accounts access / srm / only with a separate token The supplier portal uses completely isolated URL paths to prevent unauthorized access. It only displays the supplier's own Product Owner (PO) and daily requirements, and uses attribution filtering to enable secure collaboration among multiple stakeholders.
[0122] This application can construct a dual-account system of internal operation accounts and supplier accounts, and access the management backend and supplier portal respectively through different URL routing prefixes to achieve path-level isolation; the supplier portal only displays the purchase orders and daily demand lines corresponding to the currently logged-in supplier; combined with the aforementioned attribution filtering, the subject verification of the data processing requests submitted by the supplier is performed to achieve data isolation and collaboration in a multi-supplier environment.
[0123] The core code modules of this application may include srm_dpp_service.py, srm / admin_po.py, srm / admin_category_windows.py, and srm / supplier_po.py.
[0124] Among them, srm_dpp_service.py is used for end-to-end DPP uploading, parsing and reverse calculation (including two sets of reverse calculations for old PO proportional allocation and new supplier proportional allocation, category open receipt date calculation, idempotency and self-healing); srm / admin_po.py is used for PO management and PMC batch review interface (status whitelist, attribution filtering, auditing); The srm / admin_category_windows.py file is used for adding, deleting, modifying, and querying the category open days table, as well as one-click initialization and backfilling. The srm / supplier_po.py file is used for supplier response time (automatic routing of responses to automatic approval or pending review, notification for non-compliance, prevention of unauthorized access, and concurrent coverage).
[0125] As can be seen from the above, this embodiment can obtain a set of work orders, which includes production product information, output, and demand dates for multiple work orders. For each work order, the production material list corresponding to the work order is queried based on the production product information, and at least one material required by the work order and the material demand quantity corresponding to each material are determined according to the production material list and the output. The material demand quantities of the materials corresponding to each work order are aggregated according to the materials and the demand dates of each work order in the work order set to obtain the daily demand quantity of each material required by the work order set. The supply weight coefficient of each supplier is calculated based on the unsubmitted material quantity of the materials by multiple suppliers. Based on the supply weight coefficient of each supplier, the daily demand quantity of the materials is weighted and allocated to determine the material supply quantity corresponding to each supplier.
[0126] This application can deduce the daily demand quantity of materials based on the product information of the work order, and allocate the daily demand quantity of materials according to the supplier. This allows the daily material supply quantity of each supplier to be obtained, enabling suppliers to deliver goods on a daily basis and warehouses to receive goods on a daily basis, so that delivery can accurately match the daily production demand and achieve just-in-time supply.
[0127] refer to Figure 2 This is another flowchart of the data processing method in this application. The specific description is as follows: 201. Obtain a set of work orders, which includes production product information, output, and demand date for multiple work orders.
[0128] 202. For each work order, query the production material list corresponding to the work order based on the production product information, and determine at least one material required for the work order and the material requirement quantity corresponding to each material based on the production material list and the output.
[0129] 203. Based on the material and the demand date of each work order in the work order set, aggregate the material demand quantity of the corresponding material for each work order to obtain the daily demand quantity of each material required by the work order set.
[0130] 204. Query the current open orders for the material and determine the quantity of unsubmitted materials corresponding to the open orders.
[0131] 205. Based on the supply entity corresponding to each open order, aggregate the quantity of unsubmitted materials corresponding to each open order by supply entity to determine the quantity of unsubmitted materials for each supply entity for the material.
[0132] 206. Calculate the supply weight coefficient for each supplier based on the quantity of unsubmitted materials for the material from multiple suppliers.
[0133] 207. Based on the supply weight coefficient of each supplier, the daily demand quantity of the material is weighted and allocated to determine the material supply quantity corresponding to each supplier.
[0134] To better implement the above methods, embodiments of this application also provide a data processing apparatus, such as... Figure 3 As shown, the data processing device may include an acquisition unit 301, a material determination unit 302, an aggregation unit 303, a proportion calculation unit 304, and an allocation unit 305, as follows: (1) Obtain unit 301; The acquisition unit is used to acquire a set of work orders, which includes production product information, output, and demand date of multiple work orders.
[0135] (2) Material determination unit 302; The material determination unit is used to query the production material list corresponding to each work order based on the production product information, and determine the at least one material required for the work order and the material demand quantity corresponding to each material based on the production material list and the output.
[0136] Optionally, in some embodiments of this application, the material determination unit may include a unit consumption calculation subunit and a determination subunit, as follows: The unit consumption calculation subunit is used to determine, based on the production bill of materials, at least one material required for the work order and the unit consumption corresponding to each material, wherein the unit consumption represents the quantity of materials required to produce a single product; A sub-unit is defined to determine the material requirement quantity corresponding to the materials required for the work order based on the output of the work order and the unit consumption of the materials required for the work order.
[0137] (3) Aggregation unit 303; The aggregation unit is used to aggregate the material demand quantities of the materials corresponding to each work order according to the materials and the demand dates of each work order in the work order set, so as to obtain the daily demand quantities of each material required by the work order set.
[0138] (4) Percentage calculation unit 304; The percentage calculation unit is used to calculate the supply weight coefficient of each supplier based on the quantity of unsubmitted materials for the material by multiple suppliers.
[0139] Optionally, in some embodiments of this application, the data processing apparatus further includes a unit for determining the quantity of unsubmitted materials, as follows: The unsubmitted material quantity determination unit is used to query the current open orders for the material, determine the unsubmitted material quantity corresponding to the open orders, and aggregate the unsubmitted material quantities corresponding to each open order by the supply entity to determine the unsubmitted material quantity for each supply entity for the material.
[0140] (5) Allocation unit 305; The allocation unit is used to weight and allocate the daily demand quantity of the material based on the supply weight coefficient of each supplier, and to determine the material supply quantity corresponding to each supplier.
[0141] Optionally, in some embodiments of this application, the data processing apparatus further includes a daily demand record construction unit, as follows: The daily demand record construction unit is used to construct a daily demand record for the material based on the demand date of the material and the material supply quantity of each supplier for the material. The daily demand record includes multiple daily demand items, and each daily demand item includes the material supply quantity of the corresponding supplier on the corresponding demand date. Each daily demand item corresponds to one day.
[0142] Optionally, in some embodiments of this application, the data processing apparatus further includes an open receipt date calculation unit, as follows: The open receipt date calculation unit is used to obtain a preset mapping relationship set, which includes a mapping relationship between preset material categories and preset early open receipt times; for each daily demand item, the category corresponding to the material is matched with the preset material category in the preset mapping relationship set; when the match is successful, the number of early receipt days corresponding to the material is determined according to the preset early open receipt time corresponding to the matched preset material category; the open receipt date for the material in the daily demand item is determined according to the number of early receipt days and the demand date of the material; when the match is unsuccessful, the open receipt date for the material in the daily demand item is determined based on the default number of early receipt days and the demand date of the material.
[0143] Optionally, in some embodiments of this application, the data processing apparatus further includes a status update unit, as follows: The status update unit is used to set the initial status of the daily demand item to a pending response status; when the supplier replies that the committed supply quantity for the daily demand item is not less than the corresponding material supply quantity, the status of the daily demand item is updated to a passed status; when the supplier replies that the committed supply quantity is less than the corresponding material supply quantity, the status of the daily demand item is updated to a pending review status, so that the daily demand item in the pending review status can be reviewed.
[0144] Optionally, in some embodiments of this application, the data processing apparatus further includes a verification unit, as follows: The review unit is used to update the status of the daily demand item in the pending review state to the review acceptance state when the supplier performs according to the promised quantity; and to clear the supplier's promised quantity, supplier's response time, and supplier's response remarks fields of the daily demand item when the status of the daily demand item is updated to the review rejection state after review.
[0145] Optionally, in some embodiments of this application, the data processing apparatus may further include an order status update unit, as follows: The order status update unit is used to update the order status to production status when the status of all relevant daily demand items of the order is in the pass or review and acceptance status.
[0146] Optionally, in some embodiments of this application, the review unit may further be used to obtain a review whitelist when the review interface receives a daily requirement item to be processed, the review whitelist including states that allow review; when the state of the daily requirement item to be processed does not belong to the states in the whitelist, filter the daily requirement item to be processed; when the state of the daily requirement item to be processed belongs to the states in the whitelist, perform review processing on the daily requirement item to be processed.
[0147] Optionally, in some embodiments of this application, the data processing apparatus may further include a home filtering unit, as follows: The attribution filtering unit is used to determine the attribution identifier based on the order identifier, supplier identifier, and material code corresponding to the current purchase order when it receives a processing request for a target daily demand item submitted by a supplier; match the request identifier corresponding to the processing request with the attribution identifier; and filter the processing request when the request identifier corresponding to the processing request does not match the attribution identifier.
[0148] Optionally, in some embodiments of this application, the data processing apparatus may further include an access restriction unit, as follows: The access restriction unit is used to filter and restrict the display of purchase orders and daily demand items corresponding to the supplier based on the account token carried in the access request when it receives an access request from the supplier.
[0149] As can be seen from the above, in this embodiment, the acquisition unit 301 can acquire a set of work orders, which includes production product information, output, and demand dates for multiple work orders; the material determination unit 302, for each work order, queries the production material list corresponding to the work order based on the production product information, and determines at least one material required for the work order and the material demand quantity corresponding to each material based on the production material list and the output; the aggregation unit 303 aggregates the material demand quantities corresponding to each work order according to the materials and the demand dates of each work order in the work order set to obtain the daily demand quantity of each material required for the work order set; the proportion calculation unit 304 calculates the supply weight coefficient of each supplier based on the quantity of unsubmitted materials for the materials by multiple suppliers; and the allocation unit 305 performs weighted allocation of the daily demand quantity of the materials based on the supply weight coefficient of each supplier to determine the material supply quantity corresponding to each supplier.
[0150] This application can deduce the daily demand quantity of materials based on the product information of the work order, and allocate the daily demand quantity of materials according to the supplier. This allows the daily material supply quantity of each supplier to be obtained, enabling suppliers to deliver goods on a daily basis and warehouses to receive goods on a daily basis, so that delivery can accurately match the daily production demand and achieve just-in-time supply.
[0151] This application also provides an electronic device, such as... Figure 4 The diagram shows a schematic representation of the structure of an electronic device according to an embodiment of this application. This electronic device can be a terminal or a server, specifically: The electronic device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, and an input unit 404. Those skilled in the art will understand that... Figure 4 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein: The processor 401 is the control center of the electronic device, connecting various parts of the device via various interfaces and lines. It executes software programs and / or modules stored in the memory 402, and calls data stored in the memory 402, to perform various functions and process data. Optionally, the processor 401 may include one or more processing cores; preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 401.
[0152] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.
[0153] The electronic device also includes a power supply 403 that supplies power to the various components. Preferably, the power supply 403 can be logically connected to the processor 401 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 403 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0154] The electronic device may also include an input unit 404, which can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
[0155] Although not shown, the electronic device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 401 in the electronic device loads the executable files corresponding to the processes of one or more applications into the memory 402 according to the following instructions, and the processor 401 runs the applications stored in the memory 402 to execute the steps in any of the data processing methods provided in the embodiments of this application.
[0156] As can be seen from the above, this embodiment can obtain a set of work orders, which includes production product information, output, and demand dates for multiple work orders. For each work order, the production material list corresponding to the work order is queried based on the production product information, and at least one material required by the work order and the material demand quantity corresponding to each material are determined according to the production material list and the output. The material demand quantities of the materials corresponding to each work order are aggregated according to the materials and the demand dates of each work order in the work order set to obtain the daily demand quantity of each material required by the work order set. The supply weight coefficient of each supplier is calculated based on the unsubmitted material quantity of the materials by multiple suppliers. Based on the supply weight coefficient of each supplier, the daily demand quantity of the materials is weighted and allocated to determine the material supply quantity corresponding to each supplier.
[0157] This application can deduce the daily demand quantity of materials based on the product information of the work order, and allocate the daily demand quantity of materials according to the supplier. This allows the daily material supply quantity of each supplier to be obtained, enabling suppliers to deliver goods on a daily basis and warehouses to receive goods on a daily basis, so that delivery can accurately match the daily production demand and achieve just-in-time supply.
[0158] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0159] Therefore, embodiments of this application provide a computer-readable storage medium storing a plurality of instructions that can be loaded by a processor to execute steps in any of the data processing methods provided in embodiments of this application.
[0160] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0161] Since the instructions stored in the computer-readable storage medium can execute the steps of any of the data processing methods provided in the embodiments of this application, the beneficial effects that any of the data processing methods provided in the embodiments of this application can achieve can be realized, as detailed in the preceding embodiments, and will not be repeated here.
[0162] According to one aspect of this application, a computer program product is provided, which includes a computer program that, when executed by a processor, can implement the steps in the data processing method described above in the embodiments of this application.
[0163] The processor of the electronic device reads computer instructions from a computer-readable storage medium, executes the computer instructions, and causes the electronic device to perform the methods provided in the various alternative implementations of the above-described data processing.
[0164] The above description is merely a preferred embodiment of this application, but the scope of protection of this application is not limited thereto. It should be noted that, for those skilled in the art, several equivalent obvious modifications and / or equivalent substitutions can be made without departing from the technical principles of this application, and these obvious modifications and / or equivalent substitutions should also be considered within the scope of protection of this application.
Claims
1. A data processing method, characterized in that, include: Obtain a set of work orders, which includes production product information, output, and demand date for multiple work orders; For each work order, the production material list corresponding to the work order is queried based on the production product information, and at least one material required for the work order and the unit consumption of each material are determined according to the production material list, wherein the unit consumption represents the quantity of material required to produce a single product; Based on the output of the work order and the unit consumption of the materials required by the work order, determine the material demand quantity corresponding to the materials required by the work order; Based on the material and the demand date of each work order in the work order set, the material demand quantity corresponding to each work order is aggregated to obtain the daily demand quantity of each material required by the work order set. Calculate the supply weighting coefficient for each supplier based on the quantity of unsubmitted materials for the material from multiple suppliers; Based on the supply weight coefficients of each supplier, the daily demand for the materials is weighted and allocated to determine the material supply quantity corresponding to each supplier.
2. The method according to claim 1, characterized in that, The method further includes: Query the current open orders for the material and determine the quantity of unsubmitted material corresponding to the open orders; Based on the supply entity corresponding to each open order, the quantity of unsubmitted materials corresponding to each open order is aggregated by supply entity to determine the quantity of unsubmitted materials for each supply entity for the material.
3. The method according to claim 1, characterized in that, The method further includes: Based on the demand date of the material and the material supply quantity of each supplier for the corresponding material, a daily demand record of the material is constructed. The daily demand record includes multiple daily demand items, and each daily demand item includes the material supply quantity of the corresponding supplier on the corresponding demand date. Each daily demand item corresponds to one day.
4. The method according to claim 3, characterized in that, The method further includes: Obtain a preset mapping relationship set, which includes the mapping relationship between preset material categories and preset early opening receiving time; For each daily demand item, the category corresponding to the material is matched with the preset material category in the preset mapping relationship set; When a match is successful, the number of days for early receipt of the material is determined according to the preset early opening time corresponding to the preset material category. Based on the advance receipt days and the material demand date, determine the open receipt date for the materials in the daily demand item; If a match is not found, the open receipt date for the material in the daily demand item is determined based on the default advance receipt days and the demand date of the material.
5. A data processing apparatus, characterized in that, include: The acquisition unit is used to acquire a set of work orders, which includes production product information, output, and demand date of multiple work orders. The material determination unit is used to query the production material list corresponding to the work order based on the production product information for each work order, and determine at least one material required for the work order and the unit consumption of each material according to the production material list, wherein the unit consumption represents the quantity of material required to produce a single product; and determine the material demand quantity corresponding to the material required for the work order based on the output of the work order and the unit consumption of the materials required for the work order. The aggregation unit is used to aggregate the material demand quantity of the corresponding material for each work order according to the material and the demand date of each work order in the work order set, so as to obtain the daily demand quantity of each material required by the work order set. The proportion calculation unit is used to calculate the supply weight coefficient of each supplier based on the quantity of unsubmitted materials for the material by multiple suppliers. The allocation unit is used to weight and allocate the daily demand quantity of the material based on the supply weight coefficient of each supplier, and to determine the material supply quantity corresponding to each supplier.
6. The apparatus according to claim 5, characterized in that, The data processing device further includes: The daily demand record construction unit is used to construct a daily demand record for the material based on the demand date of the material and the material supply quantity of each supplier for the material. The daily demand record includes multiple daily demand items, and each daily demand item includes the material supply quantity of the corresponding supplier on the corresponding demand date. Each daily demand item corresponds to one day.
7. The apparatus according to claim 5, characterized in that, The data processing device further includes: An open receipt date calculation unit is used to obtain a preset mapping relationship set, which includes a mapping relationship between preset material categories and preset early open receipt times; for each daily demand item, the category corresponding to the material is matched with the preset material category in the preset mapping relationship set; when the match is successful, the number of early receipt days corresponding to the material is determined according to the preset early open receipt time corresponding to the matched preset material category; the open receipt date for the material in the daily demand item is determined according to the number of early receipt days and the demand date of the material; when the match is unsuccessful, the open receipt date for the material in the daily demand item is determined based on the default number of early receipt days and the demand date of the material.
8. An electronic device, characterized in that, It includes a memory and a processor; the memory stores an application program, and the processor runs the application program within the memory to perform the operations in the data processing method according to any one of claims 1 to 4.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of instructions adapted for loading by a processor to perform the steps of the data processing method according to any one of claims 1 to 4.