From 30af3d39b7e8d9fbba779049b79cf22d3859f1f6 Mon Sep 17 00:00:00 2001
From: yiwenpeng <ywp303@163.com>
Date: Mon, 23 May 2022 22:06:29 +0800
Subject: [PATCH] 修改生产领料单回传erp接口

---
 src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java | 39 +++++++++++++++++++++++++++------------
 src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java            |  2 +-
 2 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java b/src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java
index 04438ee..52c1811 100644
--- a/src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java
+++ b/src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java
@@ -137,28 +137,43 @@ public class TaskReturnServiceImpl implements TaskReturnService {
         if (fbillno == null) {
             throw new ServiceException("上游单据为空");
         }
-        Object[] fentities = null;
-        Object[] erweima = null;
+        Object[] fentitys = null;
+        Object[] batteryPackTwoCodes=null;
+        List<String> batteryPackList=new ArrayList<>();
+
         if (method.equals("PRD_PickMtrl")) {//生产领料单(原料出库)
             ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getReferId, fid));
-            //出库组盘明细
-            List<ShipmentContainerDetail> shipmentContainerDetailList=shipmentContainerDetailService.list(new LambdaQueryWrapper<ShipmentContainerDetail>().eq(ShipmentContainerDetail::getShipmentId,shipmentHeader.getId()));
             //出库明细
             List<ShipmentDetail> shipmentDetails = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getShipmentId, shipmentHeader.getId()));
-            //电池包号
-            List<String> toMesInfoList = shipmentContainerDetailList.stream().map(ShipmentContainerDetail::getBatteryPackTwoCode).collect(Collectors.toList());
-            //体制码
-            List<String> fentityList = shipmentDetails.stream().map(ShipmentDetail::getFentity).collect(Collectors.toList());
-            erweima = toMesInfoList.toArray();
-            fentities = fentityList.toArray();
+
+            for (int i = 0; i < shipmentDetails.size(); i++) {
+                //每一条明细下多个组盘明细
+                List<ShipmentContainerDetail> shipmentContainerDetailList1=shipmentContainerDetailService.list(new LambdaQueryWrapper<ShipmentContainerDetail>().eq(ShipmentContainerDetail::getShipmentDetailId,shipmentDetails.get(i).getId()));
+                //电池包号
+                List<String> codes = shipmentContainerDetailList1.stream().map(ShipmentContainerDetail::getBatteryPackTwoCode).collect(Collectors.toList());
+                String batteryPackTwoCode="";
+                for (String code : codes) {
+                    if (StringUtils.isEmpty(batteryPackTwoCode)){
+                        batteryPackTwoCode=code;
+                    }else {
+                        batteryPackTwoCode=batteryPackTwoCode+","+code;
+                    }
+                }
+                batteryPackList.add(batteryPackTwoCode);
+                //体制码
+                List<String> fentitys1 = shipmentDetails.stream().map(ShipmentDetail::getFentity).collect(Collectors.toList());
+                fentitys=fentitys1.toArray();
+            }
+
         }
         //2、转换实体
         ErpInfo erpInfo = new ErpInfo();
         erpInfo.setFid(fid);
         erpInfo.setFbillno(fbillno);
         if (method.equals("PRD_PickMtrl")) {//生产领料单(原料出库)
-            erpInfo.setF_JY_WMSMSG(erweima);
-            erpInfo.setFentity(fentities);
+            Object[] wms =  batteryPackList.toArray();
+            erpInfo.setF_JY_WMSMSG(wms);
+            erpInfo.setFentity(fentitys);
         }
 //        erpInfo.setQty(totalSum);
         SaveParam<ErpInfo> param = new SaveParam<>();
diff --git a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
index 16df099..cdc5b1e 100644
--- a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
+++ b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
@@ -285,7 +285,7 @@ public class RyTask extends BaseController {
     public void proReceiptReturn(String params){
         BarCodeHeader barCodeHeader = barCodeHeaderService.getOne(new LambdaQueryWrapper<BarCodeHeader>()
                 .lt(BarCodeHeader::getPushErrorCount, 3)
-                .eq(BarCodeHeader::getLocked, 2));
+                .in(BarCodeHeader::getLocked, 2,4));
         List<Fentity> fentities = new ArrayList<>();
         List<BarCodeDetail> barCodeDetailList = barCodeDetailService.list(new LambdaQueryWrapper<BarCodeDetail>().eq(BarCodeDetail::getReceiptId, barCodeHeader.getId()));
         //物料编号、数量、订单号、入库类型
--
libgit2 0.22.2