|
@ -148,10 +148,47 @@ public class GoodsSpuController { |
|
|
LocalDate date = LocalDate.now().plusMonths(-2); |
|
|
LocalDate date = LocalDate.now().plusMonths(-2); |
|
|
List<String> invCodes = dispatchDataMapper.selectLast2MonthInvCode(date,query.getSupplierCode()); |
|
|
List<String> invCodes = dispatchDataMapper.selectLast2MonthInvCode(date,query.getSupplierCode()); |
|
|
if(CollectionUtil.isNotEmpty(invCodes)){ |
|
|
if(CollectionUtil.isNotEmpty(invCodes)){ |
|
|
List<GoodsSku> goodsSkus = goodsSkuService.getByCodes(invCodes); |
|
|
LambdaQueryWrapper<GoodsSku> skuLqw = new LambdaQueryWrapper<>(); |
|
|
List<GoodsSpu> goodsSpuList = new ArrayList<>(); |
|
|
skuLqw.in(GoodsSku::getSkuCode,invCodes); |
|
|
|
|
|
skuLqw.and(an->{ |
|
|
|
|
|
an.eq(GoodsSku::getSpecialFlag,1).or().eq(GoodsSku::getOrderFlag,1); |
|
|
|
|
|
}); |
|
|
|
|
|
List<GoodsSku> goodsSkus = goodsSkuService.list(skuLqw); |
|
|
|
|
|
|
|
|
|
|
|
List<Long> spuIds = goodsSkus.stream().map(GoodsSku::getSpuId).distinct().collect(Collectors.toList()); |
|
|
|
|
|
List<Long> spuSpecIds = goodsSkus.stream().filter(a->a.getSpecialFlag()!=null |
|
|
|
|
|
&&a.getSpecialFlag().equals(1)).map(GoodsSku::getSpuId).distinct().collect(Collectors.toList()); |
|
|
|
|
|
spuSpecIds.add(0L); |
|
|
|
|
|
|
|
|
|
|
|
LambdaQueryWrapper<GoodsSpu> spuLqw = new LambdaQueryWrapper<>(); |
|
|
|
|
|
spuLqw.in(GoodsSpu::getId,spuIds); |
|
|
|
|
|
spuLqw.eq(GoodsSpu::getShelf,1); |
|
|
|
|
|
spuLqw.and(an->{ |
|
|
|
|
|
an.eq(GoodsSpu::getOrderFlag,1) |
|
|
|
|
|
.or().in(GoodsSpu::getId,spuSpecIds); |
|
|
|
|
|
}); |
|
|
|
|
|
spuLqw.eq(GoodsSpu::getOrderFlag,1); |
|
|
|
|
|
if(CollectionUtil.isNotEmpty(query.getCateIds())){ |
|
|
|
|
|
spuLqw.and(an->{ |
|
|
|
|
|
an.notIn(GoodsSpu::getCategoryFirst,query.getCateIds()) |
|
|
|
|
|
.or().notIn(GoodsSpu::getCategorySecond,query.getCateIds()) |
|
|
|
|
|
.or().notIn(GoodsSpu::getCategoryThird,query.getCateIds()); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<GoodsSpu> goodsSpuList = goodsSpuService.list(spuLqw); |
|
|
for (GoodsSku sku : goodsSkus) { |
|
|
for (GoodsSku sku : goodsSkus) { |
|
|
GoodsSpu spu = goodsSpuService.getById(sku.getSpuId()); |
|
|
GoodsSpu spu = null; |
|
|
|
|
|
for (GoodsSpu goodsSpu : goodsSpuList) { |
|
|
|
|
|
if(goodsSpu.getId().equals(sku.getSpuId())){ |
|
|
|
|
|
spu = goodsSpu; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(spu==null){ |
|
|
|
|
|
log.warn("无法匹配spuId skuCode:{}",sku.getSkuCode()); |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
GoodsCategory cate1 = goodsCategoryService.getById(spu.getCategoryFirst()); |
|
|
GoodsCategory cate1 = goodsCategoryService.getById(spu.getCategoryFirst()); |
|
|
if(cate1!=null){ |
|
|
if(cate1!=null){ |
|
|
spu.setCateFirstLabel(cate1.getName()); |
|
|
spu.setCateFirstLabel(cate1.getName()); |
|
@ -166,6 +203,7 @@ public class GoodsSpuController { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
spu.toSetSkuInfo(sku); |
|
|
spu.toSetSkuInfo(sku); |
|
|
|
|
|
spu.setSkuSpecialFlag(sku.getSpecialFlag()); |
|
|
goodsSpuList.add(spu); |
|
|
goodsSpuList.add(spu); |
|
|
} |
|
|
} |
|
|
this.initSpuWithCustomerPrice(query.getSupplierCode(), goodsSpuList,invCodes); |
|
|
this.initSpuWithCustomerPrice(query.getSupplierCode(), goodsSpuList,invCodes); |
|
|