A warehouse management state visualization method
By constructing a collaborative architecture of data layer, application layer and presentation layer, and combining a graphical interface framework and a 3D graphical interface, the system achieves full-process, multi-dimensional, and spatial visualization of warehouse management status, solving the problem of difficulty in grasping the real-time status and spatial distribution of materials, and improving the efficiency and accuracy of material management.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINESE PEOPLES LIBERATION ARMY UNIT 63811
- Filing Date
- 2026-01-29
- Publication Date
- 2026-06-19
AI Technical Summary
Existing warehouse management systems struggle to fully grasp the real-time status and spatial distribution of materials, impacting the efficiency and accuracy of material management.
A warehouse management system based on a client/server architecture is constructed, adopting a data layer, application layer, and presentation layer architecture. It utilizes a relational database to store full lifecycle data, develops a client through a graphical interface framework, and constructs a 3D digital twin scene by combining a 3D graphical interface to generate various visualization controls to display the location and status of materials.
It enables full-process, multi-dimensional, and spatial visualization of materials management, improving the efficiency and accuracy of materials management, and is suitable for high-reliability support scenarios such as aerospace launches.
Smart Images

Figure CN122243347A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of warehouse management technology, and more specifically to a method for visualizing warehouse management status. Background Technology
[0002] With the rapid development of the aerospace industry, material support, as a crucial support link in aerospace launch missions, has a significant impact on mission execution due to its management efficiency and accuracy. Warehouse management systems, as core tools for material management, are widely used in the warehousing, storage, and outbound processes of various materials. In existing technologies, warehouse management systems typically adopt a client / server architecture, storing material information through relational databases and providing a graphical user interface for data display and operation. These systems can achieve basic material information management, inventory query, and inbound / outbound operations, supporting users to add, delete, modify, and query materials through the interface, and generating corresponding reports and statistical information. In practical applications, these systems display inventory status through a two-dimensional interface, providing basic inventory warning and statistical analysis functions, meeting the basic needs of conventional warehouse management.
[0003] However, in the process of warehouse management, there are still shortcomings in the intuitive display and rapid location of material status. That is, it is difficult to fully grasp the real-time status and spatial distribution of materials, which affects the efficiency and accuracy of material management. Summary of the Invention
[0004] The purpose of this invention is to provide a method for visualizing the status of warehouse management, in order to solve the technical problem that it is difficult to fully grasp the real-time status and spatial distribution of materials, which affects the efficiency and accuracy of material management.
[0005] The technical solution of this invention is implemented as follows: A method for visualizing warehouse management status, applied to a client / server architecture-based warehouse management system, includes: The application architecture of the warehouse management system is constructed, and the application architecture includes a data layer, an application layer, and a presentation layer; The data layer is used to store the entire lifecycle data of warehoused materials based on a relational database; The application layer is used to develop clients based on a graphical interface framework and interacts with the data layer through the data access layer. The presentation layer is used to generate and display various predetermined types of visual controls based on the business data processed by the application layer through the control library of the graphical interface framework, and to construct a three-dimensional digital twin scene corresponding to the physical warehouse based on the three-dimensional graphical interface.
[0006] A further technical solution is that the various predetermined types of visualization controls include at least one of the following: inventory warning control, inspection reminder control, obsolete material control, single item detection control, and quantity statistics control. The inventory warning control is used to visualize the relationship between the material inventory quantity and the warning threshold through a progress bar. The pending inspection reminder control is used to visualize the relationship between the pending inspection time and the inspection cycle of materials through a progress bar. The old and worn materials control is used to visualize the relationship between the material entry time and the preset threshold through color changes. The single item detection control is used to visualize the information of single items in the warehouse. The quantity statistics control is used to visualize the quantity of materials entering and leaving the warehouse within a specified time range through a bar chart.
[0007] A further technical solution is that the generation and display of various predetermined types of visual controls through the control library of the graphical interface framework specifically includes: Using the custom control technology of the graphical interface framework, at least one warehouse management functional unit is encapsulated to form a corresponding reusable visual control; In response to the user's interface configuration operation, the reusable visual controls are combined and laid out in the graphical interface to generate a warehouse data analysis interface.
[0008] A further technical solution is that the construction of a 3D digital twin scene corresponding to the physical warehouse based on a 3D graphics interface includes: Based on the aforementioned 3D graphics interface, a 3D rendering window is created within the client. Read the data file describing the three-dimensional structure of the warehouse, and draw a three-dimensional model of the warehouse in the three-dimensional rendering window based on the data file; The location information of materials stored in the data layer is associated and mapped with the coordinates in the three-dimensional model to visualize the location of materials in the three-dimensional model.
[0009] A further technical solution is that, after associating and mapping the material location information with the coordinates in the three-dimensional model, the method further includes: In the three-dimensional digital twin scene, the location of the corresponding material in the three-dimensional scene is queried and highlighted based on the material's unique identification information.
[0010] A further technical solution is that the data layer stores at least the following lifecycle data: basic information of materials, inventory status information, inbound and outbound record information, quality inspection record information, inventory warning information, and material location information; It also includes tracing the quality information of materials that have been shipped out of the warehouse based on the full life cycle data.
[0011] A further technical solution is that the method further includes: A database connection switching interface is provided, enabling the application layer to switch between local and remote databases.
[0012] Further technical solutions also include: The client integrates a barcode scanning device and captures scanned data by listening to input events to complete the automatic entry of material information. And / or, by invoking the label printing driver through the client, a label containing material information is generated based on a predetermined template and then printed.
[0013] A further technical solution is that the business logic executed by the application layer includes at least: User authentication and permission management, addition, deletion, modification and query of basic material information, intelligent processing of inbound and outbound orders, manual correction of inventory discrepancies, real-time inventory query and export, inventory early warning analysis, pending inspection reminder analysis, analysis of accumulated materials, and statistical analysis of inbound and outbound quantities.
[0014] A further technical solution is that, in the application architecture, the operating systems of the server and client are Linux operating systems, the graphical interface framework is the Qt framework, and the relational database is a MySQL database.
[0015] The beneficial effects of this invention are as follows: By constructing an application architecture that coordinates the data layer, application layer, and presentation layer, and relying on a relational database to achieve reliable storage of data throughout its entire lifecycle, and by using a graphical interface framework and a 3D graphical interface to achieve the integrated presentation of 2D controls and 3D scenes, the goal of achieving full-process, multi-dimensional, and spatial visualization of warehouse management status is ultimately achieved. Without changing the baseline of domestically produced software and hardware, this solves the technical problem of difficulty in fully grasping the real-time status and spatial distribution of materials, which affects the efficiency and accuracy of material management. It provides a feasible, verifiable, and scalable technical path for high-reliability support scenarios such as aerospace launches. Attached Figure Description
[0016] Figure 1 A flowchart illustrating the steps of a warehouse management status visualization method provided in Example 1; Figure 2 This is a flowchart of a warehouse management status visualization method provided in Embodiment 2; Figure 3 A flowchart of the sub-steps of step 104 provided in Embodiment 2; Figure 4 A flowchart of the sub-steps of step 104 provided in Embodiment 2; Figure 5 A flowchart of the extended steps of step 104 provided in Embodiment 2; Figure 6 The overall architecture diagram of warehouse management provided by this invention; Figure 7 A module diagram of the warehouse management system provided by this invention; Figure 8 A flowchart illustrating the custom control technology provided by this invention; Figure 9 A flowchart for building a 3D scene provided by this invention. Detailed Implementation
[0017] To better understand the technical content of this invention, specific embodiments are provided below, and the invention will be further described in conjunction with the accompanying drawings. Example 1
[0018] Please see Figure 1 , Figures 6 to 9 This invention provides a method for visualizing warehouse management status, which includes the following steps: Step 101: Construct the application architecture of the warehouse management system, which includes a data layer, an application layer, and a presentation layer; The system is divided into three logical layers: data layer, application layer, and presentation layer. These layers define the responsibilities and interactions of the system's functional modules. This three-layer architecture is not a simple application of a general software layering model, but a responsibility separation structure specifically designed for domestically developed C / S architecture warehouse systems: the data layer focuses on the persistent organization and consistency assurance of data throughout its entire lifecycle; the application layer focuses on the encapsulation of client-side business logic and data access scheduling based on a graphical interface framework; and the presentation layer focuses on the collaborative output of two-dimensional control rendering and three-dimensional scene construction. In one alternative implementation, the construction method can be as follows: Under the operating system environment, the client main window is initialized based on the Qt 5.12.8 framework, and the data service module, business logic module, and UI rendering module are registered according to their functional responsibilities. Among them, the data service module acts as a data layer proxy, encapsulating database connection pool management, SQL statement pre-compilation, and transaction control; the business logic module acts as the core of the application layer, receiving user operation instructions and calling the data service module to complete CRUD operations, and performing localized validation of business rules such as inbound and outbound documents, early warning thresholds, and inspection cycles; the UI rendering module acts as the display layer carrier, receiving structured data packets pushed by the business logic module and driving the control library or 3D graphics interface to complete the visualization output. Furthermore, this construction method can also be implemented by: extending the cross-layer event bus based on the Qt signal-slot mechanism, defining standardized event types, so that changes in the data layer state can penetrate the application layer and directly trigger the refresh of the presentation layer controls, thereby reducing the latency of inter-layer calls; This invention clearly defines the data layer, application layer, and presentation layer, and limits their respective technical carrier forms and interaction methods. This allows the system to not only meet the requirements of domestic platforms for component controllability and auditability, but also provide clear interface contracts and extension boundaries for subsequent reuse of visualization controls and integration of 3D digital twins.
[0019] Step 102: The data layer is used to store the entire lifecycle data of warehouse materials based on a relational database; Among them, "relational database" specifically refers to a relational database system that supports ACID transactions, has a normalized table structure, and SQL query capabilities; its technical focus is on the database. "Full lifecycle data" refers to a data set that covers the entire process of materials from warehousing, storage, inspection, outbound to quality traceability, including basic information, inventory status, inbound and outbound records, quality inspection records, inventory warning information, and material location information. This status condition characteristic limits the time span and business integrity of the data carried by the data layer, rather than being limited to the current inventory snapshot. In one alternative implementation, the storage method can be: constructing a data model in the database consisting of four core data tables: an inventory table, an inspection record table, an early warning record table, and a user organizational structure table. These tables are interconnected through primary and foreign key relationships to form a normalized storage structure that conforms to the third normal form.
[0020] Specifically, the inventory table stores the basic attributes and current inventory status of materials; the inspection record table records the specific time, preset cycle, and remaining days of each quality inspection; the early warning record table maintains the dynamic early warning thresholds and sorting rules for various materials; and the user organization structure table is used to manage the tree-like hierarchical relationship of the warehouse and bind user permissions. Furthermore, this storage method can also employ database triggers to automatically maintain data consistency throughout its entire lifecycle. For example, when the "item status" of a certain material in the inventory table changes from "in stock" to "outbound," the trigger will automatically execute, writing a final inspection record to the inspection record table and simultaneously marking the warning status of the material as invalid in the warning record table. This invention uses a relational database to store full lifecycle data in the data layer, which not only ensures the traceability of the material's historical trajectory and the security of transactions, but also provides a structured, associative, and verifiable data foundation for the application layer to perform quality traceability analysis and the presentation layer to realize three-dimensional location mapping.
[0021] Step 103: The application layer is used to develop clients based on the graphical interface framework and interacts with the data layer through the data access layer to execute business logic; Among them, the "graphical interface framework" refers to the Qt framework; the "data access layer" refers to the intermediate logic layer that encapsulates database connection, SQL execution, and result set parsing; and the "execution business logic" refers to user authentication and permission management, adding, deleting, modifying, and querying basic material information, intelligent processing of inbound and outbound orders, manual correction of inventory discrepancies, real-time inventory query and export, inventory early warning analysis, pending inspection reminder analysis, analysis of obsolete materials, and statistical analysis of inbound and outbound quantities. This technical action limits the functional scope of the application layer, which is different from the pure interface rendering responsibilities of a general GUI framework. In one alternative implementation, the execution method can be: building an application layer main control module based on Qt controls, dividing the business logic into several subclasses such as user authentication, inventory service, check scheduling, and report generation, and each subclass sends asynchronous requests to the data access layer through the signal-slot mechanism and receives structured responses; Furthermore, the execution method can also adopt the following approach: to support offline operations, cache the most recently synchronized full data snapshot locally at the application layer. When the network is interrupted, non-strong consistency operations such as inventory query and difference correction can still be performed, and incremental merging can be completed by comparing timestamps after the network is restored. This invention achieves centralized control and efficient execution of business rules on a domestic platform by limiting the application layer to develop clients based on a graphical interface framework, interacting with the data layer through the data access layer, and executing specific business logic. This not only avoids the limitations of Web architecture in offline scenarios and hardware integration, but also provides a stable, low-latency, and semantically clear data supply channel for the presentation layer.
[0022] Step 104: The presentation layer is used to generate and display various predefined types of visual controls based on the business data processed by the application layer through the control library of the graphical interface framework, and to build a three-dimensional digital twin scene corresponding to the physical warehouse based on the three-dimensional graphical interface to realize the visualization of the warehouse management status.
[0023] Among them, "the control library of the graphical interface framework" refers to the standard controls and custom controls provided by Qt (such as circular progress bars and color gradient panels); "the three-dimensional graphical interface" refers to the graphical interface; "the three-dimensional digital twin scene" refers to the three-dimensional visualization model that is rendered in real time on the client side, which is strictly consistent with the geometric structure and spatial relationship of the physical warehouse, and each material entity in the model has a reversible mapping relationship with its position information in the data layer. In one alternative implementation, the generation and display method can be as follows: After receiving the early warning dataset sent by the application layer, the presentation layer iterates through each record and dynamically creates corresponding inventory early warning control instances using the custom control generation mechanism provided by the Qt framework. Subsequently, it sets the progress bar value, color state, and associated text label information for each control instance. The instantiated controls are then uniformly added to the scroll area container, and the interface layout is automatically arranged. Furthermore, this construction method can also employ the following approach: In the 3D scene, create an independent graphical display list or vertex buffer object for each resource. The final world coordinates are derived by the application layer using a preset coordinate transformation algorithm based on the "item location" field stored in the database and following specific encoding rules (e.g., converting the string "Area A-Row 03-Layer 05-Column 02" into corresponding 3D floating-point coordinates). The spatial binding between the resource model and the target location is then achieved through the translation transformation function of the graphical interface. When the resource location information is updated, the system only needs to redraw the associated vertex buffer object, thus avoiding a global refresh of the entire 3D scene and improving rendering efficiency. This invention integrates a graphical interface framework control library and a 3D graphics interface in a limited display layer, and endows the 3D scene with digital twin attributes. For the first time, it realizes a unified visualization of two-dimensional business indicators and three-dimensional spatial status under a domestic C / S architecture, enabling managers to simultaneously grasp the status of "how much", "should it be inspected", "where it is", "whether it is expired", etc., thereby improving the efficiency of warehouse decision-making and the accuracy of operations.
[0024] In summary, this invention constructs an application architecture that coordinates the data layer, application layer, and presentation layer; relies on a relational database to achieve reliable storage of data throughout its entire lifecycle; and utilizes a graphical interface framework and a 3D graphical interface to achieve the integrated presentation of 2D controls and 3D scenes. Ultimately, it achieves the goal of full-process, multi-dimensional, and spatial visualization of warehouse management status. Without altering the baseline of domestically produced software and hardware, it solves the technical problem of difficulty in fully grasping the real-time status and spatial distribution of materials, which affects the efficiency and accuracy of material management. It provides a feasible, verifiable, and scalable technical path for high-reliability support scenarios such as aerospace launches. Example 2
[0025] Please see Figures 1 to 5In one optional embodiment, the present invention also provides at least one of a variety of predetermined types of visualization controls, including an inventory warning control, a pending inspection reminder control, a worn-out material control, a single-item detection control, and a quantity statistics control; wherein, the inventory warning control is used to visualize the relationship between the material inventory quantity and the warning threshold through a progress bar; the pending inspection reminder control is used to visualize the relationship between the material pending inspection time and the inspection cycle through a progress bar; the worn-out material control is used to visualize the relationship between the material warehousing time and a preset threshold through color changes; the single-item detection control is used to visualize the information of single-item materials in the warehouse; and the quantity statistics control is used to visualize the material warehousing quantity and outbound quantity within a specified time range through a bar chart; include: Step 201: The inventory warning control is used to visualize the relationship between the material inventory level and the warning threshold through a progress bar; Among them, the inventory warning control is a custom control based on the graphical interface framework. Its input data comes from the current inventory quantity of materials and the corresponding warning threshold read by the application layer from the data layer. The progress bar is a UI control with configurable direction and color response logic. Its fill ratio is equal to the ratio of the current inventory quantity to the warning threshold. When the ratio is less than 1, the color state is switched. The relationship between inventory quantity and warning threshold refers to mapping the numerical ratio to the visual length and distinguishing the critical state by color, so as to intuitively express whether the inventory is lower than the set safe level.
[0026] Furthermore, this progress bar visualization method can also be implemented by encapsulating inventory warning data into an independent data model, binding it to a custom view component that supports progress rendering, and having the view automatically listen for model changes and refresh the rendering state to achieve batch synchronous updates of multiple material warning controls.
[0027] Step 202: The pending inspection reminder control is used to visualize the relationship between the pending inspection time of materials and the inspection cycle through a progress bar; The pending inspection reminder control is a custom control based on a graphical interface framework. Its input data comes from the number of days pending inspection calculated by the application layer from the data layer based on the material's most recent inspection time, inspection cycle, and the current system time. The progress bar here is a circular progress bar, and its fill angle is equal to the ratio of the number of days pending inspection to the inspection cycle multiplied by 360°. The relationship between the pending inspection time and the inspection cycle is indicated by mapping the time ratio to a circular angle, and the risk level of the approaching inspection period is marked by color partitions, thereby intuitively indicating the urgency of the inspection.
[0028] Furthermore, this progress bar visualization method can also employ the following approach: constructing a timer-driven data refresh mechanism that polls the `remaining days` field of each material in the inspection table every hour, pushes the updated number of days to be inspected to the data object bound to the control, triggers the redrawing of the circular progress and the updating of the text labels, with the text content including "material number", "material name", and "inspection time".
[0029] Step 203: The obsolete materials control is used to visualize the relationship between the material entry time and the preset threshold through color changes; Among them, the old and worn materials control is a custom control based on the graphical interface framework. Its input data comes from the material entry timestamp read by the application layer from the data layer and the number of days of entry calculated by the current system time. The color change controls the saturation / brightness of the overall background color or main color block of the control to decrease continuously or stepwise as the number of days of entry increases. The relationship between entry time and preset threshold refers to using whether the number of days of entry exceeds the set threshold (such as 365 days) as the criterion for color state switching, thereby realizing the visual recognition of long-term stored materials.
[0030] Furthermore, a multi-level color threshold range is defined (for example, green when the number of days in storage is less than 90 days, yellow when the number of days is 91 to 365 days, and gray when the number of days exceeds 365 days). The internal logic of the control queries the corresponding color index value based on the current number of days in storage and calls the color palette setting function of the interface control to update the appearance, so as to ensure that the color prompt has good visual recognition under both dark and light themes of the system.
[0031] Step 204: The single-item detection control is used to visualize information about individual items in the warehouse; Among them, the single-item detection control is a list-type or card-type custom control based on a graphical interface framework. Its input data comes from the full attribute record of a single material obtained by the application layer from the data layer. The information of a single material in the warehouse includes, but is not limited to, material number, name, model, category, unit, location, status, warehousing time, service life, manufacturer, inspection record summary, and whether backup is required. This control does not rely on scale or trend graphs, but presents key fields in a structured text + icon combination, allowing users to quickly confirm the complete status of a single item.
[0032] Furthermore, this visualization method can also employ the following: constructing responsive card components that support mouse hover to expand hidden fields (such as quality inspection details and inbound / outbound transaction summaries), and clicking on a card to trigger a pop-up window to display a tree view of the entire lifecycle data of the material, enabling a point-to-surface information penetration browsing experience.
[0033] Step 205: The quantity statistics control is used to visualize the quantity of materials entering and leaving the warehouse within a specified time range through a bar chart; The quantity statistics control is a custom chart control based on a graphical interface framework. Its input data comes from the time series statistics results obtained by the application layer executing the aggregation query. The bar chart is a two-color parallel bar chart, with the same horizontal axis position corresponding to a time unit (such as day / week / month). The left bar represents the quantity of goods entering the warehouse during that period, and the right bar represents the quantity of goods leaving the warehouse. The specified time range is set by the user through the date picker control, which is converted into the `WHERE` condition of the SQL query by the application layer.
[0034] In one alternative implementation, the bar chart visualization method can be: integrating the bar chart sequence and dataset from the Qt Charts module to construct datasets for carrying the inbound and outbound quantities respectively; setting the time label of the horizontal axis using the category axis and setting the display range of the vertical axis using the numerical axis; and finally binding the above configuration to the chart view control to complete the graph rendering. Furthermore, this bar chart visualization method can also be implemented by: exporting the statistical results as a data stream in JSON format, and having the embedded web view control load a lightweight JavaScript chart library for graph rendering; the client is only responsible for data transmission and view container hosting, thereby reducing the performance overhead of local drawing and better adapting to visualization scenarios of high-density time series data.
[0035] This invention provides dedicated visual expression channels for core management dimensions such as inventory level, inspection reminder, obsolete materials, single item detection, and quantity statistics through five differentiated visualization controls: inventory early warning, inspection timeliness, material backlog, single item status, and inbound / outbound trends. Each control is implemented based on the native or custom capabilities of a graphical interface framework. Its input data uniformly comes from the standardized results output from the application layer after processing by business logic. The output format strictly follows established paradigms such as progress bars, color changes, structured text, and bar charts. With the combined deployment and dynamic update mechanism of the above controls, the warehouse management status no longer relies on manual report interpretation, but is presented to operators in a real-time, intuitive, and configurable manner, improving the efficiency of anomaly identification and the speed of on-site decision-making response.
[0036] In an optional embodiment, the present invention also provides a method for generating and displaying various predetermined types of visual controls through a control library of a graphical user interface framework. Specifically, this involves: using the custom control technology of the graphical user interface framework to encapsulate at least one warehouse management functional unit to form a corresponding reusable visual control; responding to the user's interface configuration operation, combining and laying out the reusable visual controls in the graphical interface to generate a warehouse data analysis interface. Step 301: Using the custom control technology of the graphical interface framework, encapsulate at least one warehouse management functional unit to form a corresponding reusable visual control; "Custom control technology" refers to user interface components with independent drawing logic, internal state management, and signal-slot interaction capabilities. This is achieved by inheriting from the base control class and overriding key processing functions such as drawing events and mouse press events, based on the control base class derived mechanism and event handling interface provided by the Qt framework. This technology does not rely on any third-party UI libraries and completes component encapsulation and functionality implementation entirely based on the native programming interface of the Qt framework. "Warehouse management function unit" refers to the collection of data processing logic and visualization logic corresponding to any type of inventory warning, inspection reminder, obsolete materials, single item detection or quantity statistics. For example, the inventory warning function unit includes sub-functions such as inventory threshold reading, real-time inventory quantity comparison, progress bar color status switching and dynamic text label updating. "Reusable visual controls" refer to independent control units encapsulated using the methods described above, possessing clearly defined data input interfaces and status output signals. These controls provide standardized parameter setting interfaces to receive external data and define explicit signals to transmit status changes externally. Internally, they are not fixedly associated with specific business data sources or database connections, thus supporting multiple instantiations and calls in different warehouse data analysis interfaces. In one alternative implementation, the encapsulation method can be: defining an inventory warning control class that inherits from the base control class, integrating progress bar and label components within it; receiving the inventory data structure passed from the application layer through a public slot function, automatically updating the display value and color status of the progress bar based on the numerical fields in the structure, and triggering the corresponding status change signal; Furthermore, this encapsulation method can also be implemented by: abstracting the old materials functional unit into an independent control class, whose constructor receives the material's entry timestamp parameter; maintaining a timer inside the control to dynamically update the saturation of the displayed colors, and supporting the configuration of the theme color scheme through the property setting interface, thereby adapting to the system's requirements for switching between dark and light modes; This invention decouples each warehouse management functional unit into an independent, configurable UI component unit, enabling the same functional logic to be reused in multiple analysis scenarios, thus avoiding redundant development. Each reusable visual control has a standardized interface contract, ensuring that it maintains behavioral consistency and data isolation in different interface containers.
[0037] Step 302: Respond to the user's interface configuration operation, combine and lay out reusable visual controls in the graphical interface to generate a warehouse data analysis interface; Among them, "interface configuration operation" refers to the interactive behaviors triggered by the user through graphical operation during client runtime, such as adding, adjusting position, scaling, sorting hierarchy and setting attribute parameters of controls, including but not limited to dragging control icons to the canvas area, modifying control title text in the property panel, adjusting progress bar threshold value, and setting bar chart time range filtering conditions. "Combination and layout" refers to the process by which the system, based on native layout managers such as graphical view / scene architecture or grid layout / vertical layout, arranges and logically associates multiple instantiated reusable visual controls according to the user's operation instructions; the relative positional relationships, size constraints, and scaling strategies in response to interface changes between the controls are all automatically calculated and maintained by the layout manager. In one alternative implementation, the combination and layout method can be as follows: After entering the visual design mode, the interface is presented as a sidebar control toolbox and a central visual design canvas; the user drags the icon of the inventory warning control from the toolbox to the canvas area, and after releasing the mouse, the underlying graphical view scene architecture automatically creates the corresponding control instance and registers it in the scene manager; subsequently, the user can directly adjust the coordinate position of the instance on the canvas by dragging the mouse, and modify the specific data source identifier bound to the control through its associated property panel or right-click context menu.
[0038] Furthermore, this combination and layout method can also employ the following approach: providing a JSON-based interface description template. After the user completes the drag-and-drop and layout of controls in the configuration interface, the position, size, binding parameters, and mapping relationship between all control instances in the current canvas and the data source are automatically serialized into a JSON string and persistently stored in a local configuration file. The next time the interface is loaded, the corresponding controls are instantiated sequentially and their layout and associated states are fully restored by parsing the JSON configuration file. This invention empowers users to lead the combination and layout of controls, and leverages the native layout capabilities of the graphical user interface framework to achieve dynamic refactoring at runtime. This allows warehouse data analysis interfaces to move beyond preset templates and quickly generate differentiated dashboards based on different roles (e.g., warehouse managers focusing on inventory alerts, quality inspectors focusing on pending inspection reminders). There are no strong coupling dependencies between reusable visual controls, and adding new functional units only requires expanding the control toolbar without modifying existing interface logic, thus improving system maintainability and business adaptability.
[0039] This invention encapsulates warehouse management functional units using custom control technology, forming reusable visual controls with standard interfaces and independent state management capabilities. Then, through responsive interface configuration, these controls can be freely combined and laid out in a graphical interface, ultimately generating a warehouse data analysis interface tailored to specific business needs. Based on this, it not only transforms the interface construction method from "hard-coded" to "visual assembly," but also ensures clear boundaries between data flow and control flow during the reuse of different functional units. Thus, it effectively solves the technical problems of poor flexibility and non-reusability in traditional warehouse visualization systems on a domestic platform, improving the system's configurability, scalability, and business response efficiency.
[0040] In an optional embodiment, the present invention also provides a method for constructing a 3D digital twin scene corresponding to a physical warehouse based on a 3D graphics interface, including: Step 401: Create a 3D rendering window within the client based on the 3D graphics interface; The "3D rendering window" refers to an independent graphics drawing area instantiated through the OpenGL graphics interface context in a Qt-based client application. As the rendering carrier of the 3D scene, this window has independent frame buffer management, shader program loading and GPU resource scheduling capabilities, and can respond to user interaction operations such as scaling, rotation and translation. This window is integrated into the layout system of the Qt main interface as an embedded component. Furthermore, the method for creating a 3D rendering window employs the following approach: To optimize the performance of 3D rendering, a timer can be registered in the Qt main event loop to periodically trigger the redraw call of the drawing function, and a high-precision timer can be used to control the upper limit of the rendering frame rate, thereby avoiding sluggish user interface response due to excessive GPU resource consumption.
[0041] This invention provides a unified and controllable graphics output environment for the efficient loading of subsequent 3D models and the mapping of material spatial locations by building a window with complete 3D graphics rendering capabilities on the client side, thereby ensuring the stable and reliable operation of the 3D digital twin scene on the domestic Linux-based platform.
[0042] Step 402: Read the data file describing the three-dimensional structure of the warehouse and draw the three-dimensional model of the warehouse in the three-dimensional rendering window; Among them, the "warehouse 3D structure data file" refers to a data file stored in text or binary format to represent the spatial geometry of a physical warehouse. Its content includes at least vertex coordinates, face indexes, normal vectors, and optional material information. The data file can be in OBJ format, JSON format, or a custom lightweight format. The 3D model includes the spatial structure of warehouse walls, shelves, aisles, entrances and exits, and fixed facilities. In one alternative implementation, the method for reading and drawing the 3D model can be as follows: read the 3D model file in OBJ format through a file reading interface, parse the vertex coordinates and face index data in it; organize the parsed vertex data into a floating-point array, bind it to the attribute variables defined in the vertex shader through the vertex attribute pointer function provided by the graphics interface; finally, call the index drawing function to complete the rendering of all faces of the model. Furthermore, the method for reading and drawing 3D models adopts the following approach: the warehouse structure is divided into several sub-model units, each unit corresponds to an independent data file, which is loaded and cached in memory on demand when the system starts. When the user switches warehouse levels (such as entering a certain level of sub-warehouse), only the corresponding unit model is loaded to reduce the initial rendering latency.
[0043] This invention drives the construction of 3D models through structured data files, enabling the physical layout of warehouses to be independent of hard coding, supporting rapid model updates and multi-warehouse configuration reuse, and improving system deployment flexibility and maintenance efficiency.
[0044] Step 403: Associate and map the material location information stored in the data layer with the coordinates in the 3D model to visualize the location of the materials in the 3D model; Among them, "material location information" refers to the field data stored in the database inventory table, specifically including "item location" (stored as a variable-length string type, its content follows a preset encoding rule, such as "A-03-02" indicating the 3rd row and 2nd column of shelf A) and optional "warehouse name" (used to distinguish the ownership of materials in scenarios with multiple physical warehouses); "coordinate association mapping" refers to converting the logical location identifier recorded in string form above into corresponding spatial coordinate values in the three-dimensional virtual scene coordinate system according to predefined parsing rules; then, the spatial coordinates are bound to a graphic element that can be rendered in the three-dimensional scene, which can be a basic geometric shape or an identifier with text description; In one alternative implementation, the method for this association mapping can be as follows: A location encoding dictionary is established at the application layer, the format string "shelf number-row number-column number" is parsed into an integer index, and then world coordinates are generated through linear calculation based on the three-dimensional dimensions of the shelf (length × width × height), row spacing, column spacing, and the offset of the reference origin. For example, if the origin of area A is set to (0,0,0), and the size of a single storage location is 0.8m × 0.6m × 1.2m, then the coordinates corresponding to "A-03-02" are (0.0, 1.6, 0.6). In another alternative implementation, the associative mapping method includes: expanding the structure of the database inventory table to add floating-point number segments for storing three-dimensional spatial coordinates, including X-axis, Y-axis, and Z-axis coordinates. These coordinate values can be manually entered by the administrator during the material receiving process or batch-assigned using a predefined data import template; when running the 3D visualization function, these pre-stored coordinate values will be directly read and applied to the precise positioning of the model in the 3D scene. Furthermore, the method of association mapping adopts the following approach: predefine a named node (such as `shelf_A_row3_col2`) for each cargo location in the 3D model file, traverse the scene graph node tree after loading the model, match the material location string with the node name, obtain its local transformation matrix and convert it into world coordinates, thereby achieving semantic and precise binding.
[0045] This invention establishes a deterministic mapping relationship between structured location information and three-dimensional spatial coordinates, enabling the statically stored material location data in the database to dynamically drive the visualization in the three-dimensional scene. This achieves a consistent representation of the physical warehouse and the digital space, providing fundamental support for subsequent material highlighting queries, path planning, and spatial analysis.
[0046] This invention constructs a 3D digital twin scene that strictly corresponds to the physical warehouse by sequentially executing the creation of a 3D rendering window, loading and drawing of the warehouse 3D model, and mapping the location information of materials to the model coordinates. On this basis, the 3D rendering window provides a unified rendering context for the model and materials, the warehouse 3D structural data file ensures the configurability and maintainability of the model construction, and the mapping mechanism from location information to coordinates ensures the precise coupling of warehousing business data and 3D spatial semantics. The three work together to solve the problem of the difficulty in intuitively locating the physical location of warehouse materials, thereby improving the efficiency of material search and spatial management capabilities.
[0047] In an optional embodiment, the present invention further provides a method for associating and mapping the location information of materials with coordinates in a 3D model, and then querying and highlighting the location of the corresponding materials in the 3D digital twin scene based on the unique identifier information of the materials, including: Step 4031: In the 3D digital twin scene, query and highlight the location of the corresponding material in the 3D scene based on the material's unique identifier information; Among them, "unique identification information of materials" refers to the identity field stored in the data layer used to represent a single material. It can be a material number, barcode serial number, or RFID tag ID. This identification information has a one-to-one binding relationship with the material instance object mapped in the 3D model. "Query in 3D scene" means that after the system receives the unique identification information input by the user, it performs a key-value lookup operation in the material-3D object mapping table maintained in memory to locate the 3D model node corresponding to the identification. "Highlighting" means applying a visual enhancement rendering effect to the found 3D model node. This effect can be that the node is illuminated as a whole, the outline is thickened and colored, the local area is magnified, or a semi-transparent colored halo is superimposed. Its purpose is to enhance the visual recognition of the target material in a complex 3D scene. "Enhanced material location positioning" means that through the above query and highlighting actions, users can complete the accurate positioning of the target material in one interaction without relying on spatial memory or traversing the model layer by layer, thereby shortening the manual inspection path and reducing the risk of misoperation.
[0048] In one alternative implementation, the query method may be: in response to the user's input of the material number in the graphical interface, the system calls the Qt signal and slot mechanism to trigger the query function, which traverses the preloaded material-3D object mapping dictionary based on the hash table structure and quickly returns the pointers to the matching 3D model nodes; In another optional implementation, the query method includes: responding to the user's operation of inputting the unique identification information of the material through a barcode scanning device, the system listens to the text change signal of the corresponding input box, and after detecting the input of a complete barcode string, automatically calls the fuzzy matching function interface to perform substring comparison on the prefix part of the material number and the model code segment; after the query is completed, the system returns several candidate 3D model nodes with the highest similarity and presents them to the user for final selection and confirmation; Furthermore, this highlighting method employs a dynamic rendering strategy: in the main rendering loop of 3D rendering, an additional independent shader program is enabled for the selected model node; this shader generates an edge effect with an externally glowing contour by appropriately offsetting the vertex normal direction, and overlays a high-saturation yellow component based on the HSV color space onto the model surface color during the fragment shading stage, thereby ultimately presenting a highlighted selection feedback with strong visual contrast in the scene.
[0049] This invention establishes a searchable mapping relationship between the unique identification information of materials and the nodes of the 3D model, and triggers a differentiated rendering process in real time after a successful query, thereby enhancing the spatial location presentation of the target materials. On this basis, by leveraging the unified capture capability of input events of the Qt framework and the flexible control capability of the OpenGL programmable pipeline, the query response latency is less than 200ms, and the highlighted state can be updated in real time with the change of viewing angle. Thus, without increasing the hardware burden, the efficiency of human-computer collaboration and operational reliability in the 3D visualization management of large warehouses are improved.
[0050] In an optional embodiment, the method further includes: The data layer stores at least the following lifecycle data: basic information of materials, inventory status information, inbound and outbound record information, quality inspection record information, inventory warning information, and material location information; Among them, "full lifecycle data" refers to a set of structured business data that is generated and persistently stored throughout the entire process of materials from warehousing, inventory, inspection, early warning, allocation to outbound; "basic information" can be static attributes used for unique identification and classification management, such as material number, name, model, category, unit, manufacturer, service life, and warehouse name; "inventory status information" can be dynamic snapshots reflecting the real-time availability of materials, such as current inventory quantity, available quantity, frozen quantity, and storage location status; "inbound / outbound record information" can be the timestamp, operator, document number, material quantity, operation type (inbound / outbound / allocation), associated warehouse, and sub-warehouse path for each inbound / outbound operation; "quality inspection record information" can be the inspection time, inspection cycle, remaining inspection days, inspection operator, inspection details, inspection index, inspection result (qualified / unqualified), and disposal suggestions; "inventory early warning information" can be the early warning threshold, current inventory quantity, early warning trigger status, early warning generation time, and associated processing work order number; "material location information" can be three-dimensional coordinates (x, y, ... z) Structured descriptions that support spatial positioning, such as physical storage location codes, shelf numbers, layer numbers, and column numbers.
[0051] The method also includes: tracing the quality information of materials that have been shipped out of the warehouse throughout the entire process based on full lifecycle data; "Materials that have been released from the warehouse" refers to material entities whose most recent entry and exit record is an exit operation, and which have no subsequent entry or transfer records.
[0052] "Full-process quality information traceability" refers to automatically linking and retrieving all historical records of a material in the database using the material number as a unique identifier. Specifically, this includes: the material's basic attribute information in the inventory table; all historical warning information in the warning record table; all inspection results in the inspection record table, including the time, conclusion, and operator of each inspection; the complete inbound and outbound sequence in the inbound and outbound flow table or operation log; and the spatial location information of the last record in the 3D scene.
[0053] In one alternative implementation, the traceability method includes: responding to a user's input of a material number on the client interface, the application layer executes a predefined join query statement, synchronously retrieves the inventory table, early warning record table, inspection record table, and inbound / outbound log table, and integrates the results into a structured traceability report in chronological order.
[0054] In another alternative implementation, the traceability method may also include: the application layer pre-constructs a directed graph structure with the material number as the root node, where nodes represent various business records and edges represent the time sequence and business logic relationship between records, and a quality history view with time sequence tags is generated through a graph traversal algorithm.
[0055] Furthermore, this traceability method can also be implemented in the following form: embedding an expandable and collapsible traceability information panel in the client interface, organizing the content according to five logical levels: "basic information - inbound / outbound chain - inspection record - early warning event - location change", and supporting the export of traceability results as PDF or CSV format files.
[0056] This invention defines and persistently stores six categories of full lifecycle data at the data layer, covering basic attributes, dynamic states, operational behaviors, quality processes, and spatial locations. It also establishes a cross-table association mechanism centered on the material number, enabling the traceability of all quality-related behaviors of any material that has been released from the warehouse since its entry into the warehouse. With the help of structured query and multi-source data aggregation technology, the system can independently complete closed-loop traceability from single-point query to full-link reconstruction without relying on external systems. This not only meets the requirements of aerospace launch missions for verifiable and auditable spare parts quality history, but also provides complete and reliable data support for fault attribution analysis.
[0057] In an optional embodiment, the method further includes: It provides a database connection switching interface, enabling the application layer to switch between local and remote databases.
[0058] The "database connection switching interface" refers to a set of standardized functions or methods defined in the data access layer, used to encapsulate database connection initialization, parameter configuration, connection establishment, and disconnection. This interface is independent of specific database types, and its input parameters include at least the database type identifier, host address, port, database name, username, and password. The output is a unified data access handle. "Local database access" refers to the application layer connecting to an embedded relational database instance running in the client's local process, such as an SQLite database, through this interface. Its data files are stored in a specified path on the client's local file system, and read and write operations can be completed without network communication. "Remote database access" refers to the application layer connecting to a relational database service deployed on the server side, such as a database, through this interface. The connection requires authentication and data interaction via the TCP / IP network protocol. The "database switching mechanism" refers to dynamically resetting the connection handle held by the data access layer and synchronously refreshing the cache state and transaction context by modifying the configuration file or calling the runtime parameter update operation triggered by the interface control, without restarting the client or recompiling the code, to ensure that subsequent business logic calls all point to the target database source.
[0059] In one alternative implementation, the database connection switching method may be as follows: when the client starts, a preset database configuration file is loaded, which contains two sets of independent connection parameters corresponding to the local database and the remote database respectively; when the user selects to switch to local mode in the system settings, the application layer parses and loads the local configuration, calls the local database interface to establish a connection, and closes the existing remote connection; when switching to remote mode, the remote configuration is loaded, a remote connection is created through the database access module, and a verification query is executed to ensure that the connection is available.
[0060] In another alternative implementation, the database connection switching method may include: In the data access layer, firstly, defining an abstract database connector base class, and declaring core interface methods for connection establishment, connection termination, and connection status determination within it. Subsequently, deriving two concrete connector subclasses based on this base class for local and remote databases respectively, each subclass responsible for implementing the actual connection logic for its corresponding database type; In the application layer, the system dynamically instantiates the corresponding connector subclass object based on the current configuration information using a factory pattern, and registers this instance as a globally unique access point. When a database connection switch is required, the current connector instance is destroyed, a new connector instance is created based on the new configuration information, and the upper-layer business module is notified to clear or reset its data cache to ensure data consistency and correctness.
[0061] Furthermore, this database connection switching method can also employ a configuration hot update approach: by listening for system-level change events in the configuration file, when a modification to the database configuration file is detected, the system automatically parses the updated content; under the premise of ensuring that there are no database transactions currently being executed, a smooth migration of the connection is performed—first, a new database connection is established and its availability is verified, then the queue of currently pending uncommitted SQL operations is migrated to the new connection context, and finally the original connection is safely closed; throughout the migration process, the system returns a temporary waiting status response to upper-layer business requests, thereby ensuring the atomicity of the switching operation and the consistency of business data.
[0062] This invention defines a unified database connection switching interface and supports dynamic switching between local SQLite and remote MySQL database sources at runtime. This allows the warehouse management system to continue performing core business operations such as material information entry, inventory query, and inbound / outbound order generation even in network outage environments or offline on-site operation scenarios, and synchronize the different data after the network is restored. At the same time, it can also access the central server database when connected to the network to achieve multi-terminal data collaboration and centralized supervision. On this basis, there is no need to modify the application layer business logic code. Deployment mode adaptation can be completed only by configuring the driver, which improves the system's environmental adaptability, disaster recovery capability, and engineering maintainability.
[0063] In an optional embodiment, the method further includes: Step 501: Integrate a barcode scanning device through the client and capture scanned data by listening to input events to complete the automatic entry of material information; Among them, "barcode scanning device integration" refers to connecting a barcode scanner that conforms to the USB HID protocol as a plug-and-play peripheral to the client's operating system. The system recognizes it as a standard keyboard input device and does not require the installation of a special driver. "Input event listener" refers to setting a keyboard event filter for an edit control that receives scan information in the Qt client interface to continuously listen for key press event streams; "Scan data capture" refers to the process where, when a barcode scanner completes a scan, the output character sequence is sent as continuous keyboard input to the currently focused control; this sequence is intercepted by an event filter, and the end of a scan input is determined when a carriage return or newline character is detected. "Automatic entry" refers to automatically filling the captured complete string into the corresponding business field (such as material number), and then triggering subsequent validation and query logic: query the inventory table based on the number, and if a matching record exists, automatically fill in the relevant fields such as name, model, and location; if no matching record exists, prompt the user and keep the input focus, waiting for manual processing.
[0064] In one alternative implementation, the event filtering function is overridden in the edit box subclass customized for fields such as material number. This function intercepts key press events, continuously caches character input from non-control keys, and submits the accumulated complete string as a scan result to the subsequent processing flow after receiving a predefined terminator (such as a carriage return). In another optional implementation, the input event listening and scan data capture method can be as follows: To achieve reliable global capture of barcode scan input, a global event filter can be installed at the application's main window level. This filter dynamically obtains the interface control currently receiving input focus and directly routes the character sequence input by the scanning device to the text buffer corresponding to that focused control for processing, thereby ensuring that the scan data listening and capture function remains effective when switching between different input controls. Furthermore, the input event listening and scan data capture method can also adopt the following approach: a unified processing channel for scan events is constructed based on Qt's signal mechanism. When the underlying keyboard input event is identified as conforming to the characteristics of scan behavior, a custom signal carrying a scan result string is emitted. Each business function module subscribes to this signal and performs corresponding field autofill and database query operations upon receiving the signal.
[0065] The criteria for recognizing scanning behavior include: whether the character input rate per unit time exceeds a preset threshold, and whether the continuously input characters have the characteristics of high density and no interruption.
[0066] This invention integrates barcode scanning devices as standard HID input devices into the Qt client and combines them with an event filtering mechanism to achieve real-time capture and context-aware automatic entry of scanned data. This allows key fields such as material numbers to be filled in a structured manner without manual input, thereby improving the efficiency and accuracy of creating inbound and outbound documents without changing user operating habits.
[0067] Step 502: Call the label printing driver through the client to generate labels containing material information based on the pre-defined template and print them.
[0068] "Label printing driver call" refers to the client sending printing commands to the configured physical label printer by calling the system-level printing service interface or the command-line tool provided by the printer manufacturer in the operating system environment.
[0069] "Pre-defined template generation" refers to a template file that pre-defines label layout, content placeholders, and styles in the client; during printing, the corresponding material information is read from the database and filled into the placeholders in the template to generate the final print content.
[0070] "Label printing" refers to converting the generated content into instructions or image data that the printer can recognize, and sending it to the label printer through the driver interface to complete the printing output of physical labels.
[0071] In one alternative implementation, firstly, the PDF writer in the Qt framework is combined with drawing tools to generate a PDF document of the labels; then, the print command is executed through a process call interface, and the document is submitted to the queue of a general Unix printing system; finally, the system automatically matches the appropriate driver based on the target printer model and completes the printing task. In another alternative implementation, the label printing driver call and template generation method can be as follows: a lightweight ZPL instruction generator is integrated inside the client. This generator dynamically concatenates and generates complete ZPL printing instructions based on a predefined label template configuration. Subsequently, the printing command is executed by calling the interface, directly connecting to the device node path corresponding to the printer to send instructions and drive printing. Furthermore, the label printing driver and template generation method can also employ a visual template designer built on the Qt QuickControls 2 framework. This allows administrators to interactively define label layouts and styles by dragging and dropping controls such as text boxes, QR code components, and image areas. The designer can serialize the final layout configuration into a JSON-formatted template file; at runtime, this template file is loaded and bound to the query results of the inventory table, thereby completing the dynamic rendering and output of the label content.
[0072] This invention achieves automated mapping and output of material information to physical labels by uniformly calling the Linux platform's general printing service or direct driver on the client side, combined with a structured template mechanism. This ensures that the label content is strictly consistent with the database records, supports secondary identification by barcode scanners and closed-loop system traceability, and effectively supports standardized operations throughout the entire process of "receiving → scanning → data entry → printing → labeling → shelving".
[0073] This invention integrates barcode scanning equipment and label printing peripherals to build an automated capability covering the entire chain of "data acquisition - business processing - physical identification" at the client layer. On the one hand, it leverages the characteristics of HID devices and the Qt event mechanism to achieve zero-latency capture of scanned data and automatic field-level filling. On the other hand, it relies on the Linux printing ecosystem and templated rendering technology to achieve accurate generation and reliable output of label content. The two work together to eliminate inefficient and error-prone links in traditional warehousing operations, such as manual copying, repetitive entry, and handwritten labels, effectively improving the efficiency of inbound and outbound operations, data consistency, and on-site management standardization.
[0074] In one optional embodiment, the present invention further provides that the business logic executed at the application layer includes at least: User authentication and access control; User authentication refers to the process where the client submits its username and password credentials to the application layer when starting or initializing a session; the application layer then calls the data access layer to query the corresponding user record in the user table and verifies the legitimacy of the user's identity by comparing the password hash value.
[0075] Access control refers to restricting the range of warehouse nodes and their corresponding material data that a user can access and manipulate based on the tree-like relationship defined by the fields representing the organizational structure in the user table, according to the user's node position. For example, it can be configured to allow only users managing a certain level of warehouses to view and modify material information in its subordinate sub-warehouses; This access control policy is uniformly validated by the application layer before each business request is initiated, ensuring that data access boundaries are consistent with the organizational structure.
[0076] In one alternative implementation, the user authentication method can be: using Qt's signal and slot mechanism to listen for the input completion event of the input box in the login interface; When this event is triggered, an HTTP POST request is sent to the local server through the network access manager provided by Qt, and the request carries the password ciphertext processed by the SHA-256 hash algorithm and the corresponding username information; In another optional implementation, the permission management method includes: constructing a lightweight permission cache tree in the application layer memory with the user identifier as the key and the organizational structure field as the parent-child relationship pointer; before each data query operation, recursively traversing the cache tree to determine whether the current user has access rights to the warehouse node where the target material is located; Furthermore, this permission verification method can also be implemented using a role-based access control model. By extending the role definition table and role permission association table on top of the user table, the granularity of permission control can be refined to the level of specific functional operations (such as controlling the visibility or operability of specific buttons).
[0077] This invention embeds user authentication into the system initialization process, deeply binds permission management to the tree-like organizational structure in the database, and supports dynamic loading of permission policies at runtime. This allows managers at different levels to carry out warehouse operations securely and in isolation under the same application architecture, avoiding data chaos and loss of management control caused by unauthorized access.
[0078] Adding, deleting, modifying, and querying basic material information; The CRUD (Create, Read, Update, Query) operations refer to the creation, reading, updating, and deletion of basic information fields in the inventory table. These basic information fields include item number, item name, item model, item category, unit, warehouse name, item location, item status, service life, and manufacturer.
[0079] The creation operation supports both manual entry of single data entries and batch import from Excel files. During batch import, the uniqueness of item numbers and the completeness of required fields are automatically verified. The deletion operation uses logical deletion, disabling records by setting a deletion status flag rather than physically removing them from the database, thus ensuring the integrity of the historical data traceability chain. The update operation allows modification of each field of a specific record based on its item number, and synchronously updates the related inspection and warning record tables. The query operation supports combined searches based on multiple conditions (such as fuzzy matching of item names and precise filtering of warehouse names), returning a structured query result set for visualization rendering in the presentation layer.
[0080] In one alternative implementation, the CRUD (Create, Read, Update, Delete) method can be: using the model-view architecture provided by the Qt framework, the database table model is encapsulated into an adapted data model and bound to a table view control; after multiple field modifications are completed, the database atomic commit is triggered by calling the model's transaction commit interface, thereby ensuring the integrity and consistency of multiple field update operations.
[0081] This invention ensures the accuracy, traceability, and high availability of warehouse master data by using structured modeling of basic material information fields, distinguishing between logical and physical deletion, supporting multimodal data entry and strong consistency transaction control, and providing a reliable data source for all subsequent analytical business.
[0082] Intelligent processing of inbound and outbound orders; Intelligent inbound / outbound order processing refers to the application layer automatically filling in the main fields of the inbound / outbound order based on the material number captured by scanning, and linking it to verify constraints such as inventory status, early warning thresholds, and inspection cycles to generate compliant documents. The document fields include at least the material number, material name, operation type (inbound / outbound), quantity, operator, operation time, and target warehouse location. Linked verification includes: when inbound, checking whether the material with the same number already exists and is in "in stock"; when outbound, checking whether the inventory quantity is greater than or equal to the requested quantity. If the limit is exceeded, the submission is blocked and the specific reason is displayed.
[0083] In one alternative implementation, the intelligent inbound / outbound order processing method can be as follows: by listening to the event that the edit box gains input focus, capturing the continuous digital input stream from the scanning device and parsing it into a material number; then, asynchronously calling the data access layer, simultaneously querying the inventory table and the early warning record table, obtaining relevant data and automatically filling it into the corresponding controls on the interface, and changing the display color of the relevant elements according to the early warning status to provide visual cues.
[0084] This invention improves the automation level and compliance assurance capability of inbound and outbound document generation by linking QR code input with backend data in real time, incorporating multi-dimensional business rule verification, supporting caching acceleration and hot rule updates, and reducing manual input errors and review delays.
[0085] Manually correct inventory discrepancies; Manual inventory discrepancy correction refers to the following: when the physical inventory count results are inconsistent with the inventory quantity recorded by the system, authorized users can enter the actual inventory count quantity in the application layer interface; based on the input value, a discrepancy correction record is automatically generated, and the inventory quantity in the inventory table and the relevant threshold sorting values in the early warning table are updated synchronously.
[0086] The difference correction record includes fields such as correction time, operator ID, quantity before correction, quantity after correction, and explanation of the reason for the difference. This record will be persistently stored in a separate inventory adjustment log table.
[0087] In one alternative implementation, the manual inventory discrepancy correction method can be as follows: A dedicated "Inventory Correction" dialog box is provided in the Qt interface. This dialog box embeds a table component to display a list of all material items with discrepancies. Each row of the table contains columns such as "Material Number," "Original System Quantity," "Actual Inventory Quantity," "Quantity Discrepancy Value," and a "Difference Reason Selection Box." After the user completes the information and clicks the "Submit" button, corresponding SQL update statements will be generated and executed in batches to correct the inventory quantity. Furthermore, this manual inventory discrepancy correction method can also employ a dual-person review mechanism. The correction operation must be confirmed by an online electronic signature from a user with level-two permissions before it can take effect. This signature confirmation record will be written into the corresponding approver identifier field of the inventory adjustment log table.
[0088] This invention, through structured difference registration, mandatory auditing, intelligent frequency warning and dual-person review control, not only ensures the rigid requirement of inventory consistency between records and actual inventory, but also provides quantifiable evidence for problem tracing for management improvement.
[0089] Real-time inventory query and export; Among them, real-time inventory query refers to the application layer receiving a query request from the front end, immediately accessing the data layer to execute an SQL query, and returning snapshot data such as the current inventory quantity, location, status, and warning status of each material; export refers to serializing the query result set into a file according to a preset template (CSV / Excel) and writing it to a specified local path on the client through the Qt file system API; the exported content supports filtering by dimensions such as warehouse, category, and status, and the exported file header includes the generation timestamp and operator information.
[0090] In one alternative implementation, the real-time inventory query and export method can be: executing a query statement with parameterized placeholders using a database query model (e.g., using a statement like SELECT * FROM items WHERE warehouse_name = ? AND status = ?), executing the query after binding the specific query conditions selected by the user, and directly mapping the obtained result set to a table view control for display.
[0091] This invention meets the dual requirements of data timeliness and availability for daily inventory, audit preparation, and cross-departmental collaboration through its millisecond-level real-time query capability, standardized format export support, and streaming processing mechanism for large data volumes.
[0092] Inventory early warning analysis; Among them, inventory early warning analysis refers to the application layer periodically or according to business needs scanning the early warning record table, calculating the ratio between the current inventory quantity of each material and the preset early warning threshold, generating the corresponding early warning level label based on the ratio, and then pushing the analysis results to the display layer to drive the status update of the inventory early warning control.
[0093] The specific rules for classifying warning levels are as follows: When the ratio of inventory to the warning threshold is less than 0.5, it is marked as "emergency" and indicated in red; when the ratio is between 0.5 and 1.0, it is marked as "attention" and indicated in yellow; when the ratio reaches or exceeds 1.0, it is marked as "normal" and indicated in green.
[0094] All analysis results will be synchronously recorded in the early warning log table for subsequent data trend statistics and analysis.
[0095] Furthermore, this inventory early warning analysis method can also introduce a sliding window mechanism, which not only judges the instantaneous ratio, but also counts the frequency of early warnings triggered for the material in the past 7 days. If the frequency is greater than 3 times, a "high-frequency shortage" label is added to the early warning information.
[0096] This invention enables more timely inventory risk identification, more refined classification, and more comprehensive decision-making basis through a dual-mode analysis mechanism of timed scanning and event triggering, a multi-level early warning status visualization mapping, and trend enhancement analysis with superimposed frequency dimension.
[0097] Analysis of pending inspection reminders; Among them, the pending inspection reminder analysis refers to the application layer reading the most recent inspection time and preset inspection cycle of each material in the inspection table, calculating the remaining pending inspection days, and generating a corresponding pending inspection status indicator based on the number of days, thereby driving the pending inspection reminder control to update the display progress and color of its circular progress bar.
[0098] Specifically, the remaining inspection days are calculated (the formula is: inspection cycle days minus the interval between the current time and the last inspection time). Then, the status is determined according to the following rules: if the remaining days are less than zero, it is marked "overdue" and indicated in red; if the remaining days are greater than or equal to zero but less than half of the inspection cycle, it is marked "about to expire" and indicated in yellow; if the remaining days reach or exceed half of the inspection cycle, it is marked "normal" and indicated in green.
[0099] Finally, the generated status indicators and progress information will be pushed to the presentation layer to update the corresponding visual control for the pending inspection reminder.
[0100] In another optional implementation, the pending inspection reminder analysis includes: loading the inspection plan cache when the Qt client starts, and calculating the remaining days in memory in real time each time the user opens the "Pending Inspection List" interface to avoid frequent database queries; Furthermore, this method for analyzing pending inspection reminders can also be combined with the material status field to automatically block pending inspection reminders for materials that have been "out of the warehouse," preventing interference from invalid notifications.
[0101] This invention accurately models the inspection cycle in the time dimension, supports timed batch and on-demand real-time dual-path calculation, and integrates the material life cycle status for intelligent filtering, ensuring the accuracy, timeliness, and business relevance of the inspection reminders.
[0102] Analysis of sedimentary materials; Among them, the sedimentation material analysis refers to the application layer reading the entry time of each material in the inventory table, calculating the number of days since its entry, and comparing the number of days with the preset sedimentation judgment threshold (the default value is 365 days) to generate a sedimentation status identifier, and thereby driving the sedimentation material control to update its visual appearance.
[0103] Specifically, the first step is to calculate the number of days the materials have been in storage (i.e., the difference between the current date and the date they were stored). Then, the status is determined according to the following rules: if the number of days in storage is greater than or equal to 365 days, it is marked as "old" and the corresponding controls are displayed in gray with low saturation; if the number of days in storage is less than 365 days, it is marked as "normal" and the controls are displayed in green.
[0104] The status indicators and day information generated during this analysis process will be pushed to the display layer to control the color saturation and text content of the aged materials controls. Simultaneously, the analysis results will be recorded in a dedicated sedimentation materials log table for later querying and statistical analysis.
[0105] Furthermore, this sedimentary material analysis method can be extended to multi-level sedimentary classification, for example: 180–364 days is "nearly settled" (light gray), ≥365 days is "already settled" (dark gray), and ≥730 days is "severely settled" (dark red), and supports threshold parameterization configuration.
[0106] This invention effectively supports the assessment of warehouse material turnover rate and the decision-making on the disposal of obsolete goods by transforming the time dimension into quantifiable analytical indicators, providing two implementation paths: interface-level real-time calculation and database-level pre-calculation, and supporting the refined expression of multi-level deposition states.
[0107] Statistical analysis of inbound and outbound quantities; Among them, the statistical analysis of inbound and outbound quantities refers to the application layer receiving the time range parameters specified by the user, summarizing and calculating the total inbound and outbound quantities of each type of material in the inbound and outbound log table during that period, and visually presenting the statistical results in the form of a bar chart in the display layer.
[0108] Its core aggregation logic is as follows: group the records by material number, sum the number of records with operation type "inbound" to obtain the total inbound quantity, and sum the number of records with operation type "outbound" to obtain the total outbound quantity.
[0109] In addition, this statistical function supports secondary grouping and detailed analysis according to material category or warehouse name, and can export the final statistical results as a comma-separated value file.
[0110] Furthermore, this method for statistical analysis of inbound and outbound quantities can also incorporate year-on-year / month-on-month analysis, automatically calculating the rate of change in quantity between the current period and the previous period (such as the same period last month), and marking the percentage growth rate at the top of the bar chart.
[0111] This invention enables an intuitive quantitative presentation of the intensity of material flow through structured aggregation calculation, flexible grouping dimension support, and online / offline dual-mode analysis capabilities, providing data support for inventory strategy optimization and resource scheduling.
[0112] This invention encapsulates nine core business logics at the application layer: user authentication and permission management, CRUD operations for basic material information, intelligent inbound and outbound order processing, manual correction of inventory discrepancies, real-time inventory query and export, inventory early warning analysis, pending inspection reminder analysis, accumulated material analysis, and inbound and outbound quantity statistical analysis. All of these logics operate collaboratively based on the same data access layer and graphical interface framework, forming a functional closed loop covering the entire business chain of warehouse management. Data interoperability and process integration are achieved between the various business logic modules through a shared database table structure and a unified permission model. This ensures the integrity of the overall system control capabilities and enhances data security and operational reliability through fine-grained permission control and multi-level early warning mechanisms, effectively solving the problems of incomplete business logic and fragmented functions in traditional warehouse management systems.
[0113] In one optional embodiment, the present invention further provides an application architecture in which the operating system of the server and the client is an operating system, the graphical interface framework is the Qt framework, and the relational database is a database.
[0114] Both the server and client operate on Linux. Here, "operating system" refers to an open-source Unix-like operating system that conforms to the POSIX standard and provides a complete kernel scheduling and user space management mechanism. Examples include, but are not limited to, distributions such as Ubuntu 20.04 LTS, CentOS 7.9, or UnionTech UOSServer 20. As the underlying operating platform, this operating system provides reliable process management, memory protection, file system support, and network communication capabilities for upper-layer applications. Its high stability, low resource consumption, and strong security isolation characteristics lay a solid foundation for the continuous and stable operation of the warehouse management system in a domestically developed information innovation environment.
[0115] Furthermore, limiting both the server and client to run on this operating system means that both the server and client programs are deployed based on the same Linux kernel environment, and they communicate through the standard TCP / IP protocol stack. This design effectively avoids problems such as driver adaptation, permission management, and inconsistent system calls caused by cross-platform differences, improving the overall consistency and maintainability of the system.
[0116] In one alternative implementation, the operating system deployment method may be: installing the selected Linux distribution on a physical server or virtualization platform, completing the deployment of the basic system environment including setting a fixed network address, configuring access control rules and security policies, and centrally managing the start, stop and operation logs of background processes through the system service manager; In another alternative implementation, the operating system deployment method may include: adopting a containerized deployment scheme, encapsulating the server-side functional modules into Docker images, and uniformly scheduling and running them in a Kubernetes cluster; while the client is deployed directly on various terminal devices as a native application. Furthermore, a minimal system runtime environment is built using a lightweight Linux distribution. This environment retains only the runtime dependencies of the C language standard library, secure communication library, database client connection library, and graphical interface framework required for operation, thereby effectively reducing potential security risks to the system and improving startup and running efficiency.
[0117] The graphical interface framework is the Qt framework; The "Qt framework" refers to an application development framework written in C++ that is cross-platform capable. Specific versions may include Qt 5.12.8 or Qt 6.5.x. This framework encapsulates the underlying graphical interface services of different operating systems through a unified programming interface, providing two interface construction methods: a development model based on traditional controls and a declarative interface description language. It also includes built-in signal and slot communication, a model / view architecture, and a rich library of industry-standard controls, thereby supporting warehouse management clients in achieving high-performance interface rendering, complex business interaction logic, and the encapsulation of custom visual controls.
[0118] By limiting the graphical interface framework to Qt, the technical path and capability scope for client interface development are clearly defined, enabling it to fully utilize the graphics hardware acceleration support provided by the Linux platform and ensuring consistency and synergy with the 3D digital twin module subsequently integrated into the system on the technology stack.
[0119] In one alternative implementation, the Qt framework integration method can be as follows: In a Linux development environment, install the offline installation package officially released by Qt, configure the corresponding project build system and cross-platform compilation toolchain; compile different functional modules of the system, such as business logic, data access and user interface, into static link libraries or dynamic shared libraries respectively; and finally realize the dynamic loading and management of custom visual controls through the plugin loading mechanism provided by the framework. Furthermore, by combining Qt Quick Controls 2 with C++ backend business logic, a user interface with a responsive layout is quickly built using the QML declarative language; at the same time, a data model abstraction interface is used to connect to the query results of the MySQL database, realizing an automatic interface update mechanism based on data changes.
[0120] Relational databases are databases; Here, "database" refers to an open-source relational database management system, specifically MySQL 5.7.36 or MySQL 8.0.33 community version. This system provides transaction guarantees of atomicity, consistency, isolation, and durability, employs efficient index structures for query optimization, and supports master-slave replication and read-write separation. It is compatible with the standard Structured Query Language and provides various programming interfaces for application access.
[0121] This database is natively integrated with the Qt framework through its built-in database access module, allowing developers to directly use the module's query classes to perform parameterized database operations, and to easily bind UI table controls to database tables using the corresponding data model classes.
[0122] By limiting the data storage scheme to a relational database, a unified standard was established for organizing and accessing data in a structured form throughout the system. This ensured the logical consistency and complete traceability of multi-source heterogeneous data, such as basic material information, inbound and outbound flow records, inspection records, and early warning records.
[0123] In one alternative implementation, the database deployment method can be as follows: On a Linux server, install the MySQL database server using the system's built-in package management tool; then create a dedicated database instance for this system, and initialize four core data tables—user table, inventory table, inspection record table, and early warning record table—according to the designed structure; at the same time, configure the database service, including setting the maximum number of concurrent connections, enabling the slow query logging function, and formulating a binary log archiving strategy. Furthermore, this database deployment method can also leverage the MySQL Router middleware to implement connection switching functionality: when a user initiates a request through the switching interface, the Qt client will disconnect the existing database connection, reconstruct the connection string pointing to the target database instance, and sequentially call the database connection creation and opening methods provided by the framework to establish a new connection and complete the switching.
[0124] This invention ensures the consistency and controllability of the underlying system operating environment by uniformly deploying the server and client on the operating system; it leverages the Qt framework to achieve GUI compatibility and high-performance rendering capabilities across Linux distributions, supporting the stable presentation of various visual controls and 3D digital twin scenes; and it relies on a database to complete efficient storage and retrieval of structured warehouse data and transaction management, ensuring the integrity and traceability of data throughout its entire lifecycle. These three elements work together to form a complete technology stack for domestic platforms, not only avoiding the risks of dependence on specific drivers, registry entries, or services under the Windows ecosystem, but also meeting the stringent requirements of aerospace launch missions for system stability, security, and independent controllability, thereby effectively solving the problem of poor software and hardware compatibility during the adaptation process of domestic platforms.
[0125] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for visualizing warehouse management status, characterized in that, Applications include client / server-based warehouse management systems, including: The application architecture of the warehouse management system is constructed, and the application architecture includes a data layer, an application layer, and a presentation layer; The data layer is used to store the entire lifecycle data of warehoused materials based on a relational database; The application layer is used to develop clients based on a graphical interface framework and interacts with the data layer through the data access layer. The presentation layer is used to generate and display various predetermined types of visual controls based on the business data processed by the application layer through the control library of the graphical interface framework, and to construct a three-dimensional digital twin scene corresponding to the physical warehouse based on the three-dimensional graphical interface.
2. The method according to claim 1, characterized in that, The various types of pre-defined visualization controls include at least one of the following: inventory warning control, inspection reminder control, obsolete material control, single item detection control, and quantity statistics control. The inventory warning control is used to visualize the relationship between the material inventory quantity and the warning threshold through a progress bar. The pending inspection reminder control is used to visualize the relationship between the pending inspection time and the inspection cycle of materials through a progress bar. The old and worn materials control is used to visualize the relationship between the material entry time and the preset threshold through color changes. The single item detection control is used to visualize the information of single items in the warehouse. The quantity statistics control is used to visualize the quantity of materials entering and leaving the warehouse within a specified time range through a bar chart.
3. The method according to claim 1, characterized in that, The generation and display of various predefined types of visual controls through the control library of the graphical interface framework specifically includes: Using the custom control technology of the graphical interface framework, at least one warehouse management functional unit is encapsulated to form a corresponding reusable visual control; In response to the user's interface configuration operation, the reusable visual controls are combined and laid out in the graphical interface to generate a warehouse data analysis interface.
4. The method according to claim 1, characterized in that, The construction of a 3D digital twin scene corresponding to the physical warehouse based on a 3D graphics interface includes: Based on the aforementioned 3D graphics interface, a 3D rendering window is created within the client. Read the data file describing the three-dimensional structure of the warehouse, and draw a three-dimensional model of the warehouse in the three-dimensional rendering window based on the data file; The location information of materials stored in the data layer is associated and mapped with the coordinates in the three-dimensional model to visualize the location of materials in the three-dimensional model.
5. The method according to claim 4, characterized in that, After associating and mapping the material location information with the coordinates in the three-dimensional model, the method further includes: In the three-dimensional digital twin scene, the location of the corresponding material in the three-dimensional scene is queried and highlighted based on the material's unique identification information.
6. The method according to claim 1, characterized in that, The data layer stores at least the following lifecycle data: basic information of materials, inventory status information, inbound and outbound record information, quality inspection record information, inventory warning information, and material location information. It also includes tracing the quality information of materials that have been shipped out of the warehouse based on the full life cycle data.
7. The method according to claim 1, characterized in that, The method further includes: A database connection switching interface is provided, enabling the application layer to switch between local and remote databases.
8. The method according to claim 1, characterized in that, Also includes: The client integrates a barcode scanning device and captures scanned data by listening to input events to complete the automatic entry of material information. And / or, by invoking the label printing driver through the client, a label containing material information is generated based on a predetermined template and then printed.
9. The method according to claim 1, characterized in that, The business logic executed by the application layer includes at least the following: User authentication and permission management, addition, deletion, modification and query of basic material information, intelligent processing of inbound and outbound orders, manual correction of inventory discrepancies, real-time inventory query and export, inventory early warning analysis, analysis of pending inspection reminders, analysis of accumulated materials, and statistical analysis of inbound and outbound quantities.
10. The method according to any one of claims 1-9, characterized in that, In the application architecture, the operating system for both the server and the client is Linux, the graphical interface framework is Qt, and the relational database is MySQL.