自动化立体仓库 - WMS系统
#
LSH
2023-10-21 ce0c3f5785e79d4765e85ddfd27a305444ef3560
#
1个文件已修改
39 ■■■■ 已修改文件
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -150,11 +150,14 @@
                            //最新抓取商品时间
                            if (!matService.insert(mat)) {
//                                throw new CoolException("服务器内部错误,请联系管理员");
                                callApiLogSaveMat(mat,kingDeeUtilType, "同步新物料出错!!!"+mat, false);
                                log.info("同步新物料出错!!!参数:[{}]、[{}]",mat,jsonArray);
                            } else {
                                log.info("同步新物料[商品编号:{}]", mat.getMatnr());
                                callApiLogSaveMat(mat,kingDeeUtilType, "同步新物料!", true);
//                                log.info("同步新物料[商品编号:{}]", mat.getMatnr());
                            }
                        }else {
                            callApiLogSaveMat(mat,kingDeeUtilType, "商品编号重复:"+mat.getMatnr(), false);
                            log.info("同步新物料[商品编号:{}],商品编号重复!!!", mat.getMatnr());
                        }
                        tag.setUpdateTime(date);
@@ -163,6 +166,9 @@
                } else {
                    for (int j = 0; j < data.size(); j++) {
                        JSONArray jsonArray = data.getJSONArray(j);
                        //最新抓取时间
                        Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(2).toString());
                        docType.setCreateTime(jsonDate);
                        Order order = orderService.selectByNo(jsonArray.get(0).toString());
                        if (Cools.isEmpty(order)) {
                            Date now = new Date();
@@ -204,18 +210,18 @@
                                    null    // 备注
                            );
                            //最新抓取时间
                            Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(2).toString());
                            docType.setCreateTime(jsonDate);
                            docTypeService.updateById(docType);
                            if (!orderService.insert(order)) {
                                throw new CoolException("生成单据主档失败,请联系管理员");
                                callApiLogSaveOrder(order,kingDeeUtilType, "生成单据主档失败,请联系管理员"+order, false);
                                continue;
//                                throw new CoolException("生成单据主档失败,请联系管理员");
                            }
                        }
                        //物料编码
                        Mat mat = matService.selectByMatnr(jsonArray.get(2).toString());
                        if (Cools.isEmpty(mat)) {
                            throw new CoolException(jsonArray.get(2).toString() + "编号商品检索失败,请先添加商品");
                            callApiLogSaveOrder(order,kingDeeUtilType, "编号商品检索失败,请先添加商品"+jsonArray.get(2).toString(), false);
                            continue;
//                            throw new CoolException(jsonArray.get(2).toString() + "编号商品检索失败,请先添加商品");
                        }
                        OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString()));
                        if (!Cools.isEmpty(orderDetl1)) {
@@ -233,13 +239,12 @@
                        orderDetl.setUpdateTime(new Date());
                        orderDetl.setStatus(1);
                        orderDetl.setQty(0.0D);
                        Date date = KingDeeUtil.KingDeeDate(jsonArray.get(1).toString());
                        //最新抓取时间
                        docType.setCreateTime(date);
                        if (!orderDetlService.insert(orderDetl)) {
                            throw new CoolException("生成单据明细失败,请联系管理员");
                            callApiLogSaveOrder(order,kingDeeUtilType, "生成单据明细失败,请联系管理员!订单号:"+order.getOrderNo(), false);
//                            throw new CoolException("生成单据明细失败,请联系管理员");
                        }
                    }
                    docTypeService.updateById(docType);
                }
            } catch (Exception e) {
                log.error("fail", e);
@@ -265,4 +270,16 @@
        return SUCCESS;
    }
    public void callApiLogSaveMat(Mat mat, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) {
        apiLogService.save("获取"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL,
                "物料编号:" + mat.getMatnr() + "、物料名称:" + mat.getName() + "、类型:" + mat.getTagId$() + "、状态:" + mat.getStatus$(),
                response, bool);
    }
    public void callApiLogSaveOrder(Order order, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) {
        apiLogService.save("获取"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL,
                "单据编号:" + order.getId() +  "、状态:" + order.getStatus$(),
                response, bool);
    }
}