自动化立体仓库 - WMS系统
#
1
2 天以前 85f8eed3fa9f52a68dff30ea8bdee00fbc1d5938
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -558,6 +558,7 @@
                                            callApiLogSaveOrder(order,kingDeeUtilType, "编号商品检索失败,请先添加商品"+matnr, false);
                                            continue;
                                        }
                                        Double erpAnfme = anfme*mat.getSafeQty();
                                        Order order1 = orderService.selectByNo( billNo);
                                        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order1.getId());
                                        boolean sign = false;
@@ -579,7 +580,7 @@
                                        orderDetl.setThreeCode(detlId);//ERP明细id
                                        orderDetl.setLineNumber(seq);//分录行号
                                        orderDetl.setAnfme(anfme);//总箱数
                                        orderDetl.setErpAnfme(anfme);//erp数据
                                        orderDetl.setErpAnfme(erpAnfme);//erp数据
                                        orderDetl.setOrderId(order.getId());
                                        orderDetl.setOrderNo(order.getOrderNo());//表头单据
                                        orderDetl.setSupp(supp);//供应商名称(货源)
@@ -735,6 +736,7 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                Double erpAnfme = anfme*mat.getSafeQty();
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -754,7 +756,7 @@
                                orderDetl.setThreeCode(detlId);
                                orderDetl.setLineNumber(seq);
                                orderDetl.setAnfme(anfme);
                                orderDetl.setErpAnfme(anfme);
                                orderDetl.setErpAnfme(erpAnfme);
                                orderDetl.setOrderId(order.getId());
                                orderDetl.setOrderNo(order.getOrderNo());
                                orderDetl.setSupp(supp);
@@ -876,9 +878,7 @@
                            for (int k = 0; k < billEntryArray.size(); k++) {
                                JSONObject entry = billEntryArray.getJSONObject(k);
                                String matnr = entry.getString("material_number"); //物料编码,内部SKU
//                                Double anfme = entry.getDouble("eap7_decimalfield");//箱数
                                Double anfme = 1.0;//箱数
                                Double anfme = entry.getDouble("eap7_decimalfield");//箱数
                                Double totalNumItems = entry.getDouble("eap7_decimalfield1");//总件数
                                Double totalVolume = entry.getDouble("eap7_decimalfield2");//总体积
                                String warehouse = entry.getString("warehouse_number");//仓库编码
@@ -903,6 +903,7 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                Double erpAnfme = anfme*mat.getSafeQty();
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -922,7 +923,7 @@
                                orderDetl.setThreeCode(detlId);
                                orderDetl.setLineNumber(seq);
                                orderDetl.setAnfme(anfme);
                                orderDetl.setErpAnfme(anfme);
                                orderDetl.setErpAnfme(erpAnfme);
                                orderDetl.setOrderId(order.getId());
                                orderDetl.setOrderNo(order.getOrderNo());
                                orderDetl.setSupp(supp);
@@ -1198,7 +1199,8 @@
                            for (int k = 0; k < billEntryArray.size(); k++) {
                                JSONObject entry = billEntryArray.getJSONObject(k);
                                String matnr = entry.getString("material_number"); //物料编码,内部SKU
                                Double anfme = entry.getDouble("qty");//箱数
                                Double anfme = entry.getDouble("qty");//个数
                                Double anfmeBox = 0.0;//箱数
                                Double totalNumItems = entry.getDouble("eap7_decimalfield1");//总件数
                                Double totalVolume = entry.getDouble("eap7_decimalfield2");//总体积
                                String warehouse = entry.getString("warehouse_number");//仓库编码
@@ -1210,6 +1212,10 @@
                                String detlId = entry.getString("id"); //明细id
                                Long seq = entry.getLong("seq"); //分录行号
//                                String suppCode = entry.getString("supplier_number");
                                if(anfme == 0){
                                    callApiLogSaveOrder(order,kingDeeUtilType, "单据数量异常"+matnr, false);
                                    continue;
                                }
                                String suppCode = null;
                                if (anfme == null || anfme == 0) {
                                    callApiLogSaveOrder(order, kingDeeUtilType,
@@ -1223,9 +1229,11 @@
                                            "物料档案不存在:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
                                boolean exists = orderDetls.stream()
                                        .anyMatch(o -> o.getMatnr().equals(matnr));
@@ -1241,7 +1249,7 @@
                                orderDetl.sync(mat);
                                orderDetl.setThreeCode(detlId);
                                orderDetl.setLineNumber(seq);
                                orderDetl.setAnfme(anfme);
                                orderDetl.setAnfme(anfmeBox);
                                orderDetl.setErpAnfme(anfme);
                                orderDetl.setOrderId(order.getId());
                                orderDetl.setOrderNo(order.getOrderNo());
@@ -1266,6 +1274,7 @@
                                orderDetl.setQty(0.0D);
                                orderDetlService.insert(orderDetl);
                            }
                        }
@@ -1364,9 +1373,8 @@
                            for (int k = 0; k < billEntryArray.size(); k++) {
                                JSONObject entry = billEntryArray.getJSONObject(k);
                                String matnr = entry.getString("material_number"); //物料编码,内部SKU
//                                Double anfme = entry.getDouble("eap7_decimalfield");//箱数
                                Double anfme = 1.0;//箱数
                                Double anfme = entry.getDouble("qty");//个数
                                Double anfmeBox = 0.0;
                                Double totalNumItems = entry.getDouble("eap7_decimalfield1");//总件数
                                Double totalVolume = entry.getDouble("eap7_decimalfield2");//总体积
                                String warehouse = entry.getString("warehouse_number");//仓库编码
@@ -1390,6 +1398,7 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -1404,11 +1413,12 @@
                                    supp = locSupp.getOwner();
                                }
                                // ========= 保存明细 =========
                                OrderDetl orderDetl = new OrderDetl();
                                orderDetl.sync(mat);
                                orderDetl.setThreeCode(detlId);
                                orderDetl.setLineNumber(seq);
                                orderDetl.setAnfme(anfme);
                                orderDetl.setAnfme(anfmeBox);
                                orderDetl.setErpAnfme(anfme);
                                orderDetl.setOrderId(order.getId());
                                orderDetl.setOrderNo(order.getOrderNo());
@@ -1530,7 +1540,8 @@
                            for (int k = 0; k < billEntryArray.size(); k++) {
                                JSONObject entry = billEntryArray.getJSONObject(k);
                                String matnr = entry.getString("material_number"); //物料编码,内部SKU
                                Double anfme = entry.getDouble("completqty");//箱数
                                Double anfmeBox = 0.0;//箱数
                                Double anfme = entry.getDouble("completqty");//个数
                                Double totalNumItems = entry.getDouble("eap7_decimalfield1");//总件数
                                Double totalVolume = entry.getDouble("eap7_decimalfield2");//总体积
                                String warehouse = entry.getString("warehouse_number");//仓库编码
@@ -1555,6 +1566,7 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -1573,8 +1585,8 @@
                                orderDetl.sync(mat);
                                orderDetl.setThreeCode(detlId);
                                orderDetl.setLineNumber(seq);
                                orderDetl.setAnfme(anfme);
                                orderDetl.setErpAnfme(anfme);
                                orderDetl.setAnfme(anfmeBox);
                                orderDetl.setErpAnfme(anfme);//汇报单个数
                                orderDetl.setOrderId(order.getId());
                                orderDetl.setOrderNo(order.getOrderNo());
                                orderDetl.setSupp(supp);