From 8ad17c34c5edf09ee0046fe6a0bf1f4a03be8414 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 8 May 2026 09:35:51 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81cad=E6=8B=86=E5=8D=95=E7=A7=BB?= =?UTF-8?q?=E9=99=A4es=E6=96=B0=E5=A2=9E=E9=80=A0=E5=9E=8B=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=EF=BC=9B2=E3=80=81=E6=9C=AA=E6=8E=92=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9A=82=E6=97=B6=E7=A7=BB=E9=99=A4es?= =?UTF-8?q?=E9=80=A0=E5=9E=8B=E6=95=B0=E6=8D=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/plan/bo/OrderSource.java | 2 + .../optimizeplan/OptimizePlanServiceImpl.java | 4 +- .../WebCadOrderImportServiceImpl.java | 6 +-- .../consumer/WebCadOrderImportConsumer.java | 6 +-- .../WebCadOrderImportAsyncFactory.java | 41 +------------------ .../factory/WebCadOrderImportFactory.java | 36 +--------------- 6 files changed, 8 insertions(+), 87 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java index 10e100350..929cd1cc3 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java @@ -12,6 +12,7 @@ import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO; import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO; import com.cf.imes.module.system.api.machine.dto.MachineDTO; +import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; @@ -28,6 +29,7 @@ import java.util.List; @Builder @AllArgsConstructor @NoArgsConstructor +@JsonInclude(JsonInclude.Include.NON_NULL) public class OrderSource { @Schema(description = "优化后的大板数据") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index 70e6f519b..ce6d5555a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -791,7 +791,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { AssertUtils.notEmpty(plateDetailRespVOS, ORDER_PLATE_EMPTY); // todo 数据结构改后,可以增加排单ID作为筛选,只查为 0 的 - List orderModelDOS = getOrderModels(orderIds, orderGoodsIds); +// List orderModelDOS = getOrderModels(orderIds, orderGoodsIds); AssertUtils.notEmpty(plateDetailRespVOS,ORDER_PLATE_MODEL_DATE_ERROR); @@ -799,7 +799,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { .orderList(orderDOS) .goodsList(goodsReqVOS) .plateList(plateDetailRespVOS) - .plateModels(orderModelDOS) +// .plateModels(orderModelDOS) .build(); } diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java index 830b44fd2..891ac175f 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java @@ -32,7 +32,6 @@ import com.cf.imes.module.plan.dal.mysql.orderImport.OrderImportTaskMapper; import com.cf.imes.module.plan.dal.mysql.plate.PlateMapper; import com.cf.imes.module.plan.enums.ErrorCodeConstants; import com.cf.imes.module.plan.service.customplateno.CustomPlateNoGenerateService; -import com.cf.imes.module.plan.service.order.OrderInputProcessor; import com.cf.imes.module.plan.service.orderImport.factory.WebCadOrderImportFactory; import com.cf.imes.module.plan.service.orderImport.property.WebCadImportProperties; import com.cf.imes.module.system.api.systemconfig.SystemConfigApi; @@ -89,9 +88,6 @@ public class WebCadOrderImportServiceImpl implements WebCadOrderImportService { @Resource private SnowflakeIdWorker3rd idWorker; - @Resource - private OrderInputProcessor orderInputProcessor; - @Resource private CustomPlateNoGenerateService customPlateNoGenerateService; @@ -164,7 +160,7 @@ public class WebCadOrderImportServiceImpl implements WebCadOrderImportService { mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); WebCadDataReqVO webCadDataReqVO = mapper.readValue(parser, WebCadDataReqVO.class); WebCadOrderImportFactory webCadOrderImportFactory = new WebCadOrderImportFactory(organId, orderDO, snowFlakeGenerator, orderMapper, orderBodyMapper, plateMapper, - idWorker, orderInputProcessor, goodsMapper, customPlateNoGenerateService, systemConfigApi, webCadImportProperties.getCadImportPlateNumThreshold(), jdbcTemplate); + idWorker, goodsMapper, customPlateNoGenerateService, systemConfigApi, webCadImportProperties.getCadImportPlateNumThreshold(), jdbcTemplate); // cad图纸文件id cadViewFileId = webCadDataReqVO.getCadViewFileId(); diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/WebCadOrderImportConsumer.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/WebCadOrderImportConsumer.java index 17e75dc54..1b8197feb 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/WebCadOrderImportConsumer.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/WebCadOrderImportConsumer.java @@ -17,7 +17,6 @@ import com.cf.imes.module.plan.dal.mysql.orderBody.OrderBodyMapper; import com.cf.imes.module.plan.dal.mysql.orderImport.OrderImportTaskMapper; import com.cf.imes.module.plan.dal.mysql.plate.PlateMapper; import com.cf.imes.module.plan.service.customplateno.CustomPlateNoGenerateService; -import com.cf.imes.module.plan.service.order.OrderInputProcessor; import com.cf.imes.module.plan.service.orderImport.OrderImportTaskService; import com.cf.imes.module.plan.service.orderImport.factory.WebCadOrderImportAsyncFactory; import com.cf.imes.module.plan.service.orderImport.property.WebCadImportProperties; @@ -65,9 +64,6 @@ public class WebCadOrderImportConsumer { @Resource private SnowflakeIdWorker3rd idWorker; - @Resource - private OrderInputProcessor orderInputProcessor; - @Resource private CustomPlateNoGenerateService customPlateNoGenerateService; @@ -142,7 +138,7 @@ public class WebCadOrderImportConsumer { log.info("====================【webcad异步拆单处理临时数据开始】===================="); WebCadOrderImportAsyncFactory webCadOrderImportAsyncFactory = new WebCadOrderImportAsyncFactory(organId, orderMapper, snowFlakeGenerator, orderBodyMapper, plateMapper, idWorker, - orderImportTaskMapper, orderInputProcessor, goodsMapper, customPlateNoGenerateService, systemConfigApi, orderImportTaskDO.getCreator(), + orderImportTaskMapper, goodsMapper, customPlateNoGenerateService, systemConfigApi, orderImportTaskDO.getCreator(), cadImportPlateNumThreshold, jdbcTemplate); webCadOrderImportAsyncFactory.analyzeTempData(taskId, webCadImportProperties.getTempFilePath()); log.info("====================【webcad异步拆单处理临时数据结束】===================="); diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportAsyncFactory.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportAsyncFactory.java index 4f8a68124..96474d249 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportAsyncFactory.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportAsyncFactory.java @@ -59,7 +59,6 @@ import com.cf.imes.module.plan.enums.ErrorCodeConstants; import com.cf.imes.module.plan.enums.ordercomponent.OrderComponentProcessStatusEnum; import com.cf.imes.module.plan.service.customplateno.CustomPlateNoGenerateService; import com.cf.imes.module.plan.service.customplateno.vo.CustomPlateNoGenerateConfigVO; -import com.cf.imes.module.plan.service.order.OrderInputProcessor; import com.cf.imes.module.system.api.systemconfig.SystemConfigApi; import com.cf.imes.module.system.api.systemconfig.dto.SystemConfigRespDTO; import com.cf.imes.module.system.api.systemconfig.dto.SystemConfigSealEdgeRespDTO; @@ -85,13 +84,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CompletableFuture; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_GET_ORG_SEALEDGE_ERROR; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_ORDER_PLATENUM_CHECK_ERROR; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_ORG_SEALEDGE_ANALYZE_ERROR; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_NOT_EXISTS_ERROR; -import static com.cf.imes.module.plan.service.order.OrderInputProcessor.ORDER_PLATE_MODEL; /** * webcad异步导入订单工厂服务 @@ -118,8 +115,6 @@ public class WebCadOrderImportAsyncFactory { private OrderImportTaskMapper orderImportTaskMapper; - private OrderInputProcessor orderInputProcessor; - private SystemConfigApi systemConfigApi; private GoodsMapper goodsMapper; @@ -211,7 +206,6 @@ public class WebCadOrderImportAsyncFactory { PlateMapper plateMapper, SnowflakeIdWorker3rd idWorker, OrderImportTaskMapper orderImportTaskMapper, - OrderInputProcessor orderInputProcessor, GoodsMapper goodsMapper, CustomPlateNoGenerateService customPlateNoGenerateService, SystemConfigApi systemConfigApi, @@ -225,7 +219,6 @@ public class WebCadOrderImportAsyncFactory { this.plateMapper = plateMapper; this.idWorker = idWorker; this.orderImportTaskMapper = orderImportTaskMapper; - this.orderInputProcessor = orderInputProcessor; this.goodsMapper = goodsMapper; this.customPlateNoGenerateService = customPlateNoGenerateService; this.systemConfigApi = systemConfigApi; @@ -249,7 +242,6 @@ public class WebCadOrderImportAsyncFactory { performPostProcessing(taskId); } catch (Exception e) { - handleProcessingException(e); throw e; } finally { clearAll(); @@ -340,17 +332,6 @@ public class WebCadOrderImportAsyncFactory { customPlateNoGenerateService.updateCustomPlateNoGenerateConfig(plateNoGenerateConfigVO, orderDO); } - /** - * 处理异常情况 - */ - private void handleProcessingException(Exception e) { - if (esInsert) { - CompletableFuture.runAsync(() -> { - orderInputProcessor.deleteByOrderIdBatch(orderId, batchId, ORDER_PLATE_MODEL); - }); - } - } - /** * 获取组织封边条对应配置 */ @@ -589,7 +570,6 @@ public class WebCadOrderImportAsyncFactory { } reader.endArray(); orderPlateBatchInsertWithinThreshold(plateDOS, true); - orderModelsBatchInsertWithinThreshold(true); } /** @@ -854,9 +834,7 @@ public class WebCadOrderImportAsyncFactory { orderPlateBatchInsertWithinThreshold(plateDOS, false); // 创建es造型数据 - createModel(plateDO, block, plateRemark); - // 批量插入造型数据 - orderModelsBatchInsertWithinThreshold(false); +// createModel(plateDO, block, plateRemark); // 遍历加工组信息,生成对应的加工组和item analyzeBlockProcessGroup(orderBodyDO, block, plateId); @@ -2305,23 +2283,6 @@ public class WebCadOrderImportAsyncFactory { orderComponentDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); } - /** - * 每达到阈值就批量插入一次订单造型数据和压缩数据 - * - * @param isLast 是否最后一次插入,不是就需要清理list - */ - private void orderModelsBatchInsertWithinThreshold(boolean isLast) { - // 达到批量的阈值就做一次插入 - if (CollUtil.isNotEmpty(orderModelDOS) && (orderModelDOS.size() >= BATCH_THRESHOLD_NUMBER || isLast)) { - // 保存订单造型数据 - orderInputProcessor.batchAsyncSaveModel(orderModelDOS); - if (!isLast) { - // 存储完成清理 list - orderModelDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); - } - } - } - /** * 每batchSize条拆分dataList * diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java index f2eae7284..04afffaef 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java @@ -54,7 +54,6 @@ import com.cf.imes.module.plan.enums.ErrorCodeConstants; import com.cf.imes.module.plan.enums.ordercomponent.OrderComponentProcessStatusEnum; import com.cf.imes.module.plan.service.customplateno.CustomPlateNoGenerateService; import com.cf.imes.module.plan.service.customplateno.vo.CustomPlateNoGenerateConfigVO; -import com.cf.imes.module.plan.service.order.OrderInputProcessor; import com.cf.imes.module.system.api.systemconfig.SystemConfigApi; import com.cf.imes.module.system.api.systemconfig.dto.SystemConfigRespDTO; import com.cf.imes.module.system.api.systemconfig.dto.SystemConfigSealEdgeRespDTO; @@ -74,14 +73,12 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_GET_ORG_SEALEDGE_ERROR; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_ORDER_PLATENUM_CHECK_ERROR; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_ORDER_PLATENUM_REACH_THRESHOLD_ERROR; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_ORG_SEALEDGE_ANALYZE_ERROR; -import static com.cf.imes.module.plan.service.order.OrderInputProcessor.ORDER_PLATE_MODEL; /** * webcad导入订单工厂服务 @@ -106,8 +103,6 @@ public class WebCadOrderImportFactory { private SnowflakeIdWorker3rd idWorker; - private OrderInputProcessor orderInputProcessor; - private SystemConfigApi systemConfigApi; private GoodsMapper goodsMapper; @@ -200,7 +195,6 @@ public class WebCadOrderImportFactory { OrderBodyMapper orderBodyMapper, PlateMapper plateMapper, SnowflakeIdWorker3rd idWorker, - OrderInputProcessor orderInputProcessor, GoodsMapper goodsMapper, CustomPlateNoGenerateService customPlateNoGenerateService, SystemConfigApi systemConfigApi, @@ -214,7 +208,6 @@ public class WebCadOrderImportFactory { this.orderBodyMapper = orderBodyMapper; this.plateMapper = plateMapper; this.idWorker = idWorker; - this.orderInputProcessor = orderInputProcessor; this.goodsMapper = goodsMapper; this.customPlateNoGenerateService = customPlateNoGenerateService; this.systemConfigApi = systemConfigApi; @@ -286,12 +279,6 @@ public class WebCadOrderImportFactory { } } catch (Exception e) { - if (esInsert) { - CompletableFuture.runAsync(() -> { - // 数据库数据回滚,同步删除 ES 里当前批次的数据 - orderInputProcessor.deleteByOrderIdBatch(orderId, batchId, ORDER_PLATE_MODEL); - }); - } throw e; } finally { // 清理数据 @@ -622,8 +609,6 @@ public class WebCadOrderImportFactory { } } orderPlateBatchInsertWithinThreshold(plateDOS, true); - // 批量插入造型数据 - orderModelsBatchInsertWithinThreshold(true); } /** @@ -792,9 +777,7 @@ public class WebCadOrderImportFactory { orderPlateBatchInsertWithinThreshold(plateDOS, false); // 创建es造型数据 - createModel(plateDO, block, plateRemark); - // 批量插入造型数据 - orderModelsBatchInsertWithinThreshold(false); +// createModel(plateDO, block, plateRemark); // 遍历加工组信息,生成对应的加工组和item analyzeBlockProcessGroup(orderBodyDO, block, plateId); @@ -2136,23 +2119,6 @@ public class WebCadOrderImportFactory { orderComponentDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); } - /** - * 每达到阈值就批量插入一次订单造型数据和压缩数据 - * - * @param isLast 是否最后一次插入,不是就需要清理list - */ - private void orderModelsBatchInsertWithinThreshold(boolean isLast) { - // 达到批量的阈值就做一次插入 - if (CollUtil.isNotEmpty(orderModelDOS) && (orderModelDOS.size() >= BATCH_THRESHOLD_NUMBER || isLast)) { - // 保存订单造型数据 - orderInputProcessor.batchAsyncSaveModel(orderModelDOS); - if (!isLast) { - // 存储完成清理 list - orderModelDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); - } - } - } - /** * 保存数据 * orderBody、orderGroup