出入库成本价调整

This commit is contained in:
2024-06-26 18:25:41 +08:00
parent 358ad1b6e7
commit b315c23402

View File

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