出库库存修改

This commit is contained in:
GYJ
2024-06-25 09:25:27 +08:00
parent 6f9488928c
commit f51fcece8e

View File

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