出库库存修改
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package cn.ysk.cashier.service.impl.productimpl;
|
package cn.ysk.cashier.service.impl.productimpl;
|
||||||
|
|
||||||
|
import cn.ysk.cashier.pojo.product.TbProduct;
|
||||||
import cn.ysk.cashier.pojo.shop.TbShopPurveyor;
|
import cn.ysk.cashier.pojo.shop.TbShopPurveyor;
|
||||||
|
import cn.ysk.cashier.repository.product.TbProductRepository;
|
||||||
import cn.ysk.cashier.repository.shop.TbShopPurveyorRepository;
|
import cn.ysk.cashier.repository.shop.TbShopPurveyorRepository;
|
||||||
import cn.ysk.cashier.utils.*;
|
import cn.ysk.cashier.utils.*;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
@@ -60,6 +62,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
|
|||||||
private final EntityManager entityManager;
|
private final EntityManager entityManager;
|
||||||
|
|
||||||
private final RedisUtils redisUtils;
|
private final RedisUtils redisUtils;
|
||||||
|
private final TbProductRepository tbProductRepository;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -205,12 +208,20 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
TbProductSku tbProductSku = tbProductSkuRepository.findById(productListDto.getId()).orElseGet(TbProductSku::new);
|
TbProductSku tbProductSku = tbProductSkuRepository.findById(productListDto.getId()).orElseGet(TbProductSku::new);
|
||||||
|
|
||||||
|
TbProduct product = tbProductRepository.findById(Integer.valueOf(productListDto.getProductId())).orElseGet(TbProduct::new);
|
||||||
|
if (product.getId() == null) {
|
||||||
|
throw new BadRequestException("商品有误");
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean isDistribute = product.getIsDistribute() == 1;
|
||||||
|
|
||||||
TbProductStockDetail productStockDetail = new TbProductStockDetail();
|
TbProductStockDetail productStockDetail = new TbProductStockDetail();
|
||||||
productStockDetail.setBatchNumber(resources.getBatchNumber());
|
productStockDetail.setBatchNumber(resources.getBatchNumber());
|
||||||
productStockDetail.setCreatedAt(times);
|
productStockDetail.setCreatedAt(times);
|
||||||
productStockDetail.setUpdatedAt(times);
|
productStockDetail.setUpdatedAt(times);
|
||||||
productStockDetail.setIsStock(1);
|
productStockDetail.setIsStock(1);
|
||||||
Integer round = (int) Math.floor(tbProductSku.getStockNumber());
|
Integer round = (int) Math.floor(isDistribute ? product.getStockNumber() : tbProductSku.getStockNumber());
|
||||||
productStockDetail.setLeftNumber(round);
|
productStockDetail.setLeftNumber(round);
|
||||||
productStockDetail.setProductId(productListDto.getProductId());
|
productStockDetail.setProductId(productListDto.getProductId());
|
||||||
productStockDetail.setProductName(productListDto.getName());
|
productStockDetail.setProductName(productListDto.getName());
|
||||||
@@ -251,9 +262,14 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
|
|||||||
productStockDetail.setType(resources.getType());
|
productStockDetail.setType(resources.getType());
|
||||||
productStockDetail.setUnitName(productListDto.getUnitName());
|
productStockDetail.setUnitName(productListDto.getUnitName());
|
||||||
entityManager.persist(productStockDetail);
|
entityManager.persist(productStockDetail);
|
||||||
//sku数量
|
if (isDistribute) {
|
||||||
tbProductSku.setStockNumber(tbProductSku.getStockNumber() + productStockDetail.getStockNumber());
|
product.setStockNumber(product.getStockNumber() + productStockDetail.getStockNumber().intValue());
|
||||||
productSkuService.update(tbProductSku);
|
tbProductRepository.save(product);
|
||||||
|
} else {
|
||||||
|
//sku数量
|
||||||
|
tbProductSku.setStockNumber(tbProductSku.getStockNumber() + productStockDetail.getStockNumber());
|
||||||
|
productSkuService.update(tbProductSku);
|
||||||
|
}
|
||||||
idStockMap.put(productListDto.getId(), productStockDetail.getStockNumber());
|
idStockMap.put(productListDto.getId(), productStockDetail.getStockNumber());
|
||||||
}
|
}
|
||||||
redisUtils.redisUp(2, resources.getShopId(), idStockMap);
|
redisUtils.redisUp(2, resources.getShopId(), idStockMap);
|
||||||
|
|||||||
Reference in New Issue
Block a user