Browse Source

历史发货单查询调整

v1.0
Yen 2 years ago
parent
commit
4b1e22804b
  1. 44
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  2. 7
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  3. 3
      src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java
  4. 2
      src/main/resources/mapper/goods/GoodsSpuMapper.xml

44
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -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);

7
src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java

@ -12,9 +12,11 @@ import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.BmsSupplierAddress; import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import com.qs.serve.modules.bms.service.BmsSupplierAddressService; import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.goods.entity.GoodsCategory; import com.qs.serve.modules.goods.entity.GoodsCategory;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSpu; import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.service.GoodsCategoryRuleService; import com.qs.serve.modules.goods.service.GoodsCategoryRuleService;
import com.qs.serve.modules.goods.service.GoodsCategoryService; import com.qs.serve.modules.goods.service.GoodsCategoryService;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSpuService; import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.oms.entity.OmsOrder; import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.entity.OmsOrderItem; import com.qs.serve.modules.oms.entity.OmsOrderItem;
@ -54,6 +56,7 @@ public class OmsOrderApi {
private SysUserService sysUserService; private SysUserService sysUserService;
private GoodsCategoryRuleService goodsCategoryRuleService; private GoodsCategoryRuleService goodsCategoryRuleService;
private GoodsSpuService goodsSpuService; private GoodsSpuService goodsSpuService;
private GoodsSkuService goodsSkuService;
private GoodsCategoryService goodsCategoryService; private GoodsCategoryService goodsCategoryService;
private SeeYonRequestBaseService seeYonRequestBaseService; private SeeYonRequestBaseService seeYonRequestBaseService;
@ -181,6 +184,10 @@ public class OmsOrderApi {
GoodsCategory goodsCategory = goodsCategoryService.getById(goodsSpu.getCategoryLast()); GoodsCategory goodsCategory = goodsCategoryService.getById(goodsSpu.getCategoryLast());
orderItem.setCategoryInfo(goodsCategory); orderItem.setCategoryInfo(goodsCategory);
orderItem.setSpuInfo(goodsSpu); orderItem.setSpuInfo(goodsSpu);
GoodsSku goodsSku = goodsSkuService.getById(orderItem.getSkuId());
if(goodsSku!=null){
orderItem.setSkuSpecialFlag(goodsSku.getSpecialFlag());
}
} }
omsOrder.setOrderItems(list); omsOrder.setOrderItems(list);
return R.ok(omsOrder); return R.ok(omsOrder);

3
src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java

@ -132,5 +132,8 @@ public class OmsOrderItem implements Serializable {
/** 分类 */ /** 分类 */
@TableField(exist = false) @TableField(exist = false)
private Object categoryInfo; private Object categoryInfo;
@TableField(exist = false)
private Integer skuSpecialFlag;
} }

2
src/main/resources/mapper/goods/GoodsSpuMapper.xml

@ -70,7 +70,7 @@
<sql id="skuWherePart"> <sql id="skuWherePart">
<if test="query.belong != null"> and (`goods_sku`.`belong` = #{query.belong} or goods_sku.special_flag=1) </if> <if test="query.belong != null"> and (`goods_sku`.`belong` = #{query.belong} or goods_sku.special_flag=1) </if>
<if test="query.selectSpecialFlag != null and query.selectSpecialFlag == 0"> <if test="query.selectSpecialFlag != null and query.selectSpecialFlag != -1">
and `goods_sku`.`special_flag` = #{query.selectSpecialFlag} and `goods_sku`.`special_flag` = #{query.selectSpecialFlag}
</if> </if>
<if test="query.orderFlag != null "> <if test="query.orderFlag != null ">

Loading…
Cancel
Save