diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java
index 7af389fa..52e908e6 100644
--- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java
@@ -25,10 +25,9 @@ import org.springframework.web.client.RestTemplate;
import java.math.BigDecimal;
import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
import static cn.dev33.satoken.SaManager.log;
@@ -74,139 +73,151 @@ public class NormalPGIControllerService {
@Resource
private StringRedisTemplate stringRedisTemplate;
+ /**
+ * 根据订单编号获取订单详情信息,包括订单头信息和订单行项目信息。
+ *
+ * 该方法首先根据订单编号查询订单主表信息,若不存在则返回 null;
+ * 若存在,则进一步查询订单行项目列表,并结合 SAP 系统同步物料相关信息,
+ * 最终组装成 PDAOrderVO 对象返回。
+ *
+ * @param orderNo 订单编号,用于查询订单主表和子表数据
+ * @return PDAOrderVO 包含订单头信息和行项目信息的视图对象;若未找到对应订单则返回 null
+ * @throws Exception 查询或业务处理过程中可能抛出的异常
+ */
public PDAOrderVO getOrderItemByOrderNo(@RequestParam String orderNo) throws Exception {
- //return ApiResult.success(wmsSrmOrderItemService.getOrderItem(orderId));
- PDAOrderVO pdaOrderVO = new PDAOrderVO();
-
+ // 根据订单编号查询订单主表信息
WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, orderNo).one();
if (Objects.isNull(order))
return null;
+ PDAOrderVO pdaOrderVO = new PDAOrderVO();
+ // 设置订单头基本信息
pdaOrderVO.setNoteNum(order.getNoteNum());
pdaOrderVO.setSupplierNum(order.getSupplierNum());
pdaOrderVO.setSupplierName(order.getSupplierName());
- List orderItemList = wmsSrmOrderItemService.lambdaQuery().eq(WmsSrmOrderItem::getOrderId, order.getId()).list();
- if (CollectionUtil.isNotEmpty(orderItemList)) {
- List orderItemVOList = new ArrayList<>();
+ // 查询订单行项目列表
+ List orderItemList = wmsSrmOrderItemService.lambdaQuery()
+ .eq(WmsSrmOrderItem::getOrderId, order.getId())
+ .list();
- for (WmsSrmOrderItem item : orderItemList) {
- PDAOrderItemVO itemVO = new PDAOrderItemVO();
- itemVO.setId(item.getId());
- itemVO.setPoLineNumber(item.getPoLineNumber());
- itemVO.setPoNum(item.getPoNum());
- itemVO.setItemCode(item.getItemCode());
- itemVO.setItemName(item.getItemName());
- itemVO.setIsQuality(item.getIsQuality());
- itemVO.setOrderQty(item.getOrderQty());
- itemVO.setUomCode(item.getUomCode());
- itemVO.setDeliveryQty(item.getDeliveryQty());
-
-
- SAPSyncParamsDTO syncParamsDTO = sapCommonService.getMaterialInfoInOrder(item.getPoNum(), order.getSupplierNum(), item.getItemCode());
- if (Objects.nonNull(syncParamsDTO)) {
- itemVO.setItemName(syncParamsDTO.getMaktx());
- itemVO.setUomCode(syncParamsDTO.getMeins());
- itemVO.setOrderQty(syncParamsDTO.getMenge());
- itemVO.setReceivedWarehouse(syncParamsDTO.getWarehouseNo());
- itemVO.setBinNos(syncParamsDTO.getBinNos());
- itemVO.setLbprt(syncParamsDTO.getLbprt());
- itemVO.setTransportNum(syncParamsDTO.getTransportNum());
- boolean isQuality ;
- if (syncParamsDTO.getKzkri().equals("X"))
- isQuality = true;
- else
- isQuality = false;
-
- itemVO.setIsQuality(isQuality);
-
- orderItemVOList.add(itemVO);
- }
-
- }
-
- pdaOrderVO.setOrderItemVOList(orderItemVOList);
+ if (CollectionUtil.isEmpty(orderItemList)) {
+ return pdaOrderVO;
}
+ // if (CollectionUtil.isNotEmpty(orderItemList)) {
+ List orderItemVOList = new ArrayList<>();
+ // 遍历订单行项目,填充详细信息并从 SAP 获取补充数据
+ for (WmsSrmOrderItem item : orderItemList) {
+ PDAOrderItemVO itemVO = new PDAOrderItemVO();
+ itemVO.setId(item.getId());
+ itemVO.setPoLineNumber(item.getPoLineNumber());
+ itemVO.setPoNum(item.getPoNum());
+ itemVO.setItemCode(item.getItemCode());
+ itemVO.setItemName(item.getItemName());
+ itemVO.setIsQuality(item.getIsQuality());
+ itemVO.setOrderQty(item.getOrderQty());
+ itemVO.setUomCode(item.getUomCode());
+ itemVO.setDeliveryQty(item.getDeliveryQty());
+ // 从 SAP 系统获取物料相关信息
+ SAPSyncParamsDTO syncParamsDTO = sapCommonService.getMaterialInfoInOrder(item.getPoNum(), order.getSupplierNum(), item.getItemCode());
+ if (Objects.nonNull(syncParamsDTO)) {
+ itemVO.setItemName(syncParamsDTO.getMaktx());
+ itemVO.setUomCode(syncParamsDTO.getMeins());
+ itemVO.setOrderQty(syncParamsDTO.getMenge());
+ itemVO.setReceivedWarehouse(syncParamsDTO.getWarehouseNo());
+ itemVO.setBinNos(syncParamsDTO.getBinNos());
+ itemVO.setLbprt(syncParamsDTO.getLbprt());
+ itemVO.setTransportNum(syncParamsDTO.getTransportNum());
+ // 判断是否质检
+ boolean isQuality = "X".equals(syncParamsDTO.getKzkri());
+ itemVO.setIsQuality(isQuality);
+ orderItemVOList.add(itemVO);
+ }
+ }
+ // 设置订单行项目列表到返回对象中
+ pdaOrderVO.setOrderItemVOList(orderItemVOList);
return pdaOrderVO;
}
- @Transactional
- public void takeDelivery(List request) {
- VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("收货参数为空");
- List receipts = new ArrayList<>();
- List receiptitems = new ArrayList<>();
- List tasks = new ArrayList<>();
- List srmLineVOListItems = new ArrayList<>();
- request.forEach(item -> {
- SAPSyncParamsDTO materialInfoInOrder = null;
- try {
- materialInfoInOrder = sapCommonService.getMaterialInfoInOrder(item.getPoNum(), item.getSupplierNum(), item.getItemCode());
- } catch (Exception e) {
- log.error("获取物料信息失败", e);
- throw new RuntimeException(e);
- }
- VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("无法获取到有效订单信息" + item.getPoNum());
- //判断收货数量是否大于了未收数量
- VUtil.trueThrowBusinessError(item.getReceiptNum().add(item.getCrossNumber()).compareTo(materialInfoInOrder.getTransportNum()) > 0).throwMessage("无法获取到有效订单信息" + item.getPoNum());
- //判断序列号、批次号是否规范
- // 1 - 批次号为空,序列号为空
- // 2 - 批次号必填,序列号为空
- // 3 - 批次号为空,序列号必填
- // 4 - 批次号必填,序列号必填
+ private void validateScanCodes(SrmMaterialReceiptQO item, SAPSyncParamsDTO materialInfoInOrder) {
+ String lbprt = materialInfoInOrder.getLbprt();
+ //判断序列号、批次号是否规范
+ // 1 - 批次号为空,序列号为空
+ // 2 - 批次号必填,序列号为空
+ // 3 - 批次号为空,序列号必填
+ // 4 - 批次号必填,序列号必填
+ if ("2".equals(lbprt) || "4".equals(lbprt)) {
+ VUtil.trueThrowBusinessError(
+ CollectionUtil.isEmpty(item.getScanCodes()) ||
+ item.getScanCodes().stream().anyMatch(code -> StrUtil.isBlank(code.getBatchNumber()))
+ ).throwMessage("此物料[" + item.getItemCode() + "]必须填写批次号,订单号:" + item.getPoNum());
+ }
- //批次號必填
- if (materialInfoInOrder.getLbprt().equals("2") || materialInfoInOrder.getLbprt().equals("4")) {
- VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(item.getScanCodes()) || item.getScanCodes().stream().anyMatch(code -> StrUtil.isBlank(code.getBatchNumber()))).throwMessage("此物料[" + item.getItemCode() + "]必须填写批次号" + item.getPoNum());
- }
+ if ("3".equals(lbprt) || "4".equals(lbprt)) {
+ VUtil.trueThrowBusinessError(
+ CollectionUtil.isEmpty(item.getScanCodes()) ||
+ item.getScanCodes().stream().anyMatch(code -> StrUtil.isBlank(code.getSerialNumber()))
+ ).throwMessage("此物料[" + item.getItemCode() + "]必须填写序列号,订单号:" + item.getPoNum());
+ }
+ }
- //序列號必填
- if (materialInfoInOrder.getLbprt().equals("3") || materialInfoInOrder.getLbprt().equals("4")) {
- VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(item.getScanCodes()) || item.getScanCodes().stream().anyMatch(code -> StrUtil.isBlank(code.getSerialNumber()))).throwMessage("此物料[" + item.getItemCode() + "]必须填写序列号" + item.getPoNum());
- }
- List serialNumbers = new ArrayList<>();
- List batchNumbers = new ArrayList<>();
- boolean isQuality = materialInfoInOrder.getKzkri().equals("X") ? true : false;
- if (!isQuality) {
- // 保存收货信息
- WmsSrmMaterialReceipt receipt = new WmsSrmMaterialReceipt();
- Long receiptId = IdUtil.getSnowflakeNextId();
- receipt.setId(receiptId);
- receipt.setOrderItemId(item.getOrderItemId());
- receipt.setReceiptNum(item.getReceiptNum());
- receipt.setCrossNumber(item.getCrossNumber());
- receipt.setIsQuality(isQuality);
- receipt.setCreateTime(LocalDateTime.now());
- receipt.setCreateUserId(UserUtil.getUserId());
- receipt.setCreateUserName(UserUtil.getUserName());
+ /**
+ * 推送质检物料到SRM
+ */
+ private void pushInspectionMaterialsToSRM(SrmMaterialReceiptQO receiptQO, List srmLineVOListItems) {
+ SRMInspectionInputDTO pushDto = new SRMInspectionInputDTO();
+ SRMInspectionContentDTO content = new SRMInspectionContentDTO();
+ content.setLineVOList(srmLineVOListItems);
+ content.setSupplierName(receiptQO.getSupplierName());
+ content.setSupplierNum(receiptQO.getSupplierNum());
+ content.setReceiveNum("ZJ-" + receiptQO.getNoteNum());
+ content.setReceiveType("BY_DELIVERY");
+ pushDto.setContent(content);
+ pushDto.setCode("SCAN_RCV_RECEIVE_TO_SRM");
+ pushInspectionMaterialsToSRM(pushDto);
+ }
+ /**
+ * 收货单、质检单、任务单组装
+ */
+ private void generyReceipt(SrmMaterialReceiptQO item,
+ boolean isQuality,
+ SAPSyncParamsDTO materialInfoInOrder,
+ List receipts,
+ List receiptItems,
+ List tasks,
+ List srmLineVOListItems
+ ) {
+ // 保存收货信息
+ WmsSrmMaterialReceipt receipt = new WmsSrmMaterialReceipt();
+ Long receiptId = IdUtil.getSnowflakeNextId();
+ receipt.setId(receiptId);
+ receipt.setOrderItemId(item.getOrderItemId());
+ receipt.setReceiptNum(item.getReceiptNum());
+ receipt.setCrossNumber(item.getCrossNumber());
+ receipt.setIsQuality(isQuality);
+ receipt.setCreateTime(LocalDateTime.now());
+ receipt.setCreateUserId(UserUtil.getUserId());
+ receipt.setCreateUserName(UserUtil.getUserName());
+ //条码内容
+ if (CollectionUtil.isNotEmpty(item.getScanCodes())) {
+ item.getScanCodes().forEach(scanCode -> {
+ WmsSrmMaterialReceiptItem receiptItem = new WmsSrmMaterialReceiptItem();
+ receiptItem.setCodeId(scanCode.getCodeId());
+ receiptItem.setCodeNum(scanCode.getCodeNum());
+ receiptItem.setBatchNumber(scanCode.getBatchNumber());
+ receiptItem.setSerialNumber(scanCode.getSerialNumber());
+ receiptItem.setCodeContent(scanCode.getCodeContent());
+ receiptItem.setOrderItemId(item.getOrderItemId());
+ receiptItem.setCreateUserId(UserUtil.getUserId());
+ receiptItem.setCreateUserName(UserUtil.getUserName());
+ receiptItem.setCreateTime(LocalDateTime.now());
+ receiptItem.setReceiptId(receiptId);
+ receiptItem.setId(IdUtil.getSnowflakeNextId());
+ receiptItems.add(receiptItem);
- //条码内容
- if (CollectionUtil.isNotEmpty(item.getScanCodes())) {
- item.getScanCodes().forEach(scanCode -> {
- WmsSrmMaterialReceiptItem receiptItem = new WmsSrmMaterialReceiptItem();
- receiptItem.setCodeId(scanCode.getCodeId());
- receiptItem.setCodeNum(scanCode.getCodeNum());
- receiptItem.setBatchNumber(scanCode.getBatchNumber());
- receiptItem.setSerialNumber(scanCode.getSerialNumber());
- receiptItem.setCodeContent(scanCode.getCodeContent());
- receiptItem.setOrderItemId(item.getOrderItemId());
- receiptItem.setCreateUserId(UserUtil.getUserId());
- receiptItem.setCreateUserName(UserUtil.getUserName());
- receiptItem.setCreateTime(LocalDateTime.now());
- receiptItem.setReceiptId(receiptId);
- receiptItem.setId(IdUtil.getSnowflakeNextId());
- receiptitems.add(receiptItem);
- if (!serialNumbers.contains(receiptItem.getSerialNumber())) {
- serialNumbers.add(receiptItem.getSerialNumber());
- }
- if (!batchNumbers.contains(receiptItem.getBatchNumber())) {
- batchNumbers.add(receiptItem.getBatchNumber());
- }
- });
- }
- receipts.add(receipt);
- //生成上架任务
+ //上架任务
WmsInTaskItem taskItem = new WmsInTaskItem();
taskItem.setPoNum(item.getPoNum())
.setPoLineNumber(item.getPoLineNumber())
@@ -225,57 +236,72 @@ public class NormalPGIControllerService {
.setFactory(materialInfoInOrder.getWerks())
.setDataStatus((short) 0)
.setFailResult("")
- .setSerialNumber(serialNumbers.isEmpty() ? "" : String.join(";", serialNumbers))
- .setBatchNumber(batchNumbers.isEmpty() ? "" : String.join(";", batchNumbers))
+ .setSerialNumber(scanCode.getSerialNumber())
+ .setBatchNumber(scanCode.getBatchNumber())
.setInspectionQty(new BigDecimal(0.00))
.setSupplierNum(item.getSupplierNum())
.setInspectionOrder("");
tasks.add(taskItem);
- } else {
- //质检物料发送到质检单
- SRMLineVOListItem srmItem = new SRMLineVOListItem();
- srmItem.setItemCode(item.getItemCode());
- srmItem.setItemName(materialInfoInOrder.getMaktx());
- srmItem.setUnit(materialInfoInOrder.getMeins());
- srmItem.setFactory(materialInfoInOrder.getWerks());
- srmItem.setReceivedWarehouse(materialInfoInOrder.getWarehouseNo());
- srmItem.setReceiveBatchNum(batchNumbers.isEmpty() ? "" : String.join(";", batchNumbers));
- srmItem.setReceivedQty(item.getReceiptNum());
- srmItem.setSerialNum(serialNumbers.isEmpty() ? "" : String.join(";", serialNumbers));
- srmItem.setLineNumber(Integer.valueOf(item.getLineNumber()));
- srmItem.setNoteNum(item.getNoteNum());
- srmItem.setReceivedDate(DateTime.now());
- srmItem.setInspectionFlag("Y");
- srmLineVOListItems.add(srmItem);
- }
+ if (isQuality) {
+ //质检物料发送到质检单
+ SRMLineVOListItem srmItem = new SRMLineVOListItem();
+ srmItem.setItemCode(item.getItemCode());
+ srmItem.setItemName(materialInfoInOrder.getMaktx());
+ srmItem.setUnit(materialInfoInOrder.getMeins());
+ srmItem.setFactory(materialInfoInOrder.getWerks());
+ srmItem.setReceivedWarehouse(materialInfoInOrder.getWarehouseNo());
+ srmItem.setReceiveBatchNum(scanCode.getBatchNumber());
+ srmItem.setReceivedQty(item.getReceiptNum());
+ srmItem.setSerialNum(scanCode.getSerialNumber());
+ srmItem.setLineNumber(Integer.valueOf(item.getLineNumber()));
+ srmItem.setNoteNum(item.getNoteNum());
+ srmItem.setReceivedDate(DateTime.now());
+ srmItem.setInspectionFlag("Y");
+ srmLineVOListItems.add(srmItem);
+ }
+ });
+ }
+ receipts.add(receipt);
+ }
+
+ /**
+ * 保存送货信息
+ * */
+ public void takeDelivery(List request) {
+ VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("收货参数为空");
+ List receipts = new ArrayList<>();
+ List receiptitems = new ArrayList<>();
+ List tasks = new ArrayList<>();
+ List srmLineVOListItems = new ArrayList<>();
+
+ request.forEach(item -> {
+ SAPSyncParamsDTO materialInfoInOrder = null;
+ try {
+ materialInfoInOrder = sapCommonService.getMaterialInfoInOrder(item.getPoNum(), item.getSupplierNum(), item.getItemCode());
+ } catch (Exception e) {
+ log.error("获取物料信息失败", e);
+ throw new RuntimeException(e);
+ }
+ VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("无法获取到有效订单信息" + item.getPoNum());
+ //数量验证(判断收货数量是否大于了未收数量)
+ VUtil.trueThrowBusinessError(item.getReceiptNum().add(item.getCrossNumber()).compareTo(materialInfoInOrder.getTransportNum()) > 0).throwMessage("无法获取到有效订单信息" + item.getPoNum());
+ //序列号和批次号验证
+ validateScanCodes(item, materialInfoInOrder);
+ boolean isQuality = materialInfoInOrder.getKzkri().equals("X") ? true : false;
+ // 生成相关单据
+ generyReceipt(item, isQuality, materialInfoInOrder, receipts, receiptitems, tasks, srmLineVOListItems);
});
+ //推送质检单
if (Objects.nonNull(srmLineVOListItems) && !srmLineVOListItems.isEmpty()) {
SrmMaterialReceiptQO receiptQO = request.get(0);
- SRMInspectionInputDTO pushDto = new SRMInspectionInputDTO();
- SRMInspectionContentDTO content = new SRMInspectionContentDTO();
- content.setLineVOList(srmLineVOListItems);
- content.setSupplierName(receiptQO.getSupplierName());
- content.setSupplierNum(receiptQO.getSupplierNum());
- content.setReceiveNum("ZJ-" + receiptQO.getNoteNum());
- content.setReceiveType("BY_DELIVERY");
- pushDto.setContent(content);
- pushDto.setCode("SCAN_RCV_RECEIVE_TO_SRM");
- pushInspectionMaterialsToSRM(pushDto);
- }
-
- if (Objects.nonNull(receipts) && !receipts.isEmpty()) {
- wmsSrmMaterialReceiptService.saveBatch(receipts);
- }
- if (Objects.nonNull(receipts) && !receipts.isEmpty()) {
- wmsSrmMaterialReceiptItemService.saveBatch(receiptitems);
- }
- if (Objects.nonNull(receipts) && !receipts.isEmpty()) {
- if (!taskService.generateTask(tasks, (short) 1))
- log.error("收货单生成上架任务失败");
+ pushInspectionMaterialsToSRM(receiptQO, srmLineVOListItems);
}
+ //生成wms的单据
+ wmsSrmMaterialReceiptService.generateReceiptInfo(receipts, receiptitems, tasks);
}
+
/**
* 将检验物料信息推送到SRM系统
*
diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsSrmMaterialReceiptService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsSrmMaterialReceiptService.java
index a9d3d17d..7ad19a54 100644
--- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsSrmMaterialReceiptService.java
+++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsSrmMaterialReceiptService.java
@@ -1,11 +1,15 @@
package com.nflg.wms.repository.service;
+import com.nflg.wms.repository.entity.WmsInTaskItem;
import com.nflg.wms.repository.entity.WmsSrmMaterialReceipt;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.nflg.wms.repository.entity.WmsSrmMaterialReceiptItem;
+
+import java.util.List;
/**
*
- * 服务类
+ * 服务类
*
*
* @author 代码生成器生成
@@ -13,4 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IWmsSrmMaterialReceiptService extends IService {
+ void generateReceiptInfo(List receipts,
+ List receiptitems,
+ List tasks);
}
diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsSrmMaterialReceiptServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsSrmMaterialReceiptServiceImpl.java
index b07eaede..b8914527 100644
--- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsSrmMaterialReceiptServiceImpl.java
+++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsSrmMaterialReceiptServiceImpl.java
@@ -1,14 +1,23 @@
package com.nflg.wms.repository.service.impl;
+import com.nflg.wms.repository.entity.WmsInTaskItem;
import com.nflg.wms.repository.entity.WmsSrmMaterialReceipt;
+import com.nflg.wms.repository.entity.WmsSrmMaterialReceiptItem;
import com.nflg.wms.repository.mapper.WmsSrmMaterialReceiptMapper;
-import com.nflg.wms.repository.service.IWmsSrmMaterialReceiptService;
+import com.nflg.wms.repository.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Objects;
+
+import static cn.dev33.satoken.SaManager.log;
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author 代码生成器生成
@@ -17,4 +26,27 @@ import org.springframework.stereotype.Service;
@Service
public class WmsSrmMaterialReceiptServiceImpl extends ServiceImpl implements IWmsSrmMaterialReceiptService {
+ @Resource
+ private IWmsSrmMaterialReceiptItemService wmsSrmMaterialReceiptItemService;
+
+ @Resource
+ private IWmsSrmMaterialReceiptService wmsSrmMaterialReceiptService;
+
+ @Resource
+ private IWmsInTaskService taskService;
+
+ @Override
+ @Transactional
+ public void generateReceiptInfo(List receipts, List receiptitems, List tasks) {
+ if (Objects.nonNull(receipts) && !receipts.isEmpty()) {
+ wmsSrmMaterialReceiptService.saveBatch(receipts);
+ }
+ if (Objects.nonNull(receipts) && !receipts.isEmpty()) {
+ wmsSrmMaterialReceiptItemService.saveBatch(receiptitems);
+ }
+ if (Objects.nonNull(receipts) && !receipts.isEmpty()) {
+ if (!taskService.generateTask(tasks, (short) 1))
+ log.error("收货单生成上架任务失败");
+ }
+ }
}