From 1b50b52153c598b05b57b5bca0f5b4ca957336c0 Mon Sep 17 00:00:00 2001
From: youjie <272855983@qq.com>
Date: Sat, 14 Jan 2023 08:37:05 +0800
Subject: [PATCH] MES生成入库任务

---
 jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java                  |  1 +
 jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java                | 27 +++++++++++++++++++++++++--
 jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java      |  2 +-
 jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java |  3 ++-
 4 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java
index 2d2068d..6046384 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java
@@ -10,6 +10,7 @@ public class MesReceiptMaterial {
 
     private String referCode;
     private String containerCode;
+    private String toPort;
     private List<MaterialInfo> materialInfoList;
 
 }
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
index 173adff..5cda275 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
@@ -1,9 +1,12 @@
 package org.jeecg.modules.wms.api.mes.servuce.impl;
 
+import com.aliyun.oss.ServiceException;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.wms.api.mes.entity.MaterialInfo;
 import org.jeecg.modules.wms.api.mes.entity.MesReceiptMaterial;
 import org.jeecg.modules.wms.api.mes.servuce.IMesService;
+import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContainerHeader;
+import org.jeecg.modules.wms.receipt.receiptContainerHeader.service.IReceiptContainerHeaderService;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService;
@@ -28,6 +31,8 @@ public class MesServiceImpl implements IMesService {
     @Resource
     private IReceiptDetailService receiptDetailService;
     @Resource
+    private IReceiptContainerHeaderService receiptContainerHeaderService;
+    @Resource
     private IReceiveService receiveService;
 
     /**
@@ -39,15 +44,19 @@ public class MesServiceImpl implements IMesService {
         List<Receive> receiveList = new ArrayList<>();
         String referCode = mesReceiptMaterial.getReferCode();
         String containerCode = mesReceiptMaterial.getContainerCode();
+        String toPort = mesReceiptMaterial.getToPort();
         List<MaterialInfo> materialInfoList = mesReceiptMaterial.getMaterialInfoList();
         ReceiptHeader receiptHeader = receiptHeaderService.getReceiptHeaderByReferCode(referCode, warehouseCode);
         List<ReceiptDetail> receiptDetailList = receiptDetailService.selectByMainId(String.valueOf(receiptHeader.getId()));
         for (ReceiptDetail receiptDetail : receiptDetailList) {
             String materialCode = receiptDetail.getMaterialCode();
+            BigDecimal taskQty = BigDecimal.ZERO;
             boolean hav = false;
             for (MaterialInfo materialInfo : materialInfoList) {
                 if(materialInfo.getMaterialCode().equals(materialCode)) {
                     hav = true;
+                    taskQty = materialInfo.getQty();
+                    break;
                 }
             }
             if(hav) {
@@ -60,11 +69,25 @@ public class MesServiceImpl implements IMesService {
                 receive.setMaterialUnit(receiptDetail.getMaterialUnit());
                 receive.setInventoryStatus(receiptDetail.getInventoryStatus());
                 receive.setQty(receiptDetail.getQty());
-                receive.setTaskQty(BigDecimal.ZERO);
+                receive.setTaskQty(taskQty);
                 receiveList.add(receive);
             }
         }
-        return receiveService.receiving(receiveList, warehouseCode);
+        Result result = receiveService.receiving(receiveList, warehouseCode);
+        if(!result.isSuccess()) {
+            throw new ServiceException(result.getMessage());
+        }
+        ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.
+                getUnCompleteReceiptContainerByCode(containerCode, warehouseCode);
+        if(receiptContainerHeader == null) {
+            throw new ServiceException(result.getMessage());
+        }
+        receiptContainerHeader.setToPort(toPort);
+        boolean success = receiptContainerHeaderService.updateById(receiptContainerHeader);
+        if(!success) {
+            throw new ServiceException("更新入库组盘头失败");
+        }
+        return receiptContainerHeaderService.createReceiptTask(receiptContainerHeader, warehouseCode);
     }
 
     @Override
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java
index a659298..71a6926 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/api/wcs/service/LocationAllocationServiceImpl.java
@@ -108,7 +108,7 @@ public class LocationAllocationServiceImpl implements LocationAllocationService 
             roadWays = locationList.stream().map(Location::getRoadWay).distinct().collect(toList());
         }
         String value = parameterConfigurationService.getValueByCode(QuantityConstant.DOUBLE_FORK_RESERVE_LOCATION);
-        int reserveNumber = 10;
+        int reserveNumber = 4;
         if(StringUtils.isNotEmpty(value)) {
             reserveNumber = Integer.parseInt(value);
         }
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java
index e07ae1b..eb62f92 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java
@@ -86,7 +86,8 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container
     }
 
     @Override
-    public boolean updateLocationCodeAndStatus(String containerCode, String locationCode, String status, String warehouseCode) {
+    public boolean updateLocationCodeAndStatus(String containerCode, String locationCode,
+                                   String status, String warehouseCode) {
         Container container = getContainerByCode(containerCode, warehouseCode);
         if(container == null) {
             return false;
--
libgit2 0.22.2