|
|
@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
@@ -37,7 +38,10 @@ import org.springblade.core.tool.utils.BeanUtil;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
import org.springblade.salesPart.corps.service.ICorpsDescService;
|
|
|
-import org.springblade.salesPart.entity.*;
|
|
|
+import org.springblade.salesPart.entity.PjCorpsDesc;
|
|
|
+import org.springblade.salesPart.entity.PjGoodsDesc;
|
|
|
+import org.springblade.salesPart.entity.PjGoodsType;
|
|
|
+import org.springblade.salesPart.entity.PjProductLaunch;
|
|
|
import org.springblade.salesPart.excel.GoodsDescExportExcel;
|
|
|
import org.springblade.salesPart.excel.GoodsExcel;
|
|
|
import org.springblade.salesPart.goods.service.IGoodsDescService;
|
|
|
@@ -295,6 +299,16 @@ public class GoodsDescController extends BladeController {
|
|
|
if (goodsDesc.getId() == null) {
|
|
|
return R.fail(500, "请选择数据");
|
|
|
}
|
|
|
+ if (0 == goodsDesc.getEnableOrNot()) {
|
|
|
+ long count = productLaunchService.count(new LambdaQueryWrapper<PjProductLaunch>()
|
|
|
+ .eq(PjProductLaunch::getIsDeleted, 0)
|
|
|
+ .eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjProductLaunch::getGoodsId, goodsDesc.getId())
|
|
|
+ .eq(PjProductLaunch::getUpAndDownShelves, 1));
|
|
|
+ if (count > 0) {
|
|
|
+ return R.fail(500, "该轮胎以上架,请先下架轮胎在进行操作");
|
|
|
+ }
|
|
|
+ }
|
|
|
boolean status = goodsDescService.updateById(goodsDesc);
|
|
|
return R.status(status);
|
|
|
}
|
|
|
@@ -333,9 +347,9 @@ public class GoodsDescController extends BladeController {
|
|
|
.eq(PjProductLaunch::getUpAndDownShelves, 1);
|
|
|
queryWrapper.apply("find_in_set(sales_company_id,'" + AuthUtil.getDeptId() + "')");
|
|
|
if (ObjectUtils.isNotNull(goods.getStock())) {
|
|
|
- queryWrapper.eq(PjProductLaunch::getBillType,0);
|
|
|
+ queryWrapper.eq(PjProductLaunch::getBillType, 0);
|
|
|
} else {
|
|
|
- queryWrapper.eq(PjProductLaunch::getBillType,1);
|
|
|
+ queryWrapper.eq(PjProductLaunch::getBillType, 1);
|
|
|
}
|
|
|
List<PjProductLaunch> pjProductLaunchList = productLaunchService.list(queryWrapper);
|
|
|
List<Long> ids = pjProductLaunchList.stream().map(PjProductLaunch::getGoodsId).distinct().collect(Collectors.toList());
|
|
|
@@ -361,6 +375,86 @@ public class GoodsDescController extends BladeController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 商品下拉 配件批发商品表
|
|
|
+ */
|
|
|
+ @GetMapping("/goodsPageXs")
|
|
|
+ @ApiOperationSupport(order = 12)
|
|
|
+ @ApiOperation(value = "商品下拉", notes = "传入goods")
|
|
|
+ public R<IPage<PjGoodsDesc>> goodsPageXs(PjGoodsDesc goods, Query query) {
|
|
|
+ LambdaQueryWrapper<PjProductLaunch> queryWrapper = new LambdaQueryWrapper<PjProductLaunch>()
|
|
|
+ .eq(PjProductLaunch::getIsDeleted, 0)
|
|
|
+ .ne(PjProductLaunch::getInventory, 0)
|
|
|
+ .eq(PjProductLaunch::getUpAndDownShelves, 1);
|
|
|
+ queryWrapper.apply("find_in_set(sales_company_id,'" + AuthUtil.getDeptId() + "')");
|
|
|
+ if (ObjectUtils.isNotNull(goods.getStock())) {
|
|
|
+ queryWrapper.eq(PjProductLaunch::getBillType, 0);
|
|
|
+ } else {
|
|
|
+ queryWrapper.eq(PjProductLaunch::getBillType, 1);
|
|
|
+ }
|
|
|
+ List<PjProductLaunch> pjProductLaunchList = productLaunchService.list(queryWrapper);
|
|
|
+ List<Long> ids = pjProductLaunchList.stream().map(PjProductLaunch::getGoodsId).distinct().collect(Collectors.toList());
|
|
|
+ PjCorpsDesc pjCorpsDesc = corpsDescService.getById(goods.getCustomId());
|
|
|
+ String priceSystem = "";
|
|
|
+ if (ObjectUtils.isNotNull(pjCorpsDesc)) {
|
|
|
+ priceSystem = pjCorpsDesc.getPriceSystem();
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<PjGoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjGoodsDesc::getIsDeleted, 0)
|
|
|
+ .eq(ObjectUtils.isNotNull(goods.getEnableOrNot()), PjGoodsDesc::getEnableOrNot, goods.getEnableOrNot())
|
|
|
+ .eq(ObjectUtils.isNotNull(goods.getBrandId()), PjGoodsDesc::getBrandId, goods.getBrandId())
|
|
|
+ .eq(ObjectUtils.isNotNull(goods.getSpecificationAndModel()), PjGoodsDesc::getSpecificationAndModel, goods.getSpecificationAndModel())
|
|
|
+ .eq(ObjectUtils.isNotNull(goods.getBrandItem()), PjGoodsDesc::getBrandItem, goods.getBrandItem());
|
|
|
+ if (ObjectUtil.isNotEmpty(goods.getCname())) {//商品名称
|
|
|
+ lambdaQueryWrapper.and(i -> i.like(PjGoodsDesc::getCname, goods.getCname()).or().like(PjGoodsDesc::getCnameInt, goods.getCname()));
|
|
|
+ }
|
|
|
+ //指定分类为一级分类,查询此分类所有二级分类的商品
|
|
|
+ if (StringUtils.isNotBlank(goods.getGoodsTypeId())) {
|
|
|
+ Long goodsId = Long.parseLong(goods.getGoodsTypeId());
|
|
|
+ List<Long> goodsIdList = new ArrayList<>();
|
|
|
+ selectChildById(goodsId, goodsIdList);
|
|
|
+ goodsIdList.add(goodsId);
|
|
|
+
|
|
|
+ lambdaQueryWrapper.in(PjGoodsDesc::getGoodsTypeId, goodsIdList);
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(ids) && ids.size() > 0) {
|
|
|
+ lambdaQueryWrapper.in(PjGoodsDesc::getId, ids);
|
|
|
+ } else {
|
|
|
+ return R.data(new Page<>());
|
|
|
+ }
|
|
|
+ IPage<PjGoodsDesc> list = goodsDescService.page(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
+ for (PjGoodsDesc item : list.getRecords()) {
|
|
|
+ if (pjProductLaunchList.size() > 0) {
|
|
|
+ PjProductLaunch pjProductLaunch = pjProductLaunchList.stream().filter(e -> e.getGoodsId().equals(item.getId())).findFirst().orElse(new PjProductLaunch());
|
|
|
+ if ("售价1".equals(priceSystem)) {
|
|
|
+ item.setPrice(pjProductLaunch.getPriceOne());
|
|
|
+ } else if ("售价2".equals(priceSystem)) {
|
|
|
+ item.setPrice(pjProductLaunch.getPriceTwo());
|
|
|
+ } else if ("售价3".equals(priceSystem)) {
|
|
|
+ item.setPrice(pjProductLaunch.getPriceThree());
|
|
|
+ } else if ("售价4".equals(priceSystem)) {
|
|
|
+ item.setPrice(pjProductLaunch.getPriceFour());
|
|
|
+ }
|
|
|
+ item.setSharedCompanyId(pjProductLaunch.getSourceCompanyId());
|
|
|
+ item.setSharedCompanyName(pjProductLaunch.getSourceCompanyName());
|
|
|
+ item.setInventory(pjProductLaunch.getInventory());
|
|
|
+ }
|
|
|
+ String typeId = item.getGoodsTypeId();
|
|
|
+ String[] split = typeId.split(",");
|
|
|
+ List<String> stringList = Arrays.asList(split);
|
|
|
+ LambdaQueryWrapper<PjGoodsType> goodsTypeLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ goodsTypeLambdaQueryWrapper.in(PjGoodsType::getId, stringList);
|
|
|
+ List<PjGoodsType> types = goodsDescType.list(goodsTypeLambdaQueryWrapper);
|
|
|
+ if (CollectionUtils.isNotEmpty(types)) {
|
|
|
+ List<String> typeStr = types.stream().map(PjGoodsType::getCname).collect(Collectors.toList());
|
|
|
+ item.setGoodsTypeName(typeStr.toString().replace("[", "").replace("]", ""));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return R.data(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 递归查询ID
|
|
|
*/
|
|
|
private void selectChildById(Long id, List<Long> idList) {
|
|
|
@@ -390,9 +484,9 @@ public class GoodsDescController extends BladeController {
|
|
|
.eq(PjProductLaunch::getUpAndDownShelves, 1);
|
|
|
lambdaQueryWrapper.apply("find_in_set(sales_company_id,'" + AuthUtil.getDeptId() + "')");
|
|
|
if (ObjectUtils.isNotNull(goods.getStock())) {
|
|
|
- lambdaQueryWrapper.eq(PjProductLaunch::getBillType,0);
|
|
|
+ lambdaQueryWrapper.eq(PjProductLaunch::getBillType, 0);
|
|
|
} else {
|
|
|
- lambdaQueryWrapper.eq(PjProductLaunch::getBillType,1);
|
|
|
+ lambdaQueryWrapper.eq(PjProductLaunch::getBillType, 1);
|
|
|
}
|
|
|
|
|
|
List<PjProductLaunch> pjProductLaunch = productLaunchService.list(lambdaQueryWrapper);
|