| | |
| | | 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"); |
| | |
| | | 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; |
| | |
| | | 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);//供应商名称(货源) |
| | |
| | | "商品不存在:" + 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()); |
| | |
| | | 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); |
| | |
| | | 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");//仓库编码 |
| | |
| | | "商品不存在:" + 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()); |
| | |
| | | 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); |
| | |
| | | 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");//仓库编码 |
| | |
| | | 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, |
| | |
| | | "物料档案不存在:" + matnr, false); |
| | | continue; |
| | | } |
| | | 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)); |
| | |
| | | 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()); |
| | |
| | | orderDetl.setQty(0.0D); |
| | | |
| | | orderDetlService.insert(orderDetl); |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | 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");//仓库编码 |
| | |
| | | "商品不存在:" + matnr, false); |
| | | continue; |
| | | } |
| | | 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()); |
| | |
| | | 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()); |
| | |
| | | String owner = "和得科技"; |
| | | String ownerUuid = "BU-00001"; |
| | | String orderId = jsonObjectNew.getString("id"); |
| | | String manuBill = jsonObjectNew.getString("manufacturenun"); |
| | | // ========= 货主校验 ========= |
| | | LocOwner locOwner = locOwnerService.selectByUuid(ownerUuid); |
| | | // if (locOwner == null) { |
| | |
| | | null, // 项目编号 |
| | | orderId, //收料单id |
| | | null, // 调拨项目编号 |
| | | null, // 初始票据号 |
| | | manuBill, // 初始票据号 |
| | | null, // 票据号 |
| | | null, // 项目id |
| | | owner, // 货主 |
| | |
| | | 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");//仓库编码 |
| | |
| | | "商品不存在:" + matnr, false); |
| | | continue; |
| | | } |
| | | anfmeBox = Math.floor(anfme / mat.getSafeQty()); |
| | | // ========= 明细去重 ========= |
| | | List<OrderDetl> orderDetls = |
| | | orderDetlService.selectByOrderId(order.getId()); |
| | |
| | | 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); |