自动化立体仓库 - WMS系统
#
1
1 天以前 4881f66b288c535c3b9da41ee07c9609bacb8481
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -174,7 +174,7 @@
                    jsonObject.put("modify_starttime",  latestUpdateTime);//业务起始日期
                    jsonObject.put("billstatus",  "B");//单据状态
                    jsonObject.put("modify_endtime",  sdf1.format(now));//业务起始日期
                    jsonObject.put("billtype_number",  "im_SalOutBill_STD_BT_S_R");//单据类型   退货类型待定
                    jsonObject.put("billtype_number",  "im_SalOutBill_STD_BT_S_R");//单据类型
                    break;
                case "PRD_PickMtrl"://生产领料单
                    path = imMdcMftproorder;
@@ -263,7 +263,7 @@
                JSONArray data = jsonResponse.getJSONObject("data").getJSONArray("rows");
                if(data.size()<=0)  continue;
                //商品档案同步
                if (kingDeeUtilType.formId.equals("BD_MATERIAL")) {
                if(kingDeeUtilType.formId.equals("BD_MATERIAL")) {
                    Tag tag = tagService.selectByName("全部", 1);
                    // 处理分页:根据返回的totalCount和pageSize计算页数
                    int pageSize = jsonResponse.getJSONObject("data").getIntValue("pageSize");
@@ -558,6 +558,12 @@
                                            callApiLogSaveOrder(order,kingDeeUtilType, "编号商品检索失败,请先添加商品"+matnr, false);
                                            continue;
                                        }
                                        if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
                                            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 +585,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 +741,12 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
                                    callApiLogSaveOrder(order, kingDeeUtilType,
                                            "档案箱数量异常:" + matnr, false);
                                    continue;
                                }
                                Double erpAnfme = anfme*mat.getSafeQty();
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -754,7 +766,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);
@@ -901,6 +913,12 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
                                    callApiLogSaveOrder(order, kingDeeUtilType,
                                            "档案箱数量异常:" + matnr, false);
                                    continue;
                                }
                                Double erpAnfme = anfme*mat.getSafeQty();
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -920,7 +938,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);
@@ -1209,6 +1227,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,
@@ -1222,10 +1244,16 @@
                                            "物料档案不存在:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = anfme/mat.getSafeQty();
                                if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
                                    callApiLogSaveOrder(order, kingDeeUtilType,
                                            "档案箱数量异常:" + 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));
@@ -1266,6 +1294,7 @@
                                orderDetl.setQty(0.0D);
                                orderDetlService.insert(orderDetl);
                            }
                        }
@@ -1389,7 +1418,12 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = anfme/mat.getSafeQty();
                                if (mat.getSafeQty() == null || mat.getSafeQty() == 0) {
                                    callApiLogSaveOrder(order, kingDeeUtilType,
                                            "档案箱数量异常:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -1404,6 +1438,7 @@
                                    supp = locSupp.getOwner();
                                }
                                // ========= 保存明细 =========
                                OrderDetl orderDetl = new OrderDetl();
                                orderDetl.sync(mat);
                                orderDetl.setThreeCode(detlId);
@@ -1467,6 +1502,7 @@
                            String owner = "和得科技";
                            String ownerUuid = "BU-00001";
                            String orderId = jsonObjectNew.getString("id");
                            String manuBill = jsonObjectNew.getString("manufacturenun");
                            // ========= 货主校验 =========
                            LocOwner locOwner = locOwnerService.selectByUuid(ownerUuid);
//                            if (locOwner == null) {
@@ -1487,7 +1523,7 @@
                                        null,    // 项目编号
                                        orderId,    //收料单id
                                        null,    // 调拨项目编号
                                        null,    // 初始票据号
                                        manuBill,    // 初始票据号
                                        null,    // 票据号
                                        null,    // 项目id
                                        owner,    // 货主
@@ -1530,7 +1566,7 @@
                            for (int k = 0; k < billEntryArray.size(); k++) {
                                JSONObject entry = billEntryArray.getJSONObject(k);
                                String matnr = entry.getString("material_number"); //物料编码,内部SKU
                                Double anfmeBox = entry.getDouble("eap7_integerfield");//箱数
                                Double anfmeBox = 0.0;//箱数
                                Double anfme = entry.getDouble("completqty");//个数
                                Double totalNumItems = entry.getDouble("eap7_decimalfield1");//总件数
                                Double totalVolume = entry.getDouble("eap7_decimalfield2");//总体积
@@ -1556,6 +1592,7 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());