From d953e40c7badd8be505d133ae1bb410e4024229f Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期四, 09 四月 2026 11:05:16 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java |   87 ++++++++++++++++++++++++++-----------------
 1 files changed, 53 insertions(+), 34 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
index 9cdf5dc..3565412 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -336,7 +336,7 @@
                                 if (mat.getUpdateTime().compareTo(modifyTime) != 0) {
                                     // 鏇存柊瀛楁
                                     if (!mat.getMaktx().equals(name)) mat.setMaktx(name);
-                                    if (!mat.getMemo().equals(memo)) mat.setMemo(memo);
+                                    if (mat.getMemo() == null || !mat.getMemo().equals(memo)) mat.setMemo(memo);
                                     if (mat.getWeight().compareTo(grossweight) != 0) mat.setWeight(grossweight);
                                     if (mat.getUnits().compareTo(netweight) != 0) mat.setUnits(netweight);
                                     if (mat.getSafeQty().compareTo(unit) != 0) mat.setSafeQty(unit);
@@ -489,14 +489,14 @@
                                     JSONObject jsonObjectNew2 = rows.getJSONObject(i);
                                     Order order = orderService.selectByNo(billNo);//妫�绱㈠崟鎹�
                                     LocOwner locOwner = null;
-                                    if (ownerUuid != null) {
-                                        locOwner = locOwnerService.selectByUuid(ownerUuid);
-                                        if (locOwner == null) {
-                                            callApiLogSaveOwner(locOwner,kingDeeUtilType, "璐т富妫�绱㈠け璐ワ紝璇峰厛娣诲姞瀵瑰簲璐т富缂栧彿锛�"+ownerUuid+"鍚嶇О"+owner, false);continue;
-                                        }
-                                    } else{
-                                        callApiLogSaveOwner(locOwner,kingDeeUtilType, "璐т富妫�绱㈠け璐ワ紝鏈煡璇㈠埌璐т富缂栧彿锛�", false);continue;
-                                    }
+//                                    if (ownerUuid != null) {
+//                                        locOwner = locOwnerService.selectByUuid(ownerUuid);
+//                                        if (locOwner == null) {
+//                                            callApiLogSaveOwner(locOwner,kingDeeUtilType, "璐т富妫�绱㈠け璐ワ紝璇峰厛娣诲姞瀵瑰簲璐т富缂栧彿锛�"+ownerUuid+"鍚嶇О"+owner, false);continue;
+//                                        }
+//                                    } else{
+//                                        callApiLogSaveOwner(locOwner,kingDeeUtilType, "璐т富妫�绱㈠け璐ワ紝鏈煡璇㈠埌璐т富缂栧彿锛�", false);continue;
+//                                    }
                                     if (Cools.isEmpty(order)) {
                                         // 鍗曟嵁涓绘。
                                         order = new Order(
@@ -577,17 +577,14 @@
                                         }
                                         Double erpAnfme = anfme*mat.getSafeQty();
                                         Order order1 = orderService.selectByNo( billNo);
-                                        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order1.getId());
-                                        boolean sign = false;
-                                        for (OrderDetl orderDetl : orderDetls){
-                                            if (orderDetl.getMatnr().equals(matnr)){
-                                                sign = true;
-                                                break;
-                                            }
-                                        }
-                                        if (sign){
-                                            continue;
-                                        }
+                                        List<OrderDetl> orderDetls =
+                                                orderDetlService.selectByOrderId(order.getId());
+                                        boolean exists = orderDetls.stream()
+                                                .anyMatch(o ->
+                                                        o.getMatnr().equals(matnr) &&
+                                                                o.getBoxType3().equals(pOrderNo)
+                                                );
+                                        if (exists) continue;
                                         LocSupp locSupp = null;
                                         String supp =null;
                                         locSupp = locSuppService.selectByUuid(suppCode);
@@ -767,7 +764,10 @@
                                         orderDetlService.selectByOrderId(order.getId());
 
                                 boolean exists = orderDetls.stream()
-                                        .anyMatch(o -> o.getMatnr().equals(matnr));
+                                        .anyMatch(o ->
+                                                o.getMatnr().equals(matnr) &&
+                                                        o.getBoxType3().equals(pOrderNo)
+                                        );
                                 if (exists) continue;
 //                                // ========= 渚涘簲鍟� =========
                                 String supp = null;
@@ -939,7 +939,10 @@
                                         orderDetlService.selectByOrderId(order.getId());
 
                                 boolean exists = orderDetls.stream()
-                                        .anyMatch(o -> o.getMatnr().equals(matnr));
+                                        .anyMatch(o ->
+                                                o.getMatnr().equals(matnr) &&
+                                                        o.getBoxType3().equals(pOrderNo)
+                                        );
                                 if (exists) continue;
 //                                // ========= 渚涘簲鍟� =========
                                 String supp = null;
@@ -1104,7 +1107,10 @@
                                         orderDetlService.selectByOrderId(order.getId());
 
                                 boolean exists = orderDetls.stream()
-                                        .anyMatch(o -> o.getMatnr().equals(matnr));
+                                        .anyMatch(o ->
+                                                o.getMatnr().equals(matnr) &&
+                                                        o.getBoxType3().equals(pOrderNo)
+                                        );
                                 if (exists) continue;
 //                                // ========= 渚涘簲鍟� =========
                                 String supp = null;
@@ -1271,7 +1277,10 @@
 
 
                                 boolean exists = orderDetls.stream()
-                                        .anyMatch(o -> o.getMatnr().equals(matnr));
+                                        .anyMatch(o ->
+                                                o.getMatnr().equals(matnr) &&
+                                                        o.getBoxType3().equals(pOrderNo)
+                                        );
                                 if (exists) continue;
 //                                // ========= 渚涘簲鍟� =========
                                 String supp = null;
@@ -1444,7 +1453,10 @@
                                         orderDetlService.selectByOrderId(order.getId());
 
                                 boolean exists = orderDetls.stream()
-                                        .anyMatch(o -> o.getMatnr().equals(matnr));
+                                        .anyMatch(o ->
+                                                o.getMatnr().equals(matnr) &&
+                                                        o.getBoxType3().equals(pOrderNo)
+                                        );
                                 if (exists) continue;
 //                                // ========= 渚涘簲鍟� =========
                                 String supp = null;
@@ -1580,17 +1592,22 @@
                             }
                             for (int k = 0; k < billEntryArray.size(); k++) {
                                 JSONObject entry = billEntryArray.getJSONObject(k);
+                                String memo = null;
                                 String matnr = entry.getString("material_number"); //鐗╂枡缂栫爜锛屽唴閮⊿KU
-                                Double anfmeBox = 0.0;//绠辨暟
+                                Double anfmeBox = entry.getDouble("eap7_integerfield");//绠辨暟
                                 Double anfme = entry.getDouble("completqty");//涓暟
                                 Double totalNumItems = entry.getDouble("eap7_decimalfield1");//鎬讳欢鏁�
                                 Double totalVolume = entry.getDouble("eap7_decimalfield2");//鎬讳綋绉�
                                 String warehouse = entry.getString("warehouse_number");//浠撳簱缂栫爜
+                                if(kingDeeUtilType.formId.equals("OUI_RECEIVEBIll")){
+                                    memo = entry.getString("eap7_textfield3"); //澶囨敞锛堣嫳鏂囨弿杩帮級
+                                }else{
+                                    memo = entry.getString("eap7_textfield5");
+                                }
                                 String pOrderNo = entry.getString("eap7_textfield");//閲囪喘鍗曞彿
-                                String s3 = entry.getString("eap7_textfield4");//瀹㈡埛sku锛堝鎴风紪鍙凤級
+                                String s3 = entry.getString("eap7_textfield2");//瀹㈡埛sku锛堝鎴风紪鍙凤級
                                 String s2 = entry.getString("eap7_textfield1"); //鏉$爜UPC
-                                String memo = entry.getString("eap7_textfield6"); //澶囨敞锛堣嫳鏂囨弿杩帮級
-                                String s1 = entry.getString("eap7_textfield7"); //瀹㈡埛PO
+                                String s1 = entry.getString("eap7_textfield4"); //瀹㈡埛PO
                                 String detlId = entry.getString("id"); //鏄庣粏id
                                 Long seq = entry.getLong("seq"); //鍒嗗綍琛屽彿
                                 Double taxrate = entry.getDouble("taxrate");
@@ -1623,9 +1640,11 @@
                                 // ========= 鏄庣粏鍘婚噸 =========
                                 List<OrderDetl> orderDetls =
                                         orderDetlService.selectByOrderId(order.getId());
-
                                 boolean exists = orderDetls.stream()
-                                        .anyMatch(o -> o.getMatnr().equals(matnr));
+                                        .anyMatch(o ->
+                                                o.getMatnr().equals(matnr) &&
+                                                        o.getBoxType3().equals(pOrderNo)
+                                        );
                                 if (exists) continue;
 //                                // ========= 渚涘簲鍟� =========
                                 String supp = null;
@@ -1649,9 +1668,9 @@
                                 orderDetl.setSupp(supp);
                                 orderDetl.setSuppCode(suppCode);
                                 orderDetl.setSku(matnr);
-                                orderDetl.setStandby1(s1 != null? s1:"1");
-                                orderDetl.setStandby2(s2 != null? s2:"1");
-                                orderDetl.setStandby3(s3 != null? s3:"1");
+                                orderDetl.setStandby1(Cools.isEmpty(s1) ? "1" : s1);
+                                orderDetl.setStandby2(Cools.isEmpty(s2) ? "1" : s2);
+                                orderDetl.setStandby3(Cools.isEmpty(s3) ? "1" : s3);
                                 orderDetl.setBoxType1(owner);
                                 orderDetl.setBoxType2(ownerUuid);
                                 orderDetl.setBoxType3(pOrderNo);

--
Gitblit v1.9.1