|
@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ruoyi.common.constant.StatusConstant;
|
|
|
+import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
|
import com.sd.business.entity.bom.po.BomSpec;
|
|
|
import com.sd.business.entity.order.dto.BulkOrderConfirmDto;
|
|
@@ -40,6 +41,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -234,11 +236,20 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
BeanUtil.copyProperties(dto, orderMessage);
|
|
|
orderMessage.setOperator(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
|
|
|
- List<OrderSkuDetail> orderSkuDetailList = BeanUtil.copyToList(dto.getOrderSkuList(), OrderSkuDetail.class);
|
|
|
- // 赋值mes系统bom id
|
|
|
- bomSpecService.attributeAssign(orderSkuDetailList, OrderSkuDetail::getBomSpecId, (item, bomSpec) -> {
|
|
|
- item.setBomSpecId(bomSpec.getMesId());
|
|
|
- });
|
|
|
+ List<OrderSkuDto> orderSkuList = dto.getOrderSkuList();
|
|
|
+ List<Long> bomSpecIds = orderSkuList.stream().map(OrderSku::getBomSpecId).collect(Collectors.toList());
|
|
|
+ Map<Long, Long> bomSpecMap = bomSpecService.mapKV(BaseIdPo::getId, BomSpec::getMesId, q -> q.in(BaseIdPo::getId, bomSpecIds));
|
|
|
+
|
|
|
+ List<OrderSkuDetail> orderSkuDetailList = orderSkuList.stream().map(item -> {
|
|
|
+ OrderSkuDetail orderSkuDetail = new OrderSkuDetail();
|
|
|
+ orderSkuDetail.setBomSpecId(bomSpecMap.get(item.getBomSpecId()));
|
|
|
+ orderSkuDetail.setPackagingSet(item.getPackagingSet());
|
|
|
+ orderSkuDetail.setQuantity(item.getQuantity());
|
|
|
+ orderSkuDetail.setPrintType(item.getPrintType());
|
|
|
+ orderSkuDetail.setBlueprint(item.getProofingImg());
|
|
|
+ orderSkuDetail.setProductionDocument(item.getProductionDocument());
|
|
|
+ return orderSkuDetail;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
orderMessage.setOrderSkuDetailList(orderSkuDetailList);
|
|
|
RabbitMqUtil.send(OrderConfig.DIRECT_EXCHANGE_NAME, OrderConfig.KX_ORDER_ADD_NAME, orderMessage);
|
|
|
}
|