出入库成本价调整

This commit is contained in:
SongZhang 2024-06-26 18:25:41 +08:00
parent 358ad1b6e7
commit b315c23402
1 changed files with 45 additions and 40 deletions

View File

@ -46,9 +46,9 @@ import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletResponse;
/**
* @author lyf
* @website https://eladmin.vip
* @description 服务实现
* @author lyf
* @date 2024-01-25
**/
@Service
@ -130,6 +130,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
/**
* 出库
*
* @param resources
* @return
*/
@ -257,7 +258,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
// 获取增加后的库存
double refundStockNum = getStockNum(product, tbProductSku, productListDto.getNumber(), false);
setProSpecInfo(product, refundStockNum,
setProSpecInfo(product, tbProductSku, refundStockNum,
productListDto.getCostPrice(), isDistribute);
break;
@ -269,7 +270,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
productStockDetail.setType("供应商出库");
// 获取增加后的库存
setProSpecInfo(product, getStockNum(product, tbProductSku, productListDto.getNumber(), false),
setProSpecInfo(product, tbProductSku, getStockNum(product, tbProductSku, productListDto.getNumber(), false),
productListDto.getCostPrice(), isDistribute);
break;
//后台入库
@ -282,7 +283,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
// 获取增加后的库存
double stockNum = getStockNum(product, tbProductSku, productListDto.getNumber(), true);
setProSpecInfo(product, stockNum,
setProSpecInfo(product, tbProductSku, stockNum,
productListDto.getCostPrice(), isDistribute);
break;
@ -295,7 +296,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
productStockDetail.setType("其他入库");
// 获取增加后的库存
setProSpecInfo(product, getStockNum(product, tbProductSku, productListDto.getNumber(), true),
setProSpecInfo(product, tbProductSku, getStockNum(product, tbProductSku, productListDto.getNumber(), true),
productListDto.getCostPrice(), isDistribute);
break;
case "other-out":
@ -307,7 +308,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
productStockDetail.setType("其他出库");
// 获取增加后的库存
setProSpecInfo(product, getStockNum(product, tbProductSku, productListDto.getNumber(), false),
setProSpecInfo(product, tbProductSku, getStockNum(product, tbProductSku, productListDto.getNumber(), false),
productListDto.getCostPrice(), isDistribute);
break;
default:
@ -344,7 +345,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
}
}
private void setProSpecInfo(TbProduct product, double num, BigDecimal cost, boolean isShareStock) {
private void setProSpecInfo(TbProduct product, TbProductSku productSku, double num, BigDecimal cost, boolean isShareStock) {
if (product.getSpecInfo() != null) {
JSONArray specInfoArr = JSON.parseArray(product.getSpecInfo());
for (Object item : specInfoArr) {
@ -352,7 +353,11 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe
if (isShareStock) {
jsonObject.put("stockNumber", num);
jsonObject.put("costPrice", cost);
}else if (product.getSpecInfo() != null && product.getSpecInfo().equals(jsonObject.getString("specSnap"))) {
} else if (productSku != null &&
(
productSku.getId().equals(jsonObject.getInteger("id")) ||
(productSku.getSpecSnap() != null && productSku.getSpecSnap().equals(jsonObject.getString("specSnap")))
)) {
jsonObject.put("stockNumber", num);
jsonObject.put("costPrice", cost);
break;