mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
禅道bug#1590修复
This commit is contained in:
-1
@@ -537,7 +537,6 @@ public class DefaultOrderImportXmlParserHandler {
|
|||||||
.createTime(LocalDateTime.now())
|
.createTime(LocalDateTime.now())
|
||||||
.detail(JsonUtils.zipString(JSON.toJSONString(boxXmlVO)))
|
.detail(JsonUtils.zipString(JSON.toJSONString(boxXmlVO)))
|
||||||
.sort(sort++)
|
.sort(sort++)
|
||||||
.area(BigDecimal.ZERO)
|
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+30
-20
@@ -11,10 +11,8 @@ import com.cf.imes.framework.common.util.json.JsonUtils;
|
|||||||
import com.cf.imes.framework.id.core.util.SnowflakeIdWorker3rd;
|
import com.cf.imes.framework.id.core.util.SnowflakeIdWorker3rd;
|
||||||
import com.cf.imes.framework.redis.config.ChenfengCacheProperties;
|
import com.cf.imes.framework.redis.config.ChenfengCacheProperties;
|
||||||
import com.cf.imes.module.executor.enums.OrderStatusEnum;
|
import com.cf.imes.module.executor.enums.OrderStatusEnum;
|
||||||
import com.cf.imes.module.plan.dal.mysql.orderParts.PartsMapper;
|
|
||||||
import com.cf.imes.module.plan.dal.mysql.plate.PlateGoodMapper;
|
import com.cf.imes.module.plan.dal.mysql.plate.PlateGoodMapper;
|
||||||
import com.cf.imes.module.plan.service.customplateno.CustomPlateNoGenerateService;
|
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.OrderImportTaskService;
|
||||||
import com.cf.imes.module.plan.service.orderImport.factory.DefaultExcelOrderImportFactory;
|
import com.cf.imes.module.plan.service.orderImport.factory.DefaultExcelOrderImportFactory;
|
||||||
import com.cf.imes.framework.mq.rabbitmq.constant.RabbitMqConstants;
|
import com.cf.imes.framework.mq.rabbitmq.constant.RabbitMqConstants;
|
||||||
@@ -43,9 +41,9 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|||||||
import org.springframework.amqp.support.AmqpHeaders;
|
import org.springframework.amqp.support.AmqpHeaders;
|
||||||
import org.springframework.messaging.handler.annotation.Header;
|
import org.springframework.messaging.handler.annotation.Header;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.transaction.support.TransactionTemplate;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -113,21 +111,17 @@ public class DefaultExcelOrderImportConsumer {
|
|||||||
@Resource
|
@Resource
|
||||||
private PlateGoodMapper plateGoodMapper;
|
private PlateGoodMapper plateGoodMapper;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private OrderInputProcessor orderInputProcessor;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private PartsMapper partsMapper;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private CustomPlateNoGenerateService customPlateNoGenerateService;
|
private CustomPlateNoGenerateService customPlateNoGenerateService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ChenfengCacheProperties chenfengCacheProperties;
|
private ChenfengCacheProperties chenfengCacheProperties;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private TransactionTemplate transactionTemplate;
|
||||||
|
|
||||||
@RabbitListener(queues = RabbitMqConstants.ORDER_IMPORT_DEFAULT_EXCEL_QUEUE)
|
@RabbitListener(queues = RabbitMqConstants.ORDER_IMPORT_DEFAULT_EXCEL_QUEUE)
|
||||||
@DS("imes_prod")
|
@DS("imes_prod")
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public void orderImport(String message, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) throws Exception {
|
public void orderImport(String message, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) throws Exception {
|
||||||
log.info("====================【订单默认excel导入收到消息:{}】====================", message);
|
log.info("====================【订单默认excel导入收到消息:{}】====================", message);
|
||||||
Long organId = null;
|
Long organId = null;
|
||||||
@@ -156,16 +150,30 @@ public class DefaultExcelOrderImportConsumer {
|
|||||||
if (ObjectUtil.isNull(orderImportTaskDO)) {
|
if (ObjectUtil.isNull(orderImportTaskDO)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 创建订单
|
|
||||||
OrderDO orderDO = createOrder(taskId);
|
Long finalOrganId = organId;
|
||||||
// 创建工厂
|
String creator = orderImportTaskDO.getCreator();
|
||||||
log.info("====================【订单默认excel导入处理临时数据开始】====================");
|
transactionTemplate.execute(status -> {
|
||||||
DefaultExcelOrderImportFactory defaultExcelOrderImportFactory = new DefaultExcelOrderImportFactory(taskId, orderDO, organId, orderImportTaskDO.getCreator(),
|
try {
|
||||||
snowFlakeGenerator, idWorker, orderImportTaskMapper, orderImportTempDataMapper, dictDataApi, orderMapper, goodsMapper, rawGoodsMapper, orderPartsMapper,
|
// 创建订单
|
||||||
orderBodyMapper, orderGroupMapper, plateMapper, orderItemMapper, plateGoodMapper, orderInputProcessor, partsMapper, customPlateNoGenerateService);
|
OrderDO orderDO = createOrder(taskId);
|
||||||
// 解析临时表数据
|
// 创建工厂
|
||||||
defaultExcelOrderImportFactory.analyzeTempData();
|
log.info("====================【订单默认excel导入处理临时数据开始】====================");
|
||||||
log.info("====================【订单默认excel导入处理临时数据结束】====================");
|
DefaultExcelOrderImportFactory defaultExcelOrderImportFactory = new DefaultExcelOrderImportFactory(taskId, orderDO, finalOrganId, creator,
|
||||||
|
snowFlakeGenerator, idWorker, orderImportTaskMapper, orderImportTempDataMapper, dictDataApi, orderMapper, goodsMapper, rawGoodsMapper, orderPartsMapper,
|
||||||
|
orderBodyMapper, orderGroupMapper, plateMapper, orderItemMapper, plateGoodMapper, customPlateNoGenerateService);
|
||||||
|
// 解析临时表数据
|
||||||
|
defaultExcelOrderImportFactory.analyzeTempData();
|
||||||
|
log.info("====================【订单默认excel导入处理临时数据结束】====================");
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
status.setRollbackOnly();
|
||||||
|
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
});
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(ORDER_IMPORT_FAIL.getMsg(), e);
|
log.error(ORDER_IMPORT_FAIL.getMsg(), e);
|
||||||
orderImportTaskService.updateImportTaskFail(orderImportTaskDO, e);
|
orderImportTaskService.updateImportTaskFail(orderImportTaskDO, e);
|
||||||
@@ -206,6 +214,8 @@ public class DefaultExcelOrderImportConsumer {
|
|||||||
OrderDO newOrder = JSON.parseObject(orderTempDetail, OrderDO.class);
|
OrderDO newOrder = JSON.parseObject(orderTempDetail, OrderDO.class);
|
||||||
Long orderId = (Long) snowFlakeGenerator.nextId(null);
|
Long orderId = (Long) snowFlakeGenerator.nextId(null);
|
||||||
newOrder.setId(orderId);
|
newOrder.setId(orderId);
|
||||||
|
// todo 后续可能有子单需求?目前只创建主单
|
||||||
|
newOrder.setRootId(orderId);
|
||||||
orderMapper.insert(newOrder);
|
orderMapper.insert(newOrder);
|
||||||
// 订单id更新到导入任务表
|
// 订单id更新到导入任务表
|
||||||
orderImportTaskMapper.update(new LambdaUpdateWrapper<OrderImportTaskDO>()
|
orderImportTaskMapper.update(new LambdaUpdateWrapper<OrderImportTaskDO>()
|
||||||
|
|||||||
+12
-65
@@ -49,14 +49,12 @@ import com.cf.imes.module.plan.dal.mysql.orderImport.OrderImportTaskMapper;
|
|||||||
import com.cf.imes.module.plan.dal.mysql.orderImport.OrderImportTempDataMapper;
|
import com.cf.imes.module.plan.dal.mysql.orderImport.OrderImportTempDataMapper;
|
||||||
import com.cf.imes.module.plan.dal.mysql.orderItem.OrderItemMapper;
|
import com.cf.imes.module.plan.dal.mysql.orderItem.OrderItemMapper;
|
||||||
import com.cf.imes.module.plan.dal.mysql.orderParts.OrderPartsMapper;
|
import com.cf.imes.module.plan.dal.mysql.orderParts.OrderPartsMapper;
|
||||||
import com.cf.imes.module.plan.dal.mysql.orderParts.PartsMapper;
|
|
||||||
import com.cf.imes.module.plan.dal.mysql.plate.PlateGoodMapper;
|
import com.cf.imes.module.plan.dal.mysql.plate.PlateGoodMapper;
|
||||||
import com.cf.imes.module.plan.dal.mysql.plate.PlateMapper;
|
import com.cf.imes.module.plan.dal.mysql.plate.PlateMapper;
|
||||||
import com.cf.imes.module.plan.dal.mysql.rawgoods.RawGoodsMapper;
|
import com.cf.imes.module.plan.dal.mysql.rawgoods.RawGoodsMapper;
|
||||||
import com.cf.imes.module.plan.enums.ErrorCodeConstants;
|
import com.cf.imes.module.plan.enums.ErrorCodeConstants;
|
||||||
import com.cf.imes.module.plan.service.customplateno.CustomPlateNoGenerateService;
|
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.customplateno.vo.CustomPlateNoGenerateConfigVO;
|
||||||
import com.cf.imes.module.plan.service.order.OrderInputProcessor;
|
|
||||||
import com.cf.imes.module.system.api.dict.DictDataApi;
|
import com.cf.imes.module.system.api.dict.DictDataApi;
|
||||||
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
|
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -70,8 +68,6 @@ import java.util.List;
|
|||||||
|
|
||||||
import static com.cf.imes.module.plan.enums.ErrorCodeConstants.ORDER_IMPORT_PLATE_GOODS_NOMATCH_ERROR;
|
import static com.cf.imes.module.plan.enums.ErrorCodeConstants.ORDER_IMPORT_PLATE_GOODS_NOMATCH_ERROR;
|
||||||
import static com.cf.imes.module.plan.enums.ErrorCodeConstants.ORDER_IMPORT_PLATE_GOODS_NOT_EXISTS;
|
import static com.cf.imes.module.plan.enums.ErrorCodeConstants.ORDER_IMPORT_PLATE_GOODS_NOT_EXISTS;
|
||||||
import static com.cf.imes.module.plan.service.order.OrderInputProcessor.ORDER_PARTS_REMARK_MODEL;
|
|
||||||
import static com.cf.imes.module.plan.service.order.OrderInputProcessor.ORDER_PLATE_MODEL;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 默认excel导入订单工厂服务
|
* 默认excel导入订单工厂服务
|
||||||
@@ -154,10 +150,6 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
|
|
||||||
private PlateGoodMapper plateGoodMapper;
|
private PlateGoodMapper plateGoodMapper;
|
||||||
|
|
||||||
private OrderInputProcessor orderInputProcessor;
|
|
||||||
|
|
||||||
private PartsMapper partsMapper;
|
|
||||||
|
|
||||||
private String operatorName;
|
private String operatorName;
|
||||||
|
|
||||||
private CustomPlateNoGenerateService customPlateNoGenerateService;
|
private CustomPlateNoGenerateService customPlateNoGenerateService;
|
||||||
@@ -180,8 +172,6 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
PlateMapper plateMapper,
|
PlateMapper plateMapper,
|
||||||
OrderItemMapper orderItemMapper,
|
OrderItemMapper orderItemMapper,
|
||||||
PlateGoodMapper plateGoodMapper,
|
PlateGoodMapper plateGoodMapper,
|
||||||
OrderInputProcessor orderInputProcessor,
|
|
||||||
PartsMapper partsMapper,
|
|
||||||
CustomPlateNoGenerateService customPlateNoGenerateService) {
|
CustomPlateNoGenerateService customPlateNoGenerateService) {
|
||||||
this.taskId = taskId;
|
this.taskId = taskId;
|
||||||
this.orderDO = orderDO;
|
this.orderDO = orderDO;
|
||||||
@@ -202,8 +192,6 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
this.plateMapper = plateMapper;
|
this.plateMapper = plateMapper;
|
||||||
this.orderItemMapper = orderItemMapper;
|
this.orderItemMapper = orderItemMapper;
|
||||||
this.plateGoodMapper = plateGoodMapper;
|
this.plateGoodMapper = plateGoodMapper;
|
||||||
this.orderInputProcessor = orderInputProcessor;
|
|
||||||
this.partsMapper = partsMapper;
|
|
||||||
this.customPlateNoGenerateService = customPlateNoGenerateService;
|
this.customPlateNoGenerateService = customPlateNoGenerateService;
|
||||||
batchId = (Long) snowFlakeGenerator.nextId(null);
|
batchId = (Long) snowFlakeGenerator.nextId(null);
|
||||||
}
|
}
|
||||||
@@ -242,9 +230,6 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
// 完成所有流程后更新任务为导入成功
|
// 完成所有流程后更新任务为导入成功
|
||||||
updateTaskSuccess();
|
updateTaskSuccess();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// 数据库数据回滚,此时删除 ES 里的数据
|
|
||||||
orderInputProcessor.deleteByOrderIdBatch(orderId, batchId, ORDER_PLATE_MODEL);
|
|
||||||
orderInputProcessor.deleteByOrderIdBatch(orderId, batchId, ORDER_PARTS_REMARK_MODEL);
|
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
} finally {
|
||||||
// 解析结束后清理所有list
|
// 解析结束后清理所有list
|
||||||
@@ -398,9 +383,6 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
}
|
}
|
||||||
// 最后批量插入orderParts一次,避免最后一页小于BATCH_THRESHOLD_NUMBER漏插入
|
// 最后批量插入orderParts一次,避免最后一页小于BATCH_THRESHOLD_NUMBER漏插入
|
||||||
orderInfoBatchInsertWithinThreshold(orderPartsMapper, orderPartsDOS, true);
|
orderInfoBatchInsertWithinThreshold(orderPartsMapper, orderPartsDOS, true);
|
||||||
// orderInfoBatchInsertWithinThreshold(partsMapper, partsDOS, true);
|
|
||||||
// 批量插入配件备注
|
|
||||||
orderPartsRemarksBatchInsertWithinThreshold(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -490,23 +472,6 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
orderPartsRemark.setOrganId(organId);
|
orderPartsRemark.setOrganId(organId);
|
||||||
// 批量插入配件备注
|
// 批量插入配件备注
|
||||||
orderPartsRemarks.add(orderPartsRemark);
|
orderPartsRemarks.add(orderPartsRemark);
|
||||||
orderPartsRemarksBatchInsertWithinThreshold(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 每达到阈值就批量插入一次订单造型数据和压缩数据
|
|
||||||
*
|
|
||||||
* @param isLast 是否最后一次插入,不是就需要清理list
|
|
||||||
*/
|
|
||||||
private void orderPartsRemarksBatchInsertWithinThreshold(boolean isLast) {
|
|
||||||
// 达到批量的阈值就做一次插入
|
|
||||||
if (CollUtil.isNotEmpty(orderPartsRemarks) && (orderPartsRemarks.size() >= BATCH_THRESHOLD_NUMBER || isLast)) {
|
|
||||||
orderInputProcessor.batchSaveOrderPartsModel(orderPartsRemarks);
|
|
||||||
if (!isLast) {
|
|
||||||
// 存储完成清理 list
|
|
||||||
orderPartsRemarks.clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -528,8 +493,6 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
orderInfoBatchInsertWithinThreshold(orderGroupMapper, orderGroupDOS, true);
|
orderInfoBatchInsertWithinThreshold(orderGroupMapper, orderGroupDOS, true);
|
||||||
orderInfoBatchInsertWithinThreshold(plateMapper, plateDOS, true);
|
orderInfoBatchInsertWithinThreshold(plateMapper, plateDOS, true);
|
||||||
orderInfoBatchInsertWithinThreshold(orderItemMapper, orderItemDOS, true);
|
orderInfoBatchInsertWithinThreshold(orderItemMapper, orderItemDOS, true);
|
||||||
// 批量插入造型数据
|
|
||||||
orderModelsBatchInsertWithinThreshold(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -574,9 +537,10 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
List<OrderImportTempDataGoodsGroupDO> bodyNameGroup = orderImportTempDataMapper.selectBodyGroup(bodyNameGroupReqVO);
|
List<OrderImportTempDataGoodsGroupDO> bodyNameGroup = orderImportTempDataMapper.selectBodyGroup(bodyNameGroupReqVO);
|
||||||
// 生成房间id
|
// 生成房间id
|
||||||
Long roomId = (Long) snowFlakeGenerator.nextId(null);
|
Long roomId = (Long) snowFlakeGenerator.nextId(null);
|
||||||
|
int bodySort = 1;
|
||||||
for (OrderImportTempDataGoodsGroupDO bodyNameGroupDO : bodyNameGroup) {
|
for (OrderImportTempDataGoodsGroupDO bodyNameGroupDO : bodyNameGroup) {
|
||||||
// 创建orderBodyDO
|
// 创建orderBodyDO
|
||||||
OrderBodyDO orderBodyDO = createOrderBodyDO(roomName, roomId, bodyNameGroupDO);
|
OrderBodyDO orderBodyDO = createOrderBodyDO(roomName, roomId, bodyNameGroupDO, bodySort + 1);
|
||||||
// 批量插入orderBody
|
// 批量插入orderBody
|
||||||
orderBodyDOS.add(orderBodyDO);
|
orderBodyDOS.add(orderBodyDO);
|
||||||
orderInfoBatchInsertWithinThreshold(orderBodyMapper, orderBodyDOS, false);
|
orderInfoBatchInsertWithinThreshold(orderBodyMapper, orderBodyDOS, false);
|
||||||
@@ -782,10 +746,6 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
// 生成自定义板编号
|
// 生成自定义板编号
|
||||||
generateCustomPlateNo(plateDO);
|
generateCustomPlateNo(plateDO);
|
||||||
|
|
||||||
// 批量插入order_plate
|
|
||||||
plateDOS.add(plateDO);
|
|
||||||
orderInfoBatchInsertWithinThreshold(plateMapper, plateDOS, false);
|
|
||||||
|
|
||||||
OrderItemDO orderItemDO = OrderItemDO.builder()
|
OrderItemDO orderItemDO = OrderItemDO.builder()
|
||||||
.orderId(orderId)
|
.orderId(orderId)
|
||||||
.type(OrderItemTypeEnum.PLATE_ITEM.getStatus())
|
.type(OrderItemTypeEnum.PLATE_ITEM.getStatus())
|
||||||
@@ -793,7 +753,7 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
.bodyId(orderBodyDO.getId())
|
.bodyId(orderBodyDO.getId())
|
||||||
.plateId(plateId)
|
.plateId(plateId)
|
||||||
.num(1.0)
|
.num(1.0)
|
||||||
.groupId(StringUtils.isNotEmpty(groupTypeName) ? groupId : 0L)
|
.groupId(StringUtils.isNotEmpty(groupTypeName) ? groupId : null)
|
||||||
.organId(organId)
|
.organId(organId)
|
||||||
.packageId(0L)
|
.packageId(0L)
|
||||||
.partsId(0L)
|
.partsId(0L)
|
||||||
@@ -823,9 +783,12 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
orderModelDO.setCreator(operatorName);
|
orderModelDO.setCreator(operatorName);
|
||||||
orderModelDO.setUpdater(operatorName);
|
orderModelDO.setUpdater(operatorName);
|
||||||
orderModelDOS.add(orderModelDO);
|
orderModelDOS.add(orderModelDO);
|
||||||
|
// 创建造型数据
|
||||||
|
plateDO.setModelData(JsonUtils.zipString(JsonUtils.toJsonString(orderModelDO)));
|
||||||
|
|
||||||
// 批量插入造型数据
|
// 批量插入order_plate
|
||||||
orderModelsBatchInsertWithinThreshold(false);
|
plateDOS.add(plateDO);
|
||||||
|
orderInfoBatchInsertWithinThreshold(plateMapper, plateDOS, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -985,23 +948,6 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 每达到阈值就批量插入一次订单造型数据和压缩数据
|
|
||||||
*
|
|
||||||
* @param isLast 是否最后一次插入,不是就需要清理list
|
|
||||||
*/
|
|
||||||
private void orderModelsBatchInsertWithinThreshold(boolean isLast) {
|
|
||||||
// 达到批量的阈值就做一次插入
|
|
||||||
if (CollUtil.isNotEmpty(orderModelDOS) && (orderModelDOS.size() >= BATCH_THRESHOLD_NUMBER || isLast)) {
|
|
||||||
// 保存订单造型数据
|
|
||||||
orderInputProcessor.batchSaveModel(orderModelDOS);
|
|
||||||
if (!isLast) {
|
|
||||||
// 存储完成清理 list
|
|
||||||
orderModelDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页解析配件orderItem
|
* 分页解析配件orderItem
|
||||||
*
|
*
|
||||||
@@ -1013,7 +959,7 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
private void analyzePart(OrderBodyDO orderBodyDO, String groupTypeName, String groupName, Long groupId) {
|
private void analyzePart(OrderBodyDO orderBodyDO, String groupTypeName, String groupName, Long groupId) {
|
||||||
String roomName = orderBodyDO.getRoomName();
|
String roomName = orderBodyDO.getRoomName();
|
||||||
String bodyName = orderBodyDO.getName();
|
String bodyName = orderBodyDO.getName();
|
||||||
Long itemGroupId = StringUtils.isNotEmpty(groupTypeName) ? groupId : 0L;
|
Long itemGroupId = StringUtils.isNotEmpty(groupTypeName) ? groupId : null;
|
||||||
Long roomId = StringUtils.isNotEmpty(roomName) ? orderBodyDO.getRoomId() : 0L;
|
Long roomId = StringUtils.isNotEmpty(roomName) ? orderBodyDO.getRoomId() : 0L;
|
||||||
Long bodyId = StringUtils.isNotEmpty(bodyName) ? orderBodyDO.getId() : 0L;
|
Long bodyId = StringUtils.isNotEmpty(bodyName) ? orderBodyDO.getId() : 0L;
|
||||||
OrderImportTempDataReqVO groupNameListReqVO = OrderImportTempDataReqVO.builder().type(PART_TYPE).taskId(taskId).roomName(roomName).bodyName(bodyName).groupTypeName(groupTypeName).groupName(groupName).build();
|
OrderImportTempDataReqVO groupNameListReqVO = OrderImportTempDataReqVO.builder().type(PART_TYPE).taskId(taskId).roomName(roomName).bodyName(bodyName).groupTypeName(groupTypeName).groupName(groupName).build();
|
||||||
@@ -1072,7 +1018,7 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
* @param groupDO
|
* @param groupDO
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private OrderBodyDO createOrderBodyDO(String roomName, Long roomId, OrderImportTempDataGoodsGroupDO groupDO) {
|
private OrderBodyDO createOrderBodyDO(String roomName, Long roomId, OrderImportTempDataGoodsGroupDO groupDO, int bodySort) {
|
||||||
OrderBodyDO orderBodyDO = OrderBodyDO.builder()
|
OrderBodyDO orderBodyDO = OrderBodyDO.builder()
|
||||||
.id((Long) snowFlakeGenerator.nextId(null))
|
.id((Long) snowFlakeGenerator.nextId(null))
|
||||||
.orderId(orderId)
|
.orderId(orderId)
|
||||||
@@ -1082,7 +1028,8 @@ public class DefaultExcelOrderImportFactory {
|
|||||||
.width(0.0)
|
.width(0.0)
|
||||||
.height(0.0)
|
.height(0.0)
|
||||||
.depth(0.0)
|
.depth(0.0)
|
||||||
.multiNum(0)
|
.multiNum(1)
|
||||||
|
.multiSort(bodySort)
|
||||||
.unregularNum(0)
|
.unregularNum(0)
|
||||||
.filename("无")
|
.filename("无")
|
||||||
.remark("无")
|
.remark("无")
|
||||||
|
|||||||
+6
-6
@@ -19,6 +19,7 @@ import com.cf.imes.framework.id.core.util.SnowflakeIdWorker3rd;
|
|||||||
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
|
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
|
||||||
import com.cf.imes.framework.mybatis.core.injector.BaseBatchMapper;
|
import com.cf.imes.framework.mybatis.core.injector.BaseBatchMapper;
|
||||||
import com.cf.imes.module.executor.enums.DictTypeConstants;
|
import com.cf.imes.module.executor.enums.DictTypeConstants;
|
||||||
|
import com.cf.imes.module.executor.enums.OrderImportStatusEnum;
|
||||||
import com.cf.imes.module.executor.enums.OrderImportTmpDataTypeEnum;
|
import com.cf.imes.module.executor.enums.OrderImportTmpDataTypeEnum;
|
||||||
import com.cf.imes.module.executor.enums.OrderItemTypeEnum;
|
import com.cf.imes.module.executor.enums.OrderItemTypeEnum;
|
||||||
import com.cf.imes.module.plan.controller.admin.orderimport.vo.OrderImportTempDataReqVO;
|
import com.cf.imes.module.plan.controller.admin.orderimport.vo.OrderImportTempDataReqVO;
|
||||||
@@ -495,7 +496,6 @@ public class DefaultXmlOrderImportFactory {
|
|||||||
bodyBasePoint = roomBodyTempDataDO.getBodyPosition();
|
bodyBasePoint = roomBodyTempDataDO.getBodyPosition();
|
||||||
} else {
|
} else {
|
||||||
roomBodyTempDataDO.setPlateNum(roomBodyTempDataDO.getPlateNum() + 1);
|
roomBodyTempDataDO.setPlateNum(roomBodyTempDataDO.getPlateNum() + 1);
|
||||||
roomBodyTempDataDO.setArea(roomBodyTempDataDO.getArea().add(area));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -578,7 +578,7 @@ public class DefaultXmlOrderImportFactory {
|
|||||||
.orderId(orderId)
|
.orderId(orderId)
|
||||||
.type(OrderItemTypeEnum.PLATE_ITEM.getStatus())
|
.type(OrderItemTypeEnum.PLATE_ITEM.getStatus())
|
||||||
.plateId(plateId)
|
.plateId(plateId)
|
||||||
.groupId(Optional.ofNullable(groupTempDataDO).map(OrderImportTempDataDO::getInnerGroupId).orElse(0L))
|
.groupId(Optional.ofNullable(groupTempDataDO).map(OrderImportTempDataDO::getInnerGroupId).orElse(null))
|
||||||
.roomId(roomBodyTempDataDO.getInnerRoomId())
|
.roomId(roomBodyTempDataDO.getInnerRoomId())
|
||||||
.bodyId(roomBodyTempDataDO.getInnerBodyId())
|
.bodyId(roomBodyTempDataDO.getInnerBodyId())
|
||||||
.num(1.0)
|
.num(1.0)
|
||||||
@@ -1336,7 +1336,7 @@ public class DefaultXmlOrderImportFactory {
|
|||||||
.orderId(orderId)
|
.orderId(orderId)
|
||||||
.type(OrderItemTypeEnum.PARTS_ITEM.getStatus())
|
.type(OrderItemTypeEnum.PARTS_ITEM.getStatus())
|
||||||
.partsId(partId)
|
.partsId(partId)
|
||||||
.groupId(ObjectUtil.isNotNull(groupTempDataDO) ? groupTempDataDO.getInnerGroupId() : 0L)
|
.groupId(ObjectUtil.isNotNull(groupTempDataDO) ? groupTempDataDO.getInnerGroupId() : null)
|
||||||
.roomId(roomBodyTempDataDO.getInnerRoomId())
|
.roomId(roomBodyTempDataDO.getInnerRoomId())
|
||||||
.bodyId(roomBodyTempDataDO.getInnerBodyId())
|
.bodyId(roomBodyTempDataDO.getInnerBodyId())
|
||||||
.num(NumberUtil.toDouble(partRoomBodyGroupGroupDO.getPartsNum()))
|
.num(NumberUtil.toDouble(partRoomBodyGroupGroupDO.getPartsNum()))
|
||||||
@@ -1455,7 +1455,7 @@ public class DefaultXmlOrderImportFactory {
|
|||||||
.orderId(orderId)
|
.orderId(orderId)
|
||||||
.type(OrderItemTypeEnum.PARTS_ITEM.getStatus())
|
.type(OrderItemTypeEnum.PARTS_ITEM.getStatus())
|
||||||
.partsId(partId)
|
.partsId(partId)
|
||||||
.groupId(ObjectUtil.isNotNull(groupTempDataDO) ? groupTempDataDO.getInnerGroupId() : 0L)
|
.groupId(ObjectUtil.isNotNull(groupTempDataDO) ? groupTempDataDO.getInnerGroupId() : null)
|
||||||
.roomId(roomBodyTempDataDO.getInnerRoomId())
|
.roomId(roomBodyTempDataDO.getInnerRoomId())
|
||||||
.bodyId(roomBodyTempDataDO.getInnerBodyId())
|
.bodyId(roomBodyTempDataDO.getInnerBodyId())
|
||||||
.num(NumberUtil.toDouble(partRoomBodyGroupGroupDO.getPartsNum()))
|
.num(NumberUtil.toDouble(partRoomBodyGroupGroupDO.getPartsNum()))
|
||||||
@@ -1573,7 +1573,7 @@ public class DefaultXmlOrderImportFactory {
|
|||||||
.orderId(orderId)
|
.orderId(orderId)
|
||||||
.type(OrderItemTypeEnum.PARTS_ITEM.getStatus())
|
.type(OrderItemTypeEnum.PARTS_ITEM.getStatus())
|
||||||
.partsId(partId)
|
.partsId(partId)
|
||||||
.groupId(ObjectUtil.isNotNull(groupTempDataDO) ? groupTempDataDO.getInnerGroupId() : 0L)
|
.groupId(ObjectUtil.isNotNull(groupTempDataDO) ? groupTempDataDO.getInnerGroupId() : null)
|
||||||
.roomId(roomBodyTempDataDO.getInnerRoomId())
|
.roomId(roomBodyTempDataDO.getInnerRoomId())
|
||||||
.bodyId(roomBodyTempDataDO.getInnerBodyId())
|
.bodyId(roomBodyTempDataDO.getInnerBodyId())
|
||||||
.num(NumberUtil.toDouble(partRoomBodyGroupGroupDO.getPartsNum()))
|
.num(NumberUtil.toDouble(partRoomBodyGroupGroupDO.getPartsNum()))
|
||||||
@@ -1886,6 +1886,6 @@ public class DefaultXmlOrderImportFactory {
|
|||||||
* 更新为导入成功
|
* 更新为导入成功
|
||||||
*/
|
*/
|
||||||
private void updateTaskSuccess() {
|
private void updateTaskSuccess() {
|
||||||
// orderImportTaskMapper.update(new LambdaUpdateWrapper<OrderImportTaskDO>().eq(OrderImportTaskDO::getId, taskId).set(OrderImportTaskDO::getImportStatus, OrderImportStatusEnum.IMPORT_SUCCESS.getStatus()));
|
orderImportTaskMapper.update(new LambdaUpdateWrapper<OrderImportTaskDO>().eq(OrderImportTaskDO::getId, taskId).set(OrderImportTaskDO::getImportStatus, OrderImportStatusEnum.IMPORT_SUCCESS.getStatus()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user