Subversion Repositories SmartDukaan

Rev

Rev 23377 | Rev 23382 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 23377 Rev 23381
Line 271... Line 271...
271
			}
271
			}
272
		}
272
		}
273
 
273
 
274
		Map<Integer, Set<InventoryItem>> serializedInventoryItemMap = new HashMap<>();
274
		Map<Integer, Set<InventoryItem>> serializedInventoryItemMap = new HashMap<>();
275
		Map<Integer, Set<InventoryItem>> nonSerializedInventoryItemMap = new HashMap<>();
275
		Map<Integer, Set<InventoryItem>> nonSerializedInventoryItemMap = new HashMap<>();
276
		Map<Integer, List<Float>> itemIdPriceDropAmount = new HashMap<>();
-
 
277
		//Map<String, Float> serialNumberItemPrice = new HashMap<>();
-
 
278
		
276
		
279
		if (!serialNumbers.isEmpty()){
277
		if (!serialNumbers.isEmpty()){
280
			List<InventoryItem> serializedInventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId, serialNumbers);
278
			List<InventoryItem> serializedInventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId, serialNumbers);
281
			LOGGER.info("serializedInventoryItems {}", serializedInventoryItems);
279
			LOGGER.info("serializedInventoryItems {}", serializedInventoryItems);
282
			for (InventoryItem inventoryItem : serializedInventoryItems){
280
			for (InventoryItem inventoryItem : serializedInventoryItems){
283
				if (inventoryItem.getGoodQuantity() == 1){
281
				if (inventoryItem.getGoodQuantity() == 1){
284
					if (serializedInventoryItemMap.containsKey(inventoryItem.getItemId())){
282
					if (serializedInventoryItemMap.containsKey(inventoryItem.getItemId())){
285
						serializedInventoryItemMap.get(inventoryItem.getItemId()).add(inventoryItem);
283
						serializedInventoryItemMap.get(inventoryItem.getItemId()).add(inventoryItem);
286
						itemIdPriceDropAmount.get(inventoryItem.getItemId()).
-
 
287
						add(inventoryItem.getUnitPrice() - inventoryItem.getPriceDropAmount());
-
 
288
					}
284
					}
289
					else{
285
					else{
290
						Set<InventoryItem> itemIdInventoryItems = new HashSet<>();
286
						Set<InventoryItem> itemIdInventoryItems = new HashSet<>();
291
						itemIdInventoryItems.add(inventoryItem);
287
						itemIdInventoryItems.add(inventoryItem);
292
						serializedInventoryItemMap.put(inventoryItem.getItemId(), itemIdInventoryItems);
288
						serializedInventoryItemMap.put(inventoryItem.getItemId(), itemIdInventoryItems);
293
						ArrayList<Float> priceDropAmouts = new ArrayList<>();
289
						ArrayList<Float> priceDropAmouts = new ArrayList<>();
294
						priceDropAmouts.add(inventoryItem.getUnitPrice() - (inventoryItem.getPriceDropAmount()));
290
						priceDropAmouts.add(inventoryItem.getUnitPrice() - (inventoryItem.getPriceDropAmount()));
295
						itemIdPriceDropAmount.put(inventoryItem.getItemId(), priceDropAmouts);
-
 
296
					}
291
					}
297
				}
292
				}
298
			}
293
			}
299
		}
294
		}
300
 
295
 
Line 399... Line 394...
399
				LOGGER.error("Unable to get state rates");
394
				LOGGER.error("Unable to get state rates");
400
			}
395
			}
401
		}
396
		}
402
		
397
		
403
		for(CustomFofoOrderItem customFofoOrderItem : createOrderRequest.getFofoOrderItems()){
398
		for(CustomFofoOrderItem customFofoOrderItem : createOrderRequest.getFofoOrderItems()){
404
			FofoOrderItem fofoOrderItem = this.createAndGetFofoOrderItem(customFofoOrderItem, fofoOrder.getId(), itemMap, inventoryItemsToBill.get(customFofoOrderItem.getItemId()), itemIdPriceDropAmount, stateId);
399
			FofoOrderItem fofoOrderItem = this.createAndGetFofoOrderItem(customFofoOrderItem, fofoOrder.getId(), itemMap, inventoryItemsToBill.get(customFofoOrderItem.getItemId()), stateId);
405
			
400
			
406
			Set<InventoryItem> inventoryItems = inventoryItemsToBill.get(customFofoOrderItem.getItemId());
401
			Set<InventoryItem> inventoryItems = inventoryItemsToBill.get(customFofoOrderItem.getItemId());
407
			
402
			
408
			this.createFofoLineItem(fofoOrderItem.getId(), inventoryItems, inventoryItemIdQuantityUsed);
403
			this.createFofoLineItem(fofoOrderItem.getId(), inventoryItems, inventoryItemIdQuantityUsed);
409
			
404
			
Line 751... Line 746...
751
	}
746
	}
752
	
747
	
753
	private Set<String> toSerialNumbers(Set<FofoLineItem> fofoLineItems){
748
	private Set<String> toSerialNumbers(Set<FofoLineItem> fofoLineItems){
754
		Set<String> serialNumbers = new HashSet<>();
749
		Set<String> serialNumbers = new HashSet<>();
755
		for(FofoLineItem fofoLineItem : fofoLineItems) {
750
		for(FofoLineItem fofoLineItem : fofoLineItems) {
756
			if(fofoLineItem.getSerialNumber() != null && fofoLineItem.getSerialNumber().isEmpty()) {
751
			if(fofoLineItem.getSerialNumber() != null && !fofoLineItem.getSerialNumber().isEmpty()) {
757
				serialNumbers.add(fofoLineItem.getSerialNumber());
752
				serialNumbers.add(fofoLineItem.getSerialNumber());
758
			}
753
			}
759
		}
754
		}
760
		return serialNumbers;
755
		return serialNumbers;
761
	}
756
	}
Line 925... Line 920...
925
			fofoLineItem.setQuantity(inventoryItemIdQuantityUsed.get(inventoryItem.getId()));
920
			fofoLineItem.setQuantity(inventoryItemIdQuantityUsed.get(inventoryItem.getId()));
926
			fofoLineItemRepository.persist(fofoLineItem);
921
			fofoLineItemRepository.persist(fofoLineItem);
927
		}
922
		}
928
	}
923
	}
929
	
924
	
930
	private FofoOrderItem createAndGetFofoOrderItem(CustomFofoOrderItem customFofoOrderItem, int fofoOrderId, Map<Integer, Item> itemMap, Set<InventoryItem> inventoryItems, Map<Integer, List<Float>> itemIdPriceDropAmount, Integer stateId) throws ProfitMandiBusinessException{
925
	private FofoOrderItem createAndGetFofoOrderItem(CustomFofoOrderItem customFofoOrderItem, int fofoOrderId, Map<Integer, Item> itemMap, Set<InventoryItem> inventoryItems, Integer stateId) throws ProfitMandiBusinessException{
931
		FofoOrderItem fofoOrderItem = new FofoOrderItem();
926
		FofoOrderItem fofoOrderItem = new FofoOrderItem();
932
		fofoOrderItem.setItemId(customFofoOrderItem.getItemId());
927
		fofoOrderItem.setItemId(customFofoOrderItem.getItemId());
933
		fofoOrderItem.setQuantity(customFofoOrderItem.getQuantity());
928
		fofoOrderItem.setQuantity(customFofoOrderItem.getQuantity());
934
		fofoOrderItem.setSellingPrice(customFofoOrderItem.getSellingPrice());
929
		fofoOrderItem.setSellingPrice(customFofoOrderItem.getSellingPrice());
935
		fofoOrderItem.setOrderId(fofoOrderId);
930
		fofoOrderItem.setOrderId(fofoOrderId);
Line 948... Line 943...
948
				fofoOrderItem.setIgstRate(itemIdIgstTaxRateMap.get(inventoryItem.getItemId()));
943
				fofoOrderItem.setIgstRate(itemIdIgstTaxRateMap.get(inventoryItem.getItemId()));
949
			}else{
944
			}else{
950
				fofoOrderItem.setCgstRate(itemIdStateTaxRateMap.get(inventoryItem.getItemId()).getCgstRate());
945
				fofoOrderItem.setCgstRate(itemIdStateTaxRateMap.get(inventoryItem.getItemId()).getCgstRate());
951
				fofoOrderItem.setSgstRate(itemIdStateTaxRateMap.get(inventoryItem.getItemId()).getSgstRate());
946
				fofoOrderItem.setSgstRate(itemIdStateTaxRateMap.get(inventoryItem.getItemId()).getSgstRate());
952
			}
947
			}
953
			
-
 
954
			fofoOrderItem.setHsnCode(inventoryItem.getHsnCode());
948
			fofoOrderItem.setHsnCode(inventoryItem.getHsnCode());
955
			break;
949
			break;
956
		}
950
		}
957
		List<Float> priceDropAmounts = itemIdPriceDropAmount.get(customFofoOrderItem.getItemId());
-
 
958
		float cost = 0;
-
 
959
		if (priceDropAmounts!=null){
-
 
960
			for (Float pda : priceDropAmounts){
-
 
961
				cost = cost + pda;
-
 
962
			}
-
 
963
		}else{
-
 
964
			cost = customFofoOrderItem.getSellingPrice() * customFofoOrderItem.getQuantity();
-
 
965
		}
-
 
966
		fofoOrderItem.setCost(cost);
951
		fofoOrderItem.setCost(inventoryItems.);
967
		fofoOrderItem.setBrand(item.getBrand());
952
		fofoOrderItem.setBrand(item.getBrand());
968
		fofoOrderItem.setModelName(item.getModelName());
953
		fofoOrderItem.setModelName(item.getModelName());
969
		fofoOrderItem.setModelNumber(item.getModelNumber());
954
		fofoOrderItem.setModelNumber(item.getModelNumber());
970
		fofoOrderItem.setColor(item.getColor());
955
		fofoOrderItem.setColor(item.getColor());
971
		fofoOrderItemRepository.persist(fofoOrderItem);
956
		fofoOrderItemRepository.persist(fofoOrderItem);