Appearance
胶水管理
**本文引用的文件** - [PasteGlueBaseDo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/entity/PasteGlueBaseDo.java) - [PasteGlueInOrderDo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/entity/PasteGlueInOrderDo.java) - [PasteGlueStationRecordsDo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/entity/PasteGlueStationRecordsDo.java) - [PasteGlueStoreDo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/entity/PasteGlueStoreDo.java) - [PasteGlueBaseVo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/vo/PasteGlueBaseVo.java) - [PasteGlueInOrderQueryVo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/vo/PasteGlueInOrderQueryVo.java) - [PasteGlueStoreQueryVo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/vo/PasteGlueStoreQueryVo.java) - [PasteGlueBaseExcelVo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/entity/excel/PasteGlueBaseExcelVo.java) - [PasteGlueInOrderExcelVo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/entity/excel/PasteGlueInOrderExcelVo.java) - [PasteGlueStoreExcelVo.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/src/main/java/com/lenovo/lemes/service/dm/store/entity/excel/PasteGlueStoreExcelVo.java) - [PasteGlueInOrderController.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-server/src/main/java/com/lenovo/lemes/service/dm/store/controller/PasteGlueInOrderController.java) - [PasteGlueStoreController.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-server/src/main/java/com/lenovo/lemes/service/dm/store/controller/PasteGlueStoreController.java)目录
简介
本技术文档聚焦于胶水管理模块,系统性阐述胶水基础数据、入库与出库业务流程、站点使用记录与实时监控机制,并给出API接口设计、特殊要求(批次管理、有效期控制、温度存储)以及最佳实践与安全操作指南。目标是帮助研发与运营人员准确理解并高效使用胶水管理能力。
项目结构
胶水管理位于“设备 mate + store”业务域中,采用前后端分离架构:前端通过网关调用后端服务;后端以Spring MVC控制器对外暴露REST接口,内部通过服务层与数据访问层协作完成业务编排与持久化。
图表来源
章节来源
核心组件
- 基础数据模型
- PasteGlueBaseDo:胶水基础属性,包含类型、型号、物料编码/名称、包装关键字、存储条件/区域、有效期、回温和搅拌要求等。
- PasteGlueBaseVo:基础属性的视图对象,用于对外返回或扩展。
- 入库单据
- PasteGlueInOrderDo:胶水入库单主表,记录入库单号、仓库、入库类型、批次/LotNo、生产日期、入库数量、瓶标到期日、入库员与审核员等。
- 库存明细
- PasteGlueStoreDo:库存明细,包含序列号、站点状态、存储条件/区域、回温时间、存储次数、排程/线体、物料信息、批次/LotNo、备注等。
- 站点记录
- PasteGlueStationRecordsDo:站点流水记录,标识序列号在各环节(入库/回温/搅拌/出库/报废)的流转与备注。
- 查询与导出示例
- PasteGlueInOrderQueryVo、PasteGlueStoreQueryVo:查询参数载体。
- PasteGlueBaseExcelVo、PasteGlueInOrderExcelVo、PasteGlueStoreExcelVo:导出字段映射。
章节来源
- PasteGlueBaseDo.java:16-92
- PasteGlueBaseVo.java:7-16
- PasteGlueInOrderDo.java:9-102
- PasteGlueStoreDo.java:10-144
- PasteGlueStationRecordsDo.java:14-32
- PasteGlueInOrderQueryVo.java:10-47
- PasteGlueStoreQueryVo.java:13-117
- PasteGlueBaseExcelVo.java:9-81
- PasteGlueInOrderExcelVo.java:11-82
- PasteGlueStoreExcelVo.java:10-89
架构总览
胶水管理遵循“控制器-服务-数据访问”的分层架构,控制器负责HTTP请求接入与鉴权上下文注入,服务层组织业务规则与事务边界,数据访问层基于MyBatis-Plus进行数据库交互。
图表来源
- PasteGlueBaseDo.java:16-92
- PasteGlueBaseVo.java:7-16
- PasteGlueInOrderDo.java:9-102
- PasteGlueStoreDo.java:10-144
- PasteGlueStationRecordsDo.java:14-32
- PasteGlueInOrderQueryVo.java:10-47
- PasteGlueStoreQueryVo.java:13-117
- PasteGlueInOrderController.java:35-134
- PasteGlueStoreController.java:28-143
详细组件分析
胶水基础数据 PasteGlueBaseDo 设计与管理
- 字段要点
- 类型与型号:用于区分胶水类别与具体规格。
- 物料编码/名称:唯一标识与可读名称。
- 包装关键字:辅助识别包装形态。
- 存储条件/区域:温度、湿度等存储环境要求。
- 有效期:存储有效期与在线有效期(离线/在线状态下的有效时长)。
- 回温和搅拌:是否需要回温、是否需要搅拌及回温条件与时长。
- 设计原则
- 使用统一基类实体,继承通用字段(创建人、时间、删除标记等)。
- 通过校验注解保证必填与长度约束。
- 对可能变更的字段采用忽略更新策略,避免误覆盖。
- 数据复杂度
- 单表查询为主,索引建议围绕类型/型号/物料编码/存储区域建立。
- 性能与优化
- 导出与查询时按需投影字段,减少网络传输与解析开销。
- 对高频字典字段(类型/型号/存储条件)建议缓存或字典表维护。
章节来源
胶水入库订单 PasteGlueInOrderDo 业务流程
- 关键字段
- 入库单号、仓库、入库类型、胶水代号、LotNo、生产日期、入库数量、瓶标到期日、入库员/审核员、备注等。
- 流程要点
- 首次入库:生成入库单与明细,分配序列号集合。
- 二次入库:基于起始序列号与入库数量进行拆分与续存。
- 字典联动:按机型获取类型字典,按类型获取机型字典。
- 导出与打印:支持明细与单据导出,支持批量打印指令拼装。
- 控制器接口
- 分页查询入库单与明细、按ID查询、保存入库单、二次入库、导出明细/单据、打印拼装等。
图表来源
章节来源
- PasteGlueInOrderDo.java:9-102
- PasteGlueInOrderController.java:35-134
- PasteGlueInOrderExcelVo.java:11-82
胶水站记录 PasteGlueStationRecordsDo 实时监控机制
- 记录内容
- 序列号、站点(入库/回温/搅拌/出库/报废)、备注。
- 监控能力
- 使用量统计:结合库存明细与出库记录推导。
- 有效期管理:结合瓶标到期日与在线/存储有效期进行预警。
- 损耗控制:通过报废站点与异常出库记录识别损耗。
- 与库存关联
- 库存明细中的站点字段与站记录形成闭环,便于审计与追溯。
章节来源
库存明细与查询 PasteGlueStoreDo 与查询VO
- 字段要点
- 序列号、站点、存储条件/区域、回温时间、存储次数、排程/线体、物料信息、批次/LotNo、备注。
- 查询能力
- 支持按序列号、物料类型/型号、站点、物料编码、日期范围、起止序列号、排程/线体等多维组合查询。
- 提供分页与列表两种查询模式。
- 预警与导出
- 超期预警分页查询与导出。
- 邮件发送功能(通过缓存邮箱地址触发)。
图表来源
章节来源
- PasteGlueStoreDo.java:10-144
- PasteGlueStoreQueryVo.java:13-117
- PasteGlueStoreController.java:28-143
- PasteGlueStoreExcelVo.java:10-89
依赖关系分析
- 控制器依赖
- PasteGlueInOrderController 依赖入库单服务与明细服务,负责请求参数注入与导出/打印等横切能力。
- PasteGlueStoreController 依赖库存服务与Redis缓存,负责预警、导出、邮件发送等能力。
- 实体与查询
- VO与DO一一对应,VO用于对外返回与导出映射,DO用于持久化与业务计算。
- 导出映射
- Excel VO定义了导出字段与字典映射,确保导出一致性与可读性。
图表来源
- PasteGlueInOrderController.java:35-134
- PasteGlueStoreController.java:28-143
- PasteGlueInOrderDo.java:9-102
- PasteGlueStoreDo.java:10-144
- PasteGlueStationRecordsDo.java:14-32
- PasteGlueInOrderQueryVo.java:10-47
- PasteGlueStoreQueryVo.java:13-117
- PasteGlueInOrderExcelVo.java:11-82
- PasteGlueStoreExcelVo.java:10-89
性能考量
- 查询优化
- 对常用过滤字段(类型、型号、物料编码、站点、日期范围)建立索引,提升分页查询效率。
- 导出场景按需投影字段,避免全表扫描与大字段传输。
- 缓存策略
- Redis用于存储预警邮件接收者邮箱等临时配置,降低重复查询成本。
- 并发与事务
- 入库/出库/二次入库涉及序列号分配与库存更新,应使用数据库事务保障一致性。
- 日志与审计
- 控制器方法标注系统日志注解,便于问题追踪与审计留痕。
故障排查指南
- 常见问题
- 入库单保存失败:检查必填字段与字典值合法性;确认序列号分配逻辑与库存状态。
- 库存查询无结果:核对查询条件(日期范围、序列号区间、站点)是否过严。
- 导出异常:确认Excel映射字段与字典项是否存在缺失。
- 预警邮件未发送:检查Redis中邮箱缓存是否设置成功。
- 排查步骤
- 查看控制器日志与异常栈。
- 核对数据库中入库单、库存明细与站记录的数据一致性。
- 验证字典表与枚举值是否匹配。
章节来源
结论
胶水管理模块以清晰的实体模型与严格的查询/导出映射为基础,结合入库、库存与站记录的完整链路,实现了从基础数据到业务流程再到实时监控的闭环。通过合理的索引、缓存与事务策略,可在保证数据一致性的前提下满足高并发场景下的查询与导出需求。建议在生产环境中持续完善字典与枚举治理,强化异常告警与审计日志,确保批次管理、有效期与温度存储等关键要求得到严格执行。
附录
API 接口设计(按模块)
- 入库单模块
- POST /pasteGlueInOrder/page:分页查询入库单列表
- POST /pasteGlueInOrder/detail/page:分页查询入库单详情列表
- GET /pasteGlueInOrder/{id}:按ID查询入库单
- POST /pasteGlueInOrder/save:保存入库单(首次入库)
- POST /pasteGlueInOrder/secondaryStorage:二次入库
- GET /pasteGlueInOrder/getStoreInUsers:获取入库员列表
- GET /pasteGlueInOrder/getPasteGlueTypeDictList:按机型获取类型字典
- GET /pasteGlueInOrder/getPasteGlueModelDictList:按类型获取机型字典
- POST /pasteGlueInOrder/detail/exportExcel:导出入库单明细Excel
- POST /pasteGlueInOrder/exportExcel:导出入库单Excel
- POST /pasteGlueInOrder/printPasteGlueInfo:批量打印胶水信息指令拼装
- 库存明细模块
- POST /pasteGlueStore/page:分页查询库存明细
- POST /pasteGlueStore/queryList:按条件查询列表
- POST /pasteGlueStore/querySerialNo:按起始序列号查询列表
- POST /pasteGlueStore/pageWarning:分页查询超期预警
- GET /pasteGlueStore/storeEmailAddress:将邮箱地址存入缓存
- POST /pasteGlueStore/exportExcel:导出超期预警Excel
- POST /pasteGlueStore/sendEmail:发送超期预警邮件
- GET /pasteGlueStore/api/getPasteGlueBySerialNo:按序列号获取胶水信息
章节来源
特殊要求与最佳实践
- 批次管理
- LotNo贯穿入库、库存与出库全流程,确保可追溯性。
- 有效期控制
- 结合瓶标到期日与存储/在线有效期,设置预警阈值,定期导出并邮件提醒。
- 温度存储
- 基础数据中明确存储条件与回温要求,出入库时严格记录站点与时间。
- 最佳实践
- 统一字典与枚举管理,避免硬编码。
- 对关键字段(序列号、批次、有效期)建立唯一索引与校验。
- 强化事务边界,防止并发写入导致的数据不一致。
- 使用Redis缓存高频配置,降低数据库压力。
- 完善日志与审计,便于问题定位与合规审查。