1、cad拆单移除es新增造型数据;2、未排单列表暂时移除es造型数据;

This commit is contained in:
gaoqr
2026-05-08 09:35:51 +08:00
parent 3a8c875121
commit 8ad17c34c5
6 changed files with 8 additions and 87 deletions
@@ -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();
@@ -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异步拆单处理临时数据结束】====================");
@@ -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
*
@@ -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