|
@@ -195,10 +195,19 @@ public class JxGoodsLogic {
|
|
|
try {
|
|
|
//添加库存
|
|
|
this.addMaterialNum(goodsPurchaseItem.getGoodsMaterialId(), goodsPurchaseItem.getInsideQty(), goodsPurchaseItem.getOutQty(),
|
|
|
- goodsPurchaseItem.getPartsQty(), goodsPurchaseItem.getQty(), id, goodsPurchaseItem.getPrice(),goodsPurchase.getStorageId(),goodsPurchase.getStorageName());
|
|
|
+ goodsPurchaseItem.getPartsQty(), goodsPurchaseItem.getQty(), id, goodsPurchaseItem.getPrice(),
|
|
|
+ goodsPurchase.getStorageId(), goodsPurchase.getStorageName());
|
|
|
+// this.addMaterialNum(goodsPurchaseItem.getGoodsMaterialId(), goodsPurchaseItem.getInsideQty(), goodsPurchaseItem.getOutQty(),
|
|
|
+// goodsPurchaseItem.getPartsQty(), goodsPurchaseItem.getQty(), id, goodsPurchaseItem.getPrice(),
|
|
|
+// goodsPurchase.getWebsitId(), goodsPurchase.getWebsitName(), goodsPurchase.getStorageId(), goodsPurchase.getStorageName());
|
|
|
|
|
|
goodsMaterialStockAccLogic.add(goodsPurchaseItem.getGoodsMaterialId(), goodsPurchaseItem.getPrice(), goodsPurchaseItem.getQty(),
|
|
|
- DirectFlagEnum.ADD, goodsPurchaseItem.getGoodsPurchaseId(), GoodsMaterialStockAccBillTypeEnum.B,goodsPurchase.getStorageId(),goodsPurchase.getStorageName());
|
|
|
+ DirectFlagEnum.ADD, goodsPurchaseItem.getGoodsPurchaseId(), GoodsMaterialStockAccBillTypeEnum.B,
|
|
|
+ goodsPurchase.getStorageId(), goodsPurchase.getStorageName());
|
|
|
+
|
|
|
+// goodsMaterialStockAccLogic.add(goodsPurchaseItem.getGoodsMaterialId(), goodsPurchaseItem.getPrice(), goodsPurchaseItem.getQty(),
|
|
|
+// DirectFlagEnum.ADD, goodsPurchaseItem.getGoodsPurchaseId(), GoodsMaterialStockAccBillTypeEnum.B,
|
|
|
+// goodsPurchase.getWebsitId(), goodsPurchase.getWebsitName(), goodsPurchase.getStorageId(), goodsPurchase.getStorageName());
|
|
|
|
|
|
//变化成本价
|
|
|
this.changeCost(goodsPurchaseItem.getGoodsMaterialId(), goodsPurchaseItem);
|
|
@@ -534,11 +543,57 @@ public class JxGoodsLogic {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private void addMaterialNum(String goodsMaterialId, Integer insideQty, Integer outQty, Integer partsQty, Integer qty,
|
|
|
+ String id, BigDecimal price, String storageId, String storageName) {
|
|
|
|
|
|
- private void addMaterialNum(String goodsMaterialId, Integer insideQty, Integer outQty, Integer partsQty, Integer qty, String id, BigDecimal price,String storageId,String storageName) {
|
|
|
+ GoodsMaterialStorage goodsMaterialStorage = goodsMaterialStorageService.lambdaQuery()
|
|
|
+ .eq(GoodsMaterialStorage::getGoodsMaterialId, goodsMaterialId)
|
|
|
+ .eq(GoodsMaterialStorage::getStorageId, storageId)
|
|
|
+ .last("limit 1")
|
|
|
+ .one();
|
|
|
|
|
|
- GoodsMaterialStorage goodsMaterialStorage = goodsMaterialStorageService.lambdaQuery().eq(GoodsMaterialStorage::getGoodsMaterialId, goodsMaterialId)
|
|
|
- .eq(GoodsMaterialStorage::getStorageId, storageId).last("limit 1").one();
|
|
|
+ GoodsMaterial goodsMaterial = goodsMaterialService.getById(goodsMaterialId);
|
|
|
+
|
|
|
+ if (goodsMaterialStorage == null) {
|
|
|
+ GoodsMaterialStorage goodsMaterialStoragein = BeanUtil.toBean(goodsMaterial, GoodsMaterialStorage.class);
|
|
|
+ goodsMaterialStoragein.setId(null);
|
|
|
+ goodsMaterialStoragein.setGoodsMaterialId(goodsMaterialId);
|
|
|
+ goodsMaterialStoragein.setStorageId(storageId);
|
|
|
+ goodsMaterialStoragein.setStorageName(storageName);
|
|
|
+ goodsMaterialStoragein.setInsideQty(insideQty);
|
|
|
+ goodsMaterialStoragein.setOutQty(outQty);
|
|
|
+ goodsMaterialStoragein.setPartsQty(partsQty);
|
|
|
+ goodsMaterialStoragein.setStockQty(qty);
|
|
|
+ goodsMaterialStoragein.setAmount(price);
|
|
|
+ goodsMaterialStoragein.insert();
|
|
|
+ } else {
|
|
|
+ goodsMaterialStorage.setInsideQty(goodsMaterial.getInsideQty() + insideQty);
|
|
|
+ goodsMaterialStorage.setOutQty(goodsMaterial.getOutQty() + outQty);
|
|
|
+ goodsMaterialStorage.setPartsQty(goodsMaterial.getPartsQty() + partsQty);
|
|
|
+ goodsMaterialStorage.setStockQty(goodsMaterialStorage.getStockQty() + qty);
|
|
|
+ goodsMaterialStorage.setAmount(price);
|
|
|
+ goodsMaterialStorage.updateById();
|
|
|
+ }
|
|
|
+
|
|
|
+ //添加批次库存
|
|
|
+ GoodsMaterialAcc goodsMaterialAcc = new GoodsMaterialAcc();
|
|
|
+ goodsMaterialAcc.setGoodsMaterialId(goodsMaterialId);
|
|
|
+ goodsMaterialAcc.setOrderId(id);
|
|
|
+ goodsMaterialAcc.setStockQty(qty);
|
|
|
+ goodsMaterialAcc.setPrice(price);
|
|
|
+ goodsMaterialAcc.insert();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void addMaterialNum(String goodsMaterialId, Integer insideQty, Integer outQty, Integer partsQty, Integer qty,
|
|
|
+ String id, BigDecimal price, String websitId, String websitName, String storageId, String storageName) {
|
|
|
+
|
|
|
+ GoodsMaterialStorage goodsMaterialStorage = goodsMaterialStorageService.lambdaQuery()
|
|
|
+ .eq(GoodsMaterialStorage::getGoodsMaterialId, goodsMaterialId)
|
|
|
+ .eq(GoodsMaterialStorage::getWebsitId, websitId)
|
|
|
+ .eq(GoodsMaterialStorage::getStorageId, storageId)
|
|
|
+ .last("limit 1")
|
|
|
+ .one();
|
|
|
|
|
|
GoodsMaterial goodsMaterial = goodsMaterialService.getById(goodsMaterialId);
|
|
|
|
|
@@ -546,6 +601,8 @@ public class JxGoodsLogic {
|
|
|
GoodsMaterialStorage goodsMaterialStoragein = BeanUtil.toBean(goodsMaterial, GoodsMaterialStorage.class);
|
|
|
goodsMaterialStoragein.setId(null);
|
|
|
goodsMaterialStoragein.setGoodsMaterialId(goodsMaterialId);
|
|
|
+ goodsMaterialStoragein.setWebsitId(websitId);
|
|
|
+ goodsMaterialStoragein.setWebsitName(websitName);
|
|
|
goodsMaterialStoragein.setStorageId(storageId);
|
|
|
goodsMaterialStoragein.setStorageName(storageName);
|
|
|
goodsMaterialStoragein.setInsideQty(insideQty);
|
|
@@ -554,7 +611,7 @@ public class JxGoodsLogic {
|
|
|
goodsMaterialStoragein.setStockQty(qty);
|
|
|
goodsMaterialStoragein.setAmount(price);
|
|
|
goodsMaterialStoragein.insert();
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
goodsMaterialStorage.setInsideQty(goodsMaterial.getInsideQty() + insideQty);
|
|
|
goodsMaterialStorage.setOutQty(goodsMaterial.getOutQty() + outQty);
|
|
|
goodsMaterialStorage.setPartsQty(goodsMaterial.getPartsQty() + partsQty);
|
|
@@ -1127,7 +1184,8 @@ public class JxGoodsLogic {
|
|
|
this.subMaterialStock(goodsPurchaseRetItem.getGoodsMaterialId(), goodsPurchaseRetItem.getRetQty(), goodsPurchaseRet.getGoodsPurchaseId(),goodsPurchaseRet.getStorageId());
|
|
|
|
|
|
goodsMaterialStockAccLogic.add(goodsPurchaseRetItem.getGoodsMaterialId(), goodsPurchaseRetItem.getPrice(), goodsPurchaseRetItem.getRetQty(),
|
|
|
- DirectFlagEnum.SUB, goodsPurchaseRetItem.getGoodsPurchaseRetId(), GoodsMaterialStockAccBillTypeEnum.C,goodsPurchaseRet.getStorageId(),goodsPurchaseRet.getStorageName());
|
|
|
+ DirectFlagEnum.SUB, goodsPurchaseRetItem.getGoodsPurchaseRetId(),
|
|
|
+ GoodsMaterialStockAccBillTypeEnum.C,goodsPurchaseRet.getStorageId(), goodsPurchaseRet.getStorageName());
|
|
|
|
|
|
//变化成本价
|
|
|
this.changeRefundCost(goodsPurchaseRetItem.getGoodsMaterialId(), goodsPurchaseRetItem);
|