src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -35,7 +35,7 @@ @Value("${erp.switch.ReviewOrderSwitch}") private boolean ReviewOrderSwitch; @Scheduled(cron = "0/20 * * * * ? ") // @Scheduled(cron = "0/20 * * * * ? ") @Async("orderThreadPool") public void completeAndReport(){ if(!ReviewOrderSwitch){ @@ -47,7 +47,7 @@ List<Order> orders = orderService.selectComplete(); if(orders.size() > 0){ for (Order order : orders) { if(order.getDocType() == 3 || order.getDocType() == 16 || order.getPayType()!=1){ //走新增提交审核流程 if((order.getDocType() == 3 || order.getDocType() == 16) && order.getPayType() == null){ //走新增提交审核流程 ReturnT<String> result = saveOrderSyncHandler.start(order);//4已完成 if (!result.isSuccess()) { log.error("单据[orderNo={}]新增保存至erp失败", order.getOrderNo()); @@ -62,10 +62,6 @@ if(orderDetlPakinService.morpt(order.getSalesman())){ order.setSettle(11L); //yu/cheng/dan/deng/dai/chu/ku/dan orderService.updateById(order); // ReturnT<String> result = saveOrderSyncHandler.start(order1);//4已完成hui/bao/dan // if (!result.isSuccess()) { // log.error("单据[orderNo={}]新增保存至erp失败", order.getOrderNo()); // } } } else{ 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); @@ -901,6 +903,7 @@ "商品不存在:" + matnr, false); continue; } Double erpAnfme = anfme*mat.getSafeQty(); // ========= 明细去重 ========= List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); @@ -920,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); @@ -1209,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, @@ -1222,7 +1229,7 @@ "物料档案不存在:" + matnr, false); continue; } anfmeBox = anfme/mat.getSafeQty(); anfmeBox = Math.floor(anfme / mat.getSafeQty()); // ========= 明细去重 ========= List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); @@ -1238,7 +1245,6 @@ // supp = locSupp.getOwner(); // } // ========= 保存明细 ========= try{ OrderDetl orderDetl = new OrderDetl(); orderDetl.sync(mat); orderDetl.setThreeCode(detlId); @@ -1268,10 +1274,7 @@ orderDetl.setQty(0.0D); orderDetlService.insert(orderDetl); } catch (Exception e) { // 如果发生异常,记录详细的错误信息 callApiLogSaveOrder(order, kingDeeUtilType, "保存明细失败,物料:" + matnr + " 错误信息:" + e.getMessage(), false); } } } @@ -1395,7 +1398,7 @@ "商品不存在:" + matnr, false); continue; } anfmeBox = anfme/mat.getSafeQty(); anfmeBox = Math.floor(anfme / mat.getSafeQty()); // ========= 明细去重 ========= List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); @@ -1410,7 +1413,7 @@ supp = locSupp.getOwner(); } // ========= 保存明细 ========= try{ OrderDetl orderDetl = new OrderDetl(); orderDetl.sync(mat); orderDetl.setThreeCode(detlId); @@ -1440,10 +1443,6 @@ orderDetl.setQty(0.0D); orderDetlService.insert(orderDetl); } catch (Exception e) { // 如果发生异常,记录详细的错误信息 callApiLogSaveOrder(order, kingDeeUtilType, "保存明细失败,物料:" + matnr + " 错误信息:" + e.getMessage(), false); } } } } @@ -1567,7 +1566,7 @@ "商品不存在:" + matnr, false); continue; } anfmeBox = anfme/mat.getSafeQty(); anfmeBox = Math.floor(anfme / mat.getSafeQty()); // ========= 明细去重 ========= List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -112,7 +112,7 @@ } Mat mat = matService.selectByMatnr(orderDetl.getMatnr()); Double qty = orderDetl.getQty()*mat.getSafeQty(); Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty(); // Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty(); // JSONArray idArr = new JSONArray(); // idArr.add(0L); // 创建 billentry_lk 对象 @@ -122,7 +122,7 @@ .fluentPut("billentry_lk_stableid", 677270092232273922L) .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName())) // 主单ID .fluentPut("billentry_lk_sid", Long.parseLong(orderDetl.getThreeCode())) // 明细ID .fluentPut("billentry_lk_baseqty_old", qtytotal) // ERP数量 .fluentPut("billentry_lk_baseqty_old", orderDetl.getAnfme()) // ERP数量 .fluentPut("billentry_lk_baseqty", qty); // 作业数量 billentryLkArray.add(billentryLk); // 创建 billentry 对象,填充缺失的字段 @@ -171,7 +171,7 @@ } Mat mat = matService.selectByMatnr(orderDetl.getMatnr()); Double qty = orderDetl.getQty()*mat.getSafeQty(); Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty(); // Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty(); // JSONArray idArr = new JSONArray(); // idArr.add(0L); // 创建 billentry_lk 对象 @@ -181,7 +181,7 @@ .fluentPut("billentry_lk_stableid", 677270092232273922L) .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName())) // 主单ID .fluentPut("billentry_lk_sid", Long.parseLong(orderDetl.getThreeCode())) // 明细ID .fluentPut("billentry_lk_baseqty_old", qtytotal) // ERP数量 .fluentPut("billentry_lk_baseqty_old", orderDetl.getAnfme()) // ERP数量 .fluentPut("billentry_lk_baseqty", qty); // 作业数量 billentryLkArray1.add(billentryLk); // 创建 billentry 对象,填充缺失的字段 @@ -244,10 +244,10 @@ .fluentPut("billno", order.getOrderNo()) // .fluentPut("bookdate", sdf1.format(nowMis)) .fluentPut("biztime", sdf1.format(nowMis)) .fluentPut("biztype_number", "354") .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S") .fluentPut("org_number", "BU-00001") .fluentPut("invscheme_number", "354") // .fluentPut("biztype_number", "354") // .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S") // .fluentPut("org_number", "BU-00001") // .fluentPut("invscheme_number", "354") .fluentPut("billentry", billentryArray) ))); case "STK_MisDelivery": // 其他出库单