Skip to content

胶水管理

**本文引用的文件** - [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)

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖关系分析
  7. 性能考量
  8. 故障排查指南
  9. 结论
  10. 附录

简介

本技术文档聚焦于胶水管理模块,系统性阐述胶水基础数据、入库与出库业务流程、站点使用记录与实时监控机制,并给出API接口设计、特殊要求(批次管理、有效期控制、温度存储)以及最佳实践与安全操作指南。目标是帮助研发与运营人员准确理解并高效使用胶水管理能力。

项目结构

胶水管理位于“设备 mate + store”业务域中,采用前后端分离架构:前端通过网关调用后端服务;后端以Spring MVC控制器对外暴露REST接口,内部通过服务层与数据访问层协作完成业务编排与持久化。

图表来源

章节来源

核心组件

  • 基础数据模型
    • PasteGlueBaseDo:胶水基础属性,包含类型、型号、物料编码/名称、包装关键字、存储条件/区域、有效期、回温和搅拌要求等。
    • PasteGlueBaseVo:基础属性的视图对象,用于对外返回或扩展。
  • 入库单据
    • PasteGlueInOrderDo:胶水入库单主表,记录入库单号、仓库、入库类型、批次/LotNo、生产日期、入库数量、瓶标到期日、入库员与审核员等。
  • 库存明细
    • PasteGlueStoreDo:库存明细,包含序列号、站点状态、存储条件/区域、回温时间、存储次数、排程/线体、物料信息、批次/LotNo、备注等。
  • 站点记录
    • PasteGlueStationRecordsDo:站点流水记录,标识序列号在各环节(入库/回温/搅拌/出库/报废)的流转与备注。
  • 查询与导出示例
    • PasteGlueInOrderQueryVo、PasteGlueStoreQueryVo:查询参数载体。
    • PasteGlueBaseExcelVo、PasteGlueInOrderExcelVo、PasteGlueStoreExcelVo:导出字段映射。

章节来源

架构总览

胶水管理遵循“控制器-服务-数据访问”的分层架构,控制器负责HTTP请求接入与鉴权上下文注入,服务层组织业务规则与事务边界,数据访问层基于MyBatis-Plus进行数据库交互。

图表来源

详细组件分析

胶水基础数据 PasteGlueBaseDo 设计与管理

  • 字段要点
    • 类型与型号:用于区分胶水类别与具体规格。
    • 物料编码/名称:唯一标识与可读名称。
    • 包装关键字:辅助识别包装形态。
    • 存储条件/区域:温度、湿度等存储环境要求。
    • 有效期:存储有效期与在线有效期(离线/在线状态下的有效时长)。
    • 回温和搅拌:是否需要回温、是否需要搅拌及回温条件与时长。
  • 设计原则
    • 使用统一基类实体,继承通用字段(创建人、时间、删除标记等)。
    • 通过校验注解保证必填与长度约束。
    • 对可能变更的字段采用忽略更新策略,避免误覆盖。
  • 数据复杂度
    • 单表查询为主,索引建议围绕类型/型号/物料编码/存储区域建立。
  • 性能与优化
    • 导出与查询时按需投影字段,减少网络传输与解析开销。
    • 对高频字典字段(类型/型号/存储条件)建议缓存或字典表维护。

章节来源

胶水入库订单 PasteGlueInOrderDo 业务流程

  • 关键字段
    • 入库单号、仓库、入库类型、胶水代号、LotNo、生产日期、入库数量、瓶标到期日、入库员/审核员、备注等。
  • 流程要点
    • 首次入库:生成入库单与明细,分配序列号集合。
    • 二次入库:基于起始序列号与入库数量进行拆分与续存。
    • 字典联动:按机型获取类型字典,按类型获取机型字典。
    • 导出与打印:支持明细与单据导出,支持批量打印指令拼装。
  • 控制器接口
    • 分页查询入库单与明细、按ID查询、保存入库单、二次入库、导出明细/单据、打印拼装等。

图表来源

章节来源

胶水站记录 PasteGlueStationRecordsDo 实时监控机制

  • 记录内容
    • 序列号、站点(入库/回温/搅拌/出库/报废)、备注。
  • 监控能力
    • 使用量统计:结合库存明细与出库记录推导。
    • 有效期管理:结合瓶标到期日与在线/存储有效期进行预警。
    • 损耗控制:通过报废站点与异常出库记录识别损耗。
  • 与库存关联
    • 库存明细中的站点字段与站记录形成闭环,便于审计与追溯。

章节来源

库存明细与查询 PasteGlueStoreDo 与查询VO

  • 字段要点
    • 序列号、站点、存储条件/区域、回温时间、存储次数、排程/线体、物料信息、批次/LotNo、备注。
  • 查询能力
    • 支持按序列号、物料类型/型号、站点、物料编码、日期范围、起止序列号、排程/线体等多维组合查询。
    • 提供分页与列表两种查询模式。
  • 预警与导出
    • 超期预警分页查询与导出。
    • 邮件发送功能(通过缓存邮箱地址触发)。

图表来源

章节来源

依赖关系分析

  • 控制器依赖
    • PasteGlueInOrderController 依赖入库单服务与明细服务,负责请求参数注入与导出/打印等横切能力。
    • PasteGlueStoreController 依赖库存服务与Redis缓存,负责预警、导出、邮件发送等能力。
  • 实体与查询
    • VO与DO一一对应,VO用于对外返回与导出映射,DO用于持久化与业务计算。
  • 导出映射
    • Excel VO定义了导出字段与字典映射,确保导出一致性与可读性。

图表来源

性能考量

  • 查询优化
    • 对常用过滤字段(类型、型号、物料编码、站点、日期范围)建立索引,提升分页查询效率。
    • 导出场景按需投影字段,避免全表扫描与大字段传输。
  • 缓存策略
    • 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缓存高频配置,降低数据库压力。
    • 完善日志与审计,便于问题定位与合规审查。