From 4d300a00081d7b5916c41162075bdd79851a8fcc Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期三, 24 七月 2024 15:05:19 +0800
Subject: [PATCH] 新增MES采购入库上报功能

---
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java      |   47 +++++++++++++++++++----
 src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java |   51 +++++++++++++++++++++++++
 src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java   |    3 +
 src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java    |    3 +
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java        |    4 +
 src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java    |    3 +
 6 files changed, 102 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java b/src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java
new file mode 100644
index 0000000..4f90311
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java
@@ -0,0 +1,51 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 閲囪喘鍏ュ簱涓婃姤鍙傛暟
+ */
+@Data
+public class MesBuyPakinReportParam {
+    //閲囪喘璁㈠崟缂栫爜
+    private String code;
+    private List<Iteam> iteam;
+
+    @Data
+    public static class Iteam{
+        //鐗╂枡缂栧彿
+        private String materialCode;
+        //鎵规鍙�
+        private String batchNo;
+        //饧嗙淮鐮�
+        private String qrCode;
+        //閲囪喘璁㈠崟饩忓彿
+        private String lineNo;
+        //饧婂簱鏁伴噺
+        private Double amount;
+        //澶囨敞
+        private String remark;
+        //渚涘簲鍟嗙紪鍙�
+        private String supplierCode;
+        //饧婂簱浣嶇疆
+        private String storageLocationCode;
+
+        public Iteam(String materialCode, String batchNo, String qrCode, String lineNo, Double amount, String remark, String supplierCode, String storageLocationCode) {
+            this.materialCode = materialCode;
+            this.batchNo = batchNo;
+            this.qrCode = qrCode;
+            this.lineNo = lineNo;
+            this.amount = amount;
+            this.remark = remark;
+            this.supplierCode = supplierCode;
+            this.storageLocationCode = storageLocationCode;
+        }
+
+        public Iteam(){
+
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java b/src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java
index 4642453..24a35ab 100644
--- a/src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java
@@ -4,6 +4,9 @@
 
 import java.util.List;
 
+/**
+ * MES璋冩嫧鍙傛暟
+ */
 @Data
 public class MesOrderReportParam {
     //缂栫爜
diff --git a/src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java b/src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java
index f85e7b7..462d4b8 100644
--- a/src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java
@@ -2,6 +2,9 @@
 
 import lombok.Data;
 
+/**
+ * MES鍏ュ簱涓婃姤鍙傛暟
+ */
 @Data
 public class MesPakinReportParam {
     private String bizType;
diff --git a/src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java b/src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java
index cd63e2d..ec501ad 100644
--- a/src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java
@@ -4,6 +4,9 @@
 
 import java.util.List;
 
+/**
+ * MES鍑哄簱涓婃姤鍙傛暟
+ */
 @Data
 public class MesPakoutReportParam {
     //鐗╂枡缂栫爜
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index f555a82..a80a11a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -15,7 +15,6 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.common.model.DetlDto;
-import com.zy.common.model.LocDetlDto;
 import com.zy.common.utils.NodeUtils;
 import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
@@ -980,6 +979,9 @@
         //鍗曟嵁鏃ユ湡
         order.setOrderTime(param.getDdate());
 
+        //渚涘簲鍟嗙紪鐮�
+        order.setSalesman(param.getCVenCode());
+
         order.setMemo(param.getCMemo());
         //鍒跺崟浜�
         order.setShipCode(param.getCPersonCode());
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 1ee8a64..28ca056 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -4,10 +4,10 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.beust.jcommander.internal.Lists;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.MesBuyPakinReportParam;
 import com.zy.asrs.entity.param.MesOrderReportParam;
 import com.zy.asrs.entity.param.MesPakinReportParam;
 import com.zy.asrs.entity.param.MesPakoutReportParam;
@@ -15,7 +15,6 @@
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.common.utils.HttpHandler;
-import io.swagger.models.auth.In;
 import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -93,6 +92,10 @@
     private AgvWorkService agvWorkService;
     @Autowired
     private ApiLogService apiLogService;
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private OrderDetlService orderDetlService;
 
     @Transactional
     public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) {
@@ -622,13 +625,41 @@
     private void reportMesPakinOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){
 
         for (AgvWrkDetl agvWrkDetl : agvWrkDetls){
-            MesPakinReportParam mesPakinReportParam = new MesPakinReportParam();
-            mesPakinReportParam.setInboundOrderCode(agvWrkDetl.getOrderNo());
-            mesPakinReportParam.setBizType("0");
-            mesPakinReportParam.setInventoryAttr(new MesPakinReportParam.InventoryAttr(agvWrkDetl.getThreeCode().trim(),agvWrkDetl.getMatnr(),agvWrkMast.getLocNo()));
-            mesPakinReportParam.setNoQrCodeExecAmount(new MesPakinReportParam.NoQrCodeExecAmount(agvWrkDetl.getAnfme(),agvWrkDetl.getUnit(),null));
+            //鍒ゆ柇鏄惁閲囪喘鍏ュ簱
 
-            doHttpRequest(mesPakinReportParam,getMesTokenInfo(),"涓婃姤mes鍏ュ簱淇℃伅",url,pakinReportPath,null,"127.0.0.1");
+            String orderNo = agvWrkDetl.getOrderNo();
+            Order order = orderService.selectByNo(orderNo);
+
+            DocType docType = docTypeService.selectById(order.getDocType());
+
+            if (docType.getDocName().contains("閲囪喘")){
+
+                OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(orderNo, agvWrkDetl.getMatnr(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
+
+                MesBuyPakinReportParam mesBuyPakinReportParam = new MesBuyPakinReportParam();
+                List<MesBuyPakinReportParam.Iteam> iteams = new ArrayList<>();
+                MesBuyPakinReportParam.Iteam iteam = new MesBuyPakinReportParam.Iteam();
+                iteam.setMaterialCode(agvWrkDetl.getMatnr());
+                iteam.setBatchNo(agvWrkDetl.getBatch());
+                iteam.setAmount(agvWrkDetl.getAnfme());
+                iteam.setStorageLocationCode(agvWrkMast.getLocNo());
+                iteam.setLineNo(orderDetl.getItemNum());
+                iteam.setSupplierCode(order.getSalesman());
+
+                mesBuyPakinReportParam.setCode(orderNo);
+                mesBuyPakinReportParam.setIteam(iteams);
+
+                doHttpRequest(mesBuyPakinReportParam,getMesTokenInfo(),"涓婃姤mes閲囪喘鍏ュ簱淇℃伅",url,pakinReportPath,null,"127.0.0.1");
+
+            }else {
+                MesPakinReportParam mesPakinReportParam = new MesPakinReportParam();
+                mesPakinReportParam.setInboundOrderCode(agvWrkDetl.getOrderNo());
+                mesPakinReportParam.setBizType("0");
+                mesPakinReportParam.setInventoryAttr(new MesPakinReportParam.InventoryAttr(agvWrkDetl.getThreeCode().trim(),agvWrkDetl.getMatnr(),agvWrkMast.getLocNo()));
+                mesPakinReportParam.setNoQrCodeExecAmount(new MesPakinReportParam.NoQrCodeExecAmount(agvWrkDetl.getAnfme(),agvWrkDetl.getUnit(),null));
+
+                doHttpRequest(mesPakinReportParam,getMesTokenInfo(),"涓婃姤mes鍏ュ簱淇℃伅",url,pakinReportPath,null,"127.0.0.1");
+            }
         }
 
     }

--
Gitblit v1.9.1