From b805f0773a13989715e2e3b853434d4bd8e445d4 Mon Sep 17 00:00:00 2001 From: lym <1994302445@qq.com> Date: Wed, 15 Jan 2025 10:45:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executor/enums/ErrorCodeConstants.java | 7 ++++--- .../admin/order/OrderController.java | 18 ++++++------------ .../admin/api/webcad/ApiTypeRealize.java | 18 +++++++++++++++++- .../admin/files/excel/ExcelTypeRealize.java | 5 ++++- 4 files changed, 31 insertions(+), 17 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java index d427c2083..befc45711 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java @@ -54,8 +54,9 @@ public class ErrorCodeConstants { public static final ErrorCode PLATE_GOOD_DATA_NULL = new ErrorCode(1_002_029_13, "接口数据获取,板材源数据缺少,请确定接口数据正确"); public static final ErrorCode PARTS_DATA_ERROR = new ErrorCode(1_002_029_009, "配件数据获取错误"); public static final ErrorCode BODY_DATA_ERROR = new ErrorCode(1_002_029_010, "柜体数据获取错误"); - public static final ErrorCode GOODS_DATA_ERROR = new ErrorCode(1_002_029_011, "商品信息获取错误"); - public static final ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_012, "板材明细获取错误"); + public static final ErrorCode GOODS_DATA_ERROR = new ErrorCode(1_002_029_011, "存在小板情况下,缺少板材数据,请确认数据源是否完整"); + public static final ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_012, "小板获取为空"); + public static final ErrorCode PLATE_PRODUCE_DATA_ERROR = new ErrorCode(1_002_029_012, "小板生产数据获取为空"); public static final ErrorCode ORDER_STATUS_CONFLICT = new ErrorCode(1_002_029_006, "生产单状态冲突,禁止投入生产"); public static final ErrorCode ORDER_READ_ERR = new ErrorCode(1_002_029_006, "订单列表获取失败,请刷新重试"); public static final ErrorCode ORDER_DATE_ERR = new ErrorCode(1_002_029_006, "获取订单列表,时间超出范围,请在30天范围内选择"); @@ -64,9 +65,9 @@ public class ErrorCodeConstants { public static final ErrorCode SOURCE_NOT_EXITS_ERROR = new ErrorCode(1_002_029_013, "源数据查询失败"); public static final ErrorCode ORDER_DELETED_ERR = new ErrorCode(1_002_029_006, "生产单删除失败"); public static final ErrorCode ORDER_RESTORE_ERR = new ErrorCode(1_002_029_006, "生产单还原失败"); - public static final ErrorCode DATA_ERR = new ErrorCode(1_002_030_000, "当前正在导入,请稍后"); public static final ErrorCode LOCK_ERR = new ErrorCode(1_002_030_001, "当前存在导入情况,请稍后"); public static final ErrorCode API_MES_ERR = new ErrorCode(1_002_031_001, "MES接口数据出错:{}"); + public static final ErrorCode CHANGE_DETAILS_ITEM_ERROR = new ErrorCode(1_002_032_001, "明细转换失败"); // ========== 自定义板编号生成 ========== public static final ErrorCode CUSTOM_PLATENO_GENERATE_ORDERNO_RULE_NOT_SUPPORT_RESETMODE = new ErrorCode(1_002_030_001, "自定义版编号生产单序号规则中存在不支持的复位类型:{}"); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index 69b1cfa5c..f5bd8ea59 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -107,8 +107,7 @@ public class OrderController { private OrderInputProcessor orderInputProcessor; private String lockKey = "order:1631:lock:"; - private String errKey = "api数据导入异常"; - private String errValue = "当前存在导入情况,请稍后"; + private String errKey = "生产数据导入异常,{}"; public static final String ORDER_PLATE_MODEL = "imes_order_plate_model"; public static final String ORDER_PLATE_MODEL_COMPRESS = "imes_order_plate_model_compress"; @@ -215,8 +214,8 @@ public class OrderController { boolean isLocked = redisLockUtil.lock(lockKey); if (!isLocked) { - log.error(errKey, errValue); - return success(errValue); + log.error(errKey, LOCK_ERR); + return error(LOCK_ERR); } Long orderId = null; try { @@ -233,7 +232,6 @@ public class OrderController { orderInputProcessor.deleteByOrderId(orderId, ORDER_PLATE_MODEL); orderInputProcessor.deleteByOrderId(orderId, ORDER_PLATE_MODEL_COMPRESS); } - log.error(errKey, e); Throwable cause = e.getCause(); return error((ServiceException) cause); @@ -270,7 +268,7 @@ public class OrderController { boolean isLocked = redisLockUtil.lock(lockKey); if (!isLocked) { - log.error(errKey, errValue); + log.error(errKey,LOCK_ERR); } else { try { @@ -363,17 +361,13 @@ public class OrderController { XMLUtil.writeErr(response, xmlStr, " order_add_xml_err.xml"); return; } - long startTime = System.currentTimeMillis(); + listMap = xmlTypeRealize.goodsInfoChange(orderXmlVO, orderDO.getId(), getUserOrganId()); - long endTime = System.currentTimeMillis(); - long duration = endTime - startTime; - - System.out.println("方法运行耗时 goodsInfoChange: " + duration + " 毫秒"); } orderService.importExcelData(orderDO, index, listMap); } catch (Exception e) { - log.error("文件导入异常", e); + log.error(errKey, e); if (type == 0) { ExcelWriterUtil.write(response, mapOrder, list, orderService.getSavePath() + File.separator + "order_add_excel_err.xlsx"); } else if (type == 2) { diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java index 79a82f954..698560860 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java @@ -205,7 +205,16 @@ public class ApiTypeRealize { Map mapPlateDetailsRemarks) { // 第一步判断是否存在需要进行数据添加的小板 if (mapPlatesInfos == null || mapPlatesInfos.isEmpty()) { - return; + log.error("小板信息:{}" , PLATE_DATA_ERROR); + throw exception(PLATE_DATA_ERROR); + } + if (mapPlateDetails == null || mapPlateDetails.isEmpty()) { + log.error("小板信息:{}" , PLATE_PRODUCE_DATA_ERROR); + throw exception(PLATE_PRODUCE_DATA_ERROR); + } + if (mapGoodsDO == null || mapGoodsDO.isEmpty()) { + log.error("板材信息:{}" , GOODS_DATA_ERROR); + throw exception(GOODS_DATA_ERROR); } mapPlatesInfos.forEach((k, v) -> { // 判断是否有造型数据可以进行整合 @@ -931,6 +940,8 @@ public class ApiTypeRealize { Long plateId = (Long) identifierGenerator.nextId(null); String remarkJson = plate.getString(ProduceApiConstants.BD_REMARK_JSON).replace("\"", "").trim(); +// 去掉[] + remarkJson = remarkJson.replace("[", "").replace("]", ""); String remark = !remarkJson.trim().isEmpty() ? remarkJson : ""; PlateDO plateInfo = PlateDO.builder() @@ -1465,6 +1476,11 @@ public class ApiTypeRealize { public Map> mergeMaps(Map> mergedMap, Map> map) { + if (map == null || map.isEmpty()) { + log.error("明细信息:{}" , CHANGE_DETAILS_ITEM_ERROR); + throw exception(CHANGE_DETAILS_ITEM_ERROR); + } + // 处理第一个 Map for (Map.Entry> entry : map.entrySet()) { String key = entry.getKey(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java index 9c98f23b6..6540718c2 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java @@ -373,7 +373,10 @@ public class ExcelTypeRealize { for (String key : jsonObject.keySet()) { Object value = jsonObject.get(key); - nonNullValues.add(value); + if (value != null && !value.toString().trim().isEmpty()) { + nonNullValues.add(value); + } + } return nonNullValues.size() == 0 ? "" : nonNullValues.toString().replace("[", "").replace("]", "");