feat: bug-966 返回字段添加批次号,数据为yyMMdd+4位流水号
This commit is contained in:
parent
101501516c
commit
f4e7abcf2b
|
|
@ -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<String, String> zwm3a18(ZWM3A18DTO dto) {
|
||||
|
|
@ -291,7 +299,6 @@ public class SapService {
|
|||
|
||||
/**
|
||||
* 扫码入库
|
||||
*
|
||||
* @param dto 数据
|
||||
*/
|
||||
public Pair<Pair<String, String>, Pair<String, String>> zwm3a17(ZWM3A17DTO dto) {
|
||||
|
|
@ -343,7 +350,6 @@ public class SapService {
|
|||
|
||||
/**
|
||||
* 获取库存信息
|
||||
*
|
||||
* @param factory 工厂编号
|
||||
* @param warehouseNo 仓库编号
|
||||
* @param materialNo 物料编号
|
||||
|
|
@ -355,7 +361,6 @@ public class SapService {
|
|||
|
||||
/**
|
||||
* 获取库存信息
|
||||
*
|
||||
* @param factory 工厂编号
|
||||
* @param warehouseNos 仓库编号列表
|
||||
* @param beginTime 开始时间,格式yyyyMMdd
|
||||
|
|
@ -434,7 +439,6 @@ public class SapService {
|
|||
/**
|
||||
* 成本中心退库查询
|
||||
* 根据退库单号查询物料退库信息
|
||||
*
|
||||
* @param resebRsNum 退库单号
|
||||
* @return 预留单号
|
||||
*/
|
||||
|
|
@ -453,7 +457,6 @@ public class SapService {
|
|||
* <p>
|
||||
* 该方法用于调用 SAP 的 RFC 函数 ZWM00_MB112,执行成本中心物料退库操作。
|
||||
* 根据传入的请求参数构造输入表和字段,并处理返回结果。
|
||||
*
|
||||
* @param request 请求参数对象,包含退库单据号、用户信息及物料明细等
|
||||
* @return C_MaterialReturnDTO 返回结果对象,包含生成的物料凭证号(MBLNR)和年度(MJAHR)
|
||||
*/
|
||||
|
|
@ -545,7 +548,6 @@ public class SapService {
|
|||
* <p>
|
||||
* 根据预留单号(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 接口,并处理返回结果。
|
||||
* </p>
|
||||
*
|
||||
* @param query 查询参数对象,包含领料出库所需的信息,如订单号、物料明细等。
|
||||
* 不能为空,且至少包含一个物料明细项。
|
||||
* @return Zwm3a10VO 返回结果对象,包含生成的物料凭证号(MAT_DOC)和凭证年度(DOC_YEAR)
|
||||
|
|
@ -783,7 +782,6 @@ public class SapService {
|
|||
* <p>
|
||||
* 该方法用于调用 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 返回结果构造返回对象。
|
||||
* </p>
|
||||
*
|
||||
* @param query 查询参数对象,包含订单号(AUFNR)及物料明细列表(INPUT1 和 INPUT2)
|
||||
* @return Zwm3a11VO 包含物料凭证号(MAT_DOC)和凭证年度(DOC_YEAR)的结果对象
|
||||
*/
|
||||
|
|
@ -921,7 +917,6 @@ public class SapService {
|
|||
|
||||
/**
|
||||
* 委外订单发料查询
|
||||
*
|
||||
* @param query 委外订单查询参数对象,包含工厂代码和物料明细等查询条件
|
||||
* @return 委外订单发料查询结果列表
|
||||
*/
|
||||
|
|
@ -965,7 +960,6 @@ public class SapService {
|
|||
* 该方法会校验输入参数是否合法,构造SAP所需的输入参数和表数据,
|
||||
* 调用SAP RFC函数执行业务逻辑,并解析返回结果。
|
||||
* </p>
|
||||
*
|
||||
* @param query 委外订单确认的查询参数对象,包含订单号和物料明细等信息
|
||||
* @return 返回委外订单确认的结果信息,包括物料凭证号和凭证年度
|
||||
*/
|
||||
|
|
@ -1003,7 +997,6 @@ public class SapService {
|
|||
/**
|
||||
* 转储清单查询
|
||||
* 通过调用SAP RFC函数ZWM3A15查询转储清单信息
|
||||
*
|
||||
* @param query 查询条件对象,包含工厂、日期范围等查询参数
|
||||
* @return AllocationOrderDTO对象列表,包含查询到的转储清单信息
|
||||
*/
|
||||
|
|
@ -1044,7 +1037,6 @@ public class SapService {
|
|||
/**
|
||||
* 场内调拨清单查询
|
||||
* 通过调用SAP RFC函数ZWM3A16查询场内调拨清单信息
|
||||
*
|
||||
* @param query 查询条件对象,包含工厂、日期范围等查询参数
|
||||
* @return 调拨订单DTO列表,包含查询到的调拨清单信息
|
||||
*/
|
||||
|
|
@ -1086,7 +1078,6 @@ public class SapService {
|
|||
/**
|
||||
* 成本中心领料清单查询
|
||||
* 通过调用SAP RFC函数ZWM3A13查询成本中心的物料领用清单信息
|
||||
*
|
||||
* @param query 查询参数对象,包含工厂代码等查询条件,不可为空
|
||||
* @return 返回成本中心物料领料清单的DTO对象列表
|
||||
*/
|
||||
|
|
@ -1141,7 +1132,6 @@ public class SapService {
|
|||
|
||||
/**
|
||||
* 成本中心退料清单查询
|
||||
*
|
||||
* @param query 查询条件对象,包含工厂等查询参数
|
||||
* @return 部门物料退料单DTO列表
|
||||
*/
|
||||
|
|
@ -1191,7 +1181,6 @@ public class SapService {
|
|||
* <p>
|
||||
* 该方法用于调用 SAP 的 RFC 函数 ZWM00_MB113,完成厂内调库的过账操作。
|
||||
* </p>
|
||||
*
|
||||
* @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<String, String> zwm3a20(ZWM3A20DTO dto) {
|
||||
// return Pair.of("Test", "TestYear");
|
||||
// return Pair.of("Test", "TestYear");
|
||||
Map<String, Object> parameters = new HashMap<>();
|
||||
parameters.put("IV_DELIVERY", dto.getIvDelivery());
|
||||
parameters.put("I_TYPE", dto.getIType());
|
||||
|
|
|
|||
|
|
@ -72,4 +72,9 @@ public class ZWM00MB007DTO {
|
|||
* 序列号
|
||||
*/
|
||||
private String sernr;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
private String batchNo;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue