wms/nflg-wms-srm-receive/CLAUDE.md

79 lines
2.3 KiB
Markdown
Raw Normal View History

[根目录](../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 | 初始化 | 首次生成模块文档 |