Delivery Print - 交货单与物料标签系统

从供应商发货数据到纸质单据和扫码收货的完整流程
将交货单编制、外箱标签、运输交接和仓库扫描整合为统一、可追踪的业务流程。
项目概述
Delivery Print 是一套面向供应商的交货单与物料标签打印系统。系统将导入的发货明细转换为格式统一的交货单 PDF 和物料标签 PDF,减少手工制作单据的工作量,并衔接后续运输交接与仓库收货。
该流程连接供应商、采购、司机和收货人员。各方围绕同一套采购订单、物料、数量、单据和标签数据开展工作,从而降低发货与入库环节的信息不一致。
端到端流程
- 供应商注册: 创建账号并维护供应商代码和企业信息。
- 发货明细导入: 上传包含采购订单、行项目、物料编号、数量等字段的交货数据。
- 数据校验: 检查导入结果并修正不完整或不一致的信息。
- 文档生成: 生成交货单 PDF 及对应的物料标签 PDF。
- 打印与交接: 将交货单交给司机,并把标签贴在对应货物的外箱上。
- 扫码收货: 仓库扫描外箱标签,确认物料、数量和入库结果。
核心能力
- 供应商账号注册与身份验证。
- 客户、供应商、收货信息及物料主数据管理。
- 交货明细导入、校验、修正与维护。
- 交货单预览、PDF 生成、下载和打印。
- 物料标签预览、条码生成、下载和打印。
- 交货单已生成、已打印、已取消等状态追踪。
- 标签扫描与仓库收货确认。
- 用户、角色、权限和审计管理。
可靠的单据与标签管理
交货单随司机同行,用于整批货物的交接核对;物料标签粘贴在每个外箱上,用于收货时的单件识别。两类文档都基于同一份导入数据生成,可减少重复录入错误,并在单据损坏或标签无法识别时快速重新打印。
系统对异常情况提供明确处理路径:导入失败的数据可以修正,错误的采购订单或物料信息可在重新生成前更新,无法扫描的标签则可重印后继续收货。
技术架构
Delivery Print 基于 .NET 10、Blazor Server、MudBlazor 和 Clean Architecture 构建。数据访问采用 Entity Framework Core,并支持 SQL Server、PostgreSQL 与 SQLite。系统使用 QuestPDF 生成交货单和标签文档,并结合条码组件生成可供收货扫描的标签。
解决方案同时提供 Docker 部署、基于角色的访问控制、审计能力、单元与集成测试,以及覆盖注册、数据导入、交货单创建、PDF 预览和标签生成的端到端验证流程。
项目源码
项目已发布在 GitHub:neozhu/delivery-print。
