[根目录](../CLAUDE.md) > **nflg-wms-srm-receive** # nflg-wms-srm-receive - SRM 订单接收服务 ## 模块职责 SRM(供应商关系管理)订单接收服务,负责: - 接收 SRM 系统推送的发货通知 (SendNFDelivery) - 接收 SRM 系统推送的质检结果 (SendNFInspect) - 与 SAP 系统交互获取物料信息 - 维护 SRM 订单及收货状态 ## 入口与启动 | 项 | 值 | |----|-----| | 入口类 | `com.nflg.wms.srm.receive.SrmReceiveApplication` | | 端口 | 8104 | | 服务名 | srm-receive-local | | Context Path | `/api` | ## 关键依赖 - nflg-wms-starter - SAP JCo3 (ERP 集成) - Redisson (分布式锁) - Loki Logback Appender ## 对外接口 (Controller) | Controller | 路由 | 方法 | 说明 | |-----------|------|------|------| | `SRMController` | `/NFSRM/SendNFDelivery` | POST | 接收 SRM 发货通知 | | `SRMController` | `/NFSRM/SendNFInspect` | POST | 接收 SRM 质检结果 | ## 关键目录说明 | 路径 | 说明 | |------|------| | `SrmReceiveApplication.java` | 启动入口 | | `controller/SRMController.java` | SRM 接口(发货通知 + 质检结果) | | `service/SapService.java` | SAP RFC 调用服务(约 1500 行,核心业务逻辑) | | `config/SAPConfig.java` | SAP JCo 连接池配置 | | `util/JCoUtil.java` | SAP JCo 工具类 | | `pojo/dto/` | SAP 交互 DTO | | `pojo/dto/SAPMaterialInfoInOrderDTO.java` | SAP 物料信息 | | `pojo/dto/ZWM3A17DTO.java` | ZWM3A17 RFC 函数参数 | | `pojo/dto/ZWM3A18DTO.java` | ZWM3A18 RFC 函数参数 | ## 配置 - Context Path: `/api`(与其他服务不同) - 支持 dev / sit / prod 环境 ## 特殊说明 - 包含 `lib/sapjco3.jar` 本地依赖 - `SapService.java` 是最大的单文件(约 1500 行),包含所有 SAP 交互逻辑 - DTO 命名使用 SAP RFC 函数名(如 ZWM3A17、ZWM3A18) ## 测试 - `DeployDevTest.java` - 开发环境部署测试 - `DeploySitTest.java` - SIT 环境部署测试 - `SapMetaPrintTest.java` - SAP 元数据打印测试 ## 相关文件清单 - `src/main/java/com/nflg/wms/srm/receive/` - 全部源码(11 个文件) - `src/main/resources/application*.yml` - 配置文件(4 个环境) - `lib/` - 本地 JAR 依赖 - `pom.xml` - 模块依赖定义 ## 变更记录 (Changelog) | 时间 | 操作 | 说明 | |------|------|------| | 2026-05-23 14:16:58 | 初始化 | 首次生成模块文档 |