1、拉取组件业务数据接口order_plate和order_item批量改为2k;2、新增接入组件排单 相关四个接口:新增/删除排单、新增/删除小板;

This commit is contained in:
gaoqr
2026-07-31 16:09:09 +08:00
parent e77163dcf8
commit 31b3c82317
10 changed files with 477 additions and 9 deletions
@@ -104,6 +104,16 @@ public class ProducingOrderImportFactory {
*/
private static final int BATCH_THRESHOLD_NUMBER = 999;
/**
* 板件批量写入阈值。板件字段较多,单独设置以便与其他表的批量写入性能进行对比。
*/
private static final int ORDER_PLATE_BATCH_THRESHOLD_NUMBER = 2000;
/**
* 订单元素及关系批量写入阈值。
*/
private static final int ORDER_ITEM_BATCH_THRESHOLD_NUMBER = 2000;
private SnowFlakeGenerator snowFlakeGenerator;
private OrderMapper orderMapper;
@@ -173,8 +183,8 @@ public class ProducingOrderImportFactory {
// 对方 partsItems.idiMES 基础 order_item.id
private Map<String, String> partSerialNoMap = new LinkedHashMap<>();
private List<PlateDO> plateDOS = new ArrayList<>();
private List<OrderItemDO> orderItemDOS = new ArrayList<>();
private List<PlateDO> plateDOS = ListUtils.newArrayListWithExpectedSize(ORDER_PLATE_BATCH_THRESHOLD_NUMBER);
private List<OrderItemDO> orderItemDOS = ListUtils.newArrayListWithExpectedSize(ORDER_ITEM_BATCH_THRESHOLD_NUMBER);
private List<OrderPartsDO> orderPartsDOS = new ArrayList<>();
private List<GoodsDO> goodsDOS = new ArrayList<>();
private List<OrderComponentDO> orderComponentDOS = new ArrayList<>();
@@ -2388,7 +2398,7 @@ public class ProducingOrderImportFactory {
*/
private void orderPlateBatchInsertWithinThreshold(List<PlateDO> list, boolean isLast) {
// 达到批量的阈值就做一次插入
if (CollUtil.isNotEmpty(list) && (list.size() >= BATCH_THRESHOLD_NUMBER || isLast)) {
if (CollUtil.isNotEmpty(list) && (list.size() >= ORDER_PLATE_BATCH_THRESHOLD_NUMBER || isLast)) {
int batchRows = list.size();
long batchStartedAt = System.nanoTime();
long[] compressionNanos = {0L};
@@ -2495,7 +2505,7 @@ public class ProducingOrderImportFactory {
* 重建板件批量写入缓冲区。
*/
private void clearPlate() {
plateDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER);
plateDOS = ListUtils.newArrayListWithExpectedSize(ORDER_PLATE_BATCH_THRESHOLD_NUMBER);
}
/**
@@ -2506,7 +2516,7 @@ public class ProducingOrderImportFactory {
*/
private void orderItemBatchInsertWithinThreshold(List<OrderItemDO> list, boolean isLast) {
// 达到批量的阈值就做一次插入
if (CollUtil.isNotEmpty(list) && (list.size() >= BATCH_THRESHOLD_NUMBER || isLast)) {
if (CollUtil.isNotEmpty(list) && (list.size() >= ORDER_ITEM_BATCH_THRESHOLD_NUMBER || isLast)) {
int batchRows = list.size();
long batchStartedAt = System.nanoTime();
@@ -2573,7 +2583,7 @@ public class ProducingOrderImportFactory {
* 重建订单元素批量写入缓冲区。
*/
private void clearItem() {
orderItemDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER);
orderItemDOS = ListUtils.newArrayListWithExpectedSize(ORDER_ITEM_BATCH_THRESHOLD_NUMBER);
}
/**