|
@@ -242,12 +242,14 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
|
|
|
// 获取订单sku
|
|
|
List<OrderSku> orderSkuList = orderSkuService.list(q -> q.in(OrderSku::getOrderId, orderIdList));
|
|
|
|
|
|
+ // 查询委外订单
|
|
|
+ Map<Long, OrderInfo> map = orderService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, orderIdList).eq(OrderInfo::getType, 2));
|
|
|
+
|
|
|
// 生成结果集
|
|
|
List<DocumentBySkuVo> documentBySkuVoList = orderSkuList.stream()
|
|
|
.map(item -> DocumentBySkuVo.builder()
|
|
|
.skuSpecId(item.getSkuSpecId())
|
|
|
.orderId(item.getOrderId())
|
|
|
- // 判断是否是委外订单,如果是委外订单时将bom数量修改为0
|
|
|
.quantity(item.getQuantity())
|
|
|
.unitPrice(item.getUnitPrice()
|
|
|
.add(item.getCustomProcessingFee())
|
|
@@ -262,7 +264,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
|
|
|
.peek(item -> item.setTotal(item.getSubtotal()))
|
|
|
.peek(item -> {
|
|
|
// 判断是否是委外订单,如果是委外订单时将bom数量修改为0
|
|
|
- OrderInfo orderInfo = orderService.getOne(q -> q.eq(OrderInfo::getId, item.getOrderId()).eq(OrderInfo::getType, 2));
|
|
|
+ OrderInfo orderInfo = map.get(item.getOrderId());
|
|
|
if (ObjectUtil.isNotEmpty(orderInfo)) {
|
|
|
item.setQuantity(BigDecimal.ZERO);
|
|
|
}
|
|
@@ -301,6 +303,8 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
|
|
|
if (orderIdList.size() == 0) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
+ // 查询委外订单
|
|
|
+ Map<Long, OrderInfo> map = orderService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, orderIdList).eq(OrderInfo::getType, 2));
|
|
|
|
|
|
// 获取订单sku
|
|
|
List<OrderSku> orderSkuList = orderSkuService.list(q -> q.in(OrderSku::getOrderId, orderIdList));
|
|
@@ -334,7 +338,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
|
|
|
.peek(item -> item.setTotal(item.getSubtotal()))
|
|
|
.peek(item -> {
|
|
|
// 判断是否是委外订单,如果是委外订单时将bom数量修改为0
|
|
|
- OrderInfo orderInfo = orderService.getOne(q -> q.eq(OrderInfo::getId, item.getOrderId()).eq(OrderInfo::getType, 2));
|
|
|
+ OrderInfo orderInfo = map.get(item.getOrderId());
|
|
|
if (ObjectUtil.isNotEmpty(orderInfo)) {
|
|
|
item.setQuantity(BigDecimal.ZERO);
|
|
|
}
|
|
@@ -526,6 +530,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
|
|
|
private List<DocumentByOrderVo.SkuSpec> getSkuSpecList(List<OrderSku> orderSkuList) {
|
|
|
|
|
|
List<Long> orderIdList = orderSkuList.stream().map(OrderSku::getOrderId).collect(Collectors.toList());
|
|
|
+ // 查询委外订单
|
|
|
Map<Long, OrderInfo> map = orderService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, orderIdList).eq(OrderInfo::getType, 2));
|
|
|
|
|
|
List<DocumentByOrderVo.SkuSpec> skuSpecList = orderSkuList.stream()
|
|
@@ -566,15 +571,15 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
|
|
|
* 获取订单bom
|
|
|
*/
|
|
|
private List<DocumentByOrderVo.BomSpec> getBomSpecList(List<Long> orderIdList, List<OrderSku> orderSkuList) {
|
|
|
+ // 查询委外订单
|
|
|
+ Map<Long, OrderInfo> orderMap = orderService.mapKEntity(BaseIdPo::getId, q -> q.in(BaseIdPo::getId, orderIdList).eq(OrderInfo::getType, 2));
|
|
|
|
|
|
List<DocumentByOrderVo.BomSpec> bomSpecList = orderSkuList.stream()
|
|
|
.map(item -> DocumentByOrderVo.BomSpec.builder()
|
|
|
.orderSkuId(item.getId())
|
|
|
.bomSpecId(item.getBomSpecId())
|
|
|
// 判断是否是委外订单,如果是委外订单时将bom数量修改为0
|
|
|
- .quantity(ObjectUtil.isNotEmpty(
|
|
|
- orderService.getOne(q -> q
|
|
|
- .eq(OrderInfo::getId, item.getOrderId()).eq(OrderInfo::getType, 2)))
|
|
|
+ .quantity(ObjectUtil.isNotEmpty(orderMap.get(item.getOrderId()))
|
|
|
? BigDecimal.ZERO : item.getQuantity())
|
|
|
.unitPrice(item.getUnitPrice())
|
|
|
.laserLogoSummary((Objects.equals(item.getCustomProcessingType(), "20")
|