出库库存修改

This commit is contained in:
GYJ 2024-06-25 09:25:27 +08:00
parent 6f9488928c
commit f51fcece8e
1 changed files with 21 additions and 5 deletions

View File

@ -1,6 +1,8 @@
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.repository.product.TbProductRepository;
import cn.ysk.cashier.repository.shop.TbShopPurveyorRepository;
import cn.ysk.cashier.utils.*;
import com.alibaba.fastjson.JSON;
@ -60,6 +62,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
private final EntityManager entityManager;
private final RedisUtils redisUtils;
private final TbProductRepository tbProductRepository;
@Override
@ -205,12 +208,20 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
continue;
}
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();
productStockDetail.setBatchNumber(resources.getBatchNumber());
productStockDetail.setCreatedAt(times);
productStockDetail.setUpdatedAt(times);
productStockDetail.setIsStock(1);
Integer round = (int) Math.floor(tbProductSku.getStockNumber());
Integer round = (int) Math.floor(isDistribute ? product.getStockNumber() : tbProductSku.getStockNumber());
productStockDetail.setLeftNumber(round);
productStockDetail.setProductId(productListDto.getProductId());
productStockDetail.setProductName(productListDto.getName());
@ -251,9 +262,14 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
productStockDetail.setType(resources.getType());
productStockDetail.setUnitName(productListDto.getUnitName());
entityManager.persist(productStockDetail);
//sku数量
tbProductSku.setStockNumber(tbProductSku.getStockNumber() + productStockDetail.getStockNumber());
productSkuService.update(tbProductSku);
if (isDistribute) {
product.setStockNumber(product.getStockNumber() + productStockDetail.getStockNumber().intValue());
tbProductRepository.save(product);
} else {
//sku数量
tbProductSku.setStockNumber(tbProductSku.getStockNumber() + productStockDetail.getStockNumber());
productSkuService.update(tbProductSku);
}
idStockMap.put(productListDto.getId(), productStockDetail.getStockNumber());
}
redisUtils.redisUp(2, resources.getShopId(), idStockMap);
@ -316,4 +332,4 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
}
FileUtil.downloadExcel(list, response);
}
}
}