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