From 6c670f13caf5f244fff2e52bf80d5e19e91687e9 Mon Sep 17 00:00:00 2001
From: youjie <272855983@qq.com>
Date: Sat, 14 Jan 2023 17:30:46 +0800
Subject: [PATCH] 修改mes接口

---
 wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/controller/MesController.java    |  2 ++
 wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java   |  4 ++++
 wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/IMesService.java         |  5 +++++
 wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++--
 4 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/controller/MesController.java b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/controller/MesController.java
index 470384e..f68e666 100644
--- a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/controller/MesController.java
+++ b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/controller/MesController.java
@@ -94,4 +94,6 @@ public class MesController extends HuahengBaseController {
         Result result = mesService.shipmentMaterial(mesReceiptMaterial, warehouseCode);
         return result;
     }
+
+
 }
diff --git a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java
index 2d2068d..705cfae 100644
--- a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java
+++ b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesReceiptMaterial.java
@@ -5,11 +5,15 @@ import lombok.Data;
 import java.math.BigDecimal;
 import java.util.List;
 
+/**
+ * @author 游杰
+ */
 @Data
 public class MesReceiptMaterial {
 
     private String referCode;
     private String containerCode;
+    private String toPort;
     private List<MaterialInfo> materialInfoList;
 
 }
diff --git a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/IMesService.java b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/IMesService.java
index efe4888..da90436 100644
--- a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/IMesService.java
+++ b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/IMesService.java
@@ -2,6 +2,7 @@ package org.jeecg.modules.wms.api.mes.servuce;
 
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.wms.api.mes.entity.MesReceiptMaterial;
+import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
 
 /**
  * @author 游杰
@@ -11,4 +12,8 @@ public interface IMesService {
     public Result receiptMaterial(MesReceiptMaterial mesReceiptMaterial, String warehouseCode);
 
     public Result shipmentMaterial(MesReceiptMaterial mesMaterial, String warehouseCode);
+
+    public Result backMesReceipt(TaskHeader taskHeader);
+
+    public Result backMesShipment(TaskHeader taskHeader);
 }
diff --git a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
index 173adff..f22e57c 100644
--- a/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
+++ b/wms4/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
@@ -1,15 +1,19 @@
 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;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService;
 import org.jeecg.modules.wms.receipt.receiving.domain.Receive;
 import org.jeecg.modules.wms.receipt.receiving.service.IReceiveService;
+import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -29,6 +33,8 @@ public class MesServiceImpl implements IMesService {
     private IReceiptDetailService receiptDetailService;
     @Resource
     private IReceiveService receiveService;
+    @Resource
+    private IReceiptContainerHeaderService receiptContainerHeaderService;
 
     /**
      * 要求入库单详情 必须是不重样的
@@ -39,15 +45,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,16 +70,39 @@ 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
     public Result shipmentMaterial(MesReceiptMaterial mesMaterial, String warehouseCode)  {
+        return null;
+    }
 
+    @Override
+    public Result backMesReceipt(TaskHeader taskHeader) {
+        return null;
+    }
+
+    @Override
+    public Result backMesShipment(TaskHeader taskHeader) {
         return null;
     }
 }
--
libgit2 0.22.2