diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java
index 1a014c10..5328d4ef 100644
--- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java
@@ -21,10 +21,14 @@ import com.nflg.wms.common.util.VUtil;
import com.sap.conn.jco.*;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Slf4j
@@ -37,6 +41,9 @@ public class SapService {
@Resource
private JCoRepository repository;
+ @Resource
+ private StringRedisTemplate stringRedisTemplate;
+
/**
* 生产订单副产品(拆解)入库过账
*/
@@ -139,7 +146,6 @@ public class SapService {
/**
* 生产订单查询
- *
* @param no 生产订单号
*/
public ZWM00MB007DTO zwm00Mb007(String no) {
@@ -159,13 +165,16 @@ public class SapService {
.throwMessage("SAP:" + eReturn.getString("MESSAGE"));
return null;
} else {
+ String date = DateTimeUtil.format(LocalDate.now(), "yyMMdd");
+ stringRedisTemplate.opsForValue().setIfAbsent("index:batchNo:" + date, "0", 24 - LocalDateTime.now().getHour(), TimeUnit.HOURS);
+ String index = StrUtil.padPre(String.valueOf(stringRedisTemplate.opsForValue().increment("index:batchNo:" + date)), 4, "0");
+ dto.setBatchNo(date + index);
return dto;
}
}
/**
* 生产订单收货
- *
* @param no 生产订单号
* @param userName 用户名
* @param materials 入库物料列表
@@ -265,7 +274,6 @@ public class SapService {
/**
* 扫码质检入库
- *
* @param dto 数据
*/
public Pair
* 该方法用于调用 SAP 的 RFC 函数 ZWM00_MB112,执行成本中心物料退库操作。
* 根据传入的请求参数构造输入表和字段,并处理返回结果。
- *
* @param request 请求参数对象,包含退库单据号、用户信息及物料明细等
* @return C_MaterialReturnDTO 返回结果对象,包含生成的物料凭证号(MBLNR)和年度(MJAHR)
*/
@@ -545,7 +548,6 @@ public class SapService {
*
* 根据预留单号(resebRsNum)调用SAP的RFC函数ZWM00_MB026,查询对应的成本中心领料信息,
* 包括领料主记录和明细清单,并封装为C_MaterialOutboundQueryDTO对象返回。
- *
* @param resebRsNum 预留单号,不能为空
* @return C_MaterialOutboundQueryDTO 领料查询结果数据传输对象,包含主信息和明细列表
*/
@@ -597,7 +599,6 @@ public class SapService {
* 该方法首先校验请求参数中的物料明细是否为空,然后构造调用SAP所需的输入参数和表结构,
* 包括 T_LIST1 和 T_LIST2。根据是否存在扫码信息决定数据填充方式。
* 最后调用SAP函数并处理返回结果,构造并返回出库凭证信息。
- *
* @param request 物料出库请求对象,包含预留号、用户信息及物料明细列表
* @return C_MaterialOutboundDTO 出库操作成功后返回的物料凭证信息,包括物料凭证号(MBLNR)和年度(MJAHR)
*/
@@ -689,7 +690,6 @@ public class SapService {
* 该方法用于调用SAP的RFC函数ZWM3A07,根据传入的查询条件获取生产领料单信息。
* 查询条件包括工厂代码、工序、生产订单号和库存地点等。
* 返回结果包含主表信息和明细项列表。
- *
* @param query 查询参数对象,包含工厂代码(必填)、工序列表、生产订单号列表、库存地点列表等
* @return Zwm3a07VO 包含查询结果的VO对象,包括主表字段和明细项列表
*/
@@ -735,7 +735,6 @@ public class SapService {
* 该方法用于调用 SAP 的 RFC 函数 ZWM3A10,执行领料出库操作。首先校验输入参数,
* 然后构造函数所需的输入参数和表数据,调用 SAP 接口,并处理返回结果。
*
* 该方法用于调用 SAP 的 RFC 函数 ZWM3A08,根据传入的查询条件获取补料单数据。
* 查询参数包括工厂代码、工序列表和生产订单号列表等。
- *
* @param query 查询参数对象,包含工厂代码(I_WERKS)、工序列表(I_ARBPL)和订单号列表(I_AUFNR)等字段
* @return 返回封装后的补料单结果对象 Zwm3a08VO,包含主信息及明细项列表
*/
@@ -824,7 +822,6 @@ public class SapService {
* 该方法用于调用SAP的RFC函数ZWM3A09,根据传入的查询条件获取生产退料单信息。
* 查询条件包括工厂代码、工序列表和订单号列表等。
* 返回结果包含主表信息和明细项列表。
- *
* @param query 查询参数对象,包含以下必填字段:
* - I_WERKS:工厂代码(不能为空)
* - I_ARBPL:工序列表(可选)
@@ -882,7 +879,6 @@ public class SapService {
* 该方法用于调用 SAP 的 RFC 函数 ZWM3A11,执行生产退料单的出库操作。
* 输入参数包括订单号、物料明细等信息,并根据 SAP 返回结果构造返回对象。
*
* 该方法用于调用 SAP 的 RFC 函数 ZWM00_MB113,完成厂内调库的过账操作。 *
- * * @param query 查询参数对象,包含过账所需的输入信息和物料明细列表 * @return 返回包含物料凭证号(MBLNR)和年度(MJAHR)的结果对象 */ @@ -1237,7 +1226,6 @@ public class SapService { /** * 获取物料的属性信息(仓库、库位、批次管理、序号管理,是否质检) - * * @param query 查询条件封装对象,包含工厂、仓库、物料等信息 * @return 物料属性信息列表,每个元素为 {@link ZWM3A21ResultDTO} 类型 */ @@ -1282,9 +1270,8 @@ public class SapService { /** * 获取物料的批次信息 - * - * @param iVbelv 交货单 - * @param iWerks 工厂 + * @param iVbelv 交货单 + * @param iWerks 工厂 * @return 获取零部件出库单的订单信息,每个元素为 {@link ZWM3A19DTO} 类型 */ public ZWM3A19DTO zwm3a19(String iVbelv, String iWerks) { @@ -1315,12 +1302,12 @@ public class SapService { /** - *零部件出库单 过账信息 + * 零部件出库单 过账信息 * @param dto * @return */ public Pair