From 2f1b55f10742f94c3362dc3f61333251b713ee61 Mon Sep 17 00:00:00 2001
From: Administrator <335182714>
Date: 星期二, 15 七月 2025 14:46:40 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   53 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 8 deletions(-)

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 af0164b..0dd0373 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -35,6 +35,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -1147,6 +1148,13 @@
             basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3).eq("in_enable","Y")
                     .eq("out_enable","Y"));
         }
+        WrkMast exist = wrkMastService.selectOne(
+                new EntityWrapper<WrkMast>()
+                        .eq("barcode", param.getBarcode())
+                        .eq("io_type", 3));
+        if (exist != null) {
+            return R.error("浠诲姟宸插瓨鍦紝涓嶅彲閲嶅鎻愪氦");
+        }
         if (basCrnps.isEmpty()) {
             throw new CoolException("娌℃湁鍙敤鍫嗗灈鏈�,鍫嗗灈鏈哄仠姝㈡垨寮傚父鎴栫鐢�");
         }
@@ -1490,8 +1498,14 @@
             wrkMastService.updateById(wrkMast);
         }
 
-        // 鍑哄簱涓婃姤鎺ㄩ�乵es璁板綍
-        ckjgsbPushMes(wrkMast,wrkDetls);
+        if(!wrkDetls.get(0).getMatnr().equals("绌虹")){
+            // 鍑哄簱涓婃姤鎺ㄩ�乵es璁板綍
+            ckjgsbPushMes(wrkMast,wrkDetls);
+        }else{
+            wrkMast.setWrkSts(14L);
+            wrkMastService.updateById(wrkMast);
+        }
+
 
         return "鍑哄簱缁撴灉涓婃姤鎴愬姛";
     }
@@ -2005,6 +2019,15 @@
                 materialDetail.setRollNo(wrkDetl.getModel());
                 materialDetail.setBoxNo(wrkDetl.getUnit());
                 materialDetail.setSpecs(wrkDetl.getMatnr());
+                materialDetail.setBoxType(wrkDetl.getColor());
+                materialDetail.setCoreType(wrkDetl.getManu());
+                materialDetail.setWidth(wrkDetl.getSku());
+                materialDetail.setThickness(wrkDetl.getItemNum());
+                materialDetail.setWeight(wrkDetl.getWeight());
+                materialDetail.setLength(wrkDetl.getLength());
+                materialDetail.setVolume(wrkDetl.getVolume());
+                materialDetail.setCustomerName(wrkDetl.getSupp());
+                materialDetail.setMemo(wrkDetl.getMemo());
                 material.setBoxPos(wrkDetl.getOrigin()); // 鎵樼洏涓婃湪绠变綅缃�
                 materialDetailList.add(materialDetail);
             }
@@ -2014,14 +2037,15 @@
                 Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()));
                 if (order != null) {
                     material.setOrderNo(order.getOrderNo());
-                    material.setMemo(order.getMemo());
-                    material.setCustomerName(order.getCstmrName());
+//                    material.setMemo(order.getMemo());
+//                    material.setCustomerName(order.getCstmrName());
                     List<OrderStatisticsDto> unfulfilledOrders = orderMapper.getUnfulfilledOrders(order.getOrderNo());
                     if (unfulfilledOrders.size() == 1) {
                         OrderStatisticsDto orderStatisticsDto = unfulfilledOrders.get(0);
                         material.setSum(orderStatisticsDto.getSum());
                         material.setToShipQuantity(orderStatisticsDto.getToShipQuantity());
                         material.setWorkQuantity(orderStatisticsDto.getWorkQuantity());
+                        material.setCompleteQuantity(orderStatisticsDto.getCompletedQuantity());
                     }
                 }
             }
@@ -2087,7 +2111,7 @@
 
     public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo, String barcode, String message) {
         int maxRetry = 3;       // 鏈�澶氶噸璇� 3 娆�
-        long retryDelay = 3000; // 閲嶈瘯闂撮殧 3 绉�
+        long retryDelay = 10000; // 閲嶈瘯闂撮殧 10 绉�
         boolean finalSuccess = false;
 
         Map<String, Object> headers = getHeaders();
@@ -2109,13 +2133,25 @@
                         .setPath(MesConstant.GWCS_FPKW_URL)
                         .setHeaders(headers)
                         .setJson(body)
+                        .setTimeout(30, TimeUnit.SECONDS) // 璁剧疆杩炴帴 + 璇诲彇瓒呮椂涓�30绉�
                         .build()
                         .doPost();
 
+
                 if (!Cools.isEmpty(response)) {
-                    success = true;
-                    finalSuccess = true;
-                    log.info("{} 鎴愬姛锛屽搷搴旓細{}", attemptMsg, response);
+                    try {
+                        JSONObject resJson = JSON.parseObject(response);
+                        int code = resJson.getIntValue("code"); // 瑙嗗叿浣撴帴鍙h�屽畾
+                        if (code == 200) {
+                            success = true;
+                            finalSuccess = true;
+                            log.info("{} 鎴愬姛锛屽搷搴旓細{}", attemptMsg, response);
+                        } else {
+                            log.warn("{} 鍝嶅簲澶辫触锛岃繑鍥瀋ode={}锛屽畬鏁村搷搴旓細{}", attemptMsg, code, response);
+                        }
+                    } catch (Exception parseEx) {
+                        log.warn("{} 鍝嶅簲瑙f瀽澶辫触锛屽唴瀹癸細{}", attemptMsg, response);
+                    }
                 } else {
                     log.warn("{} 澶辫触锛屽搷搴斾负绌�", attemptMsg);
                 }
@@ -2155,6 +2191,7 @@
     }
 
 
+
     Map<String, Object> getHeaders(){
         Map<String,Object> headers = new HashMap<>();
         headers.put("digi-type","sync ");

--
Gitblit v1.9.1