Subversion Repositories SmartDukaan

Rev

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

Rev 23381 Rev 23382
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<>();
276
		
278
		
277
		if (!serialNumbers.isEmpty()){
279
		if (!serialNumbers.isEmpty()){
278
			List<InventoryItem> serializedInventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId, serialNumbers);
280
			List<InventoryItem> serializedInventoryItems = inventoryItemRepository.selectByFofoIdSerialNumbers(fofoId, serialNumbers);
279
			LOGGER.info("serializedInventoryItems {}", serializedInventoryItems);
281
			LOGGER.info("serializedInventoryItems {}", serializedInventoryItems);
280
			for (InventoryItem inventoryItem : serializedInventoryItems){
282
			for (InventoryItem inventoryItem : serializedInventoryItems){
281
				if (inventoryItem.getGoodQuantity() == 1){
283
				if (inventoryItem.getGoodQuantity() == 1){
282
					if (serializedInventoryItemMap.containsKey(inventoryItem.getItemId())){
284
					if (serializedInventoryItemMap.containsKey(inventoryItem.getItemId())){
283
						serializedInventoryItemMap.get(inventoryItem.getItemId()).add(inventoryItem);
285
						serializedInventoryItemMap.get(inventoryItem.getItemId()).add(inventoryItem);
-
 
286
						itemIdPriceDropAmount.get(inventoryItem.getItemId()).
-
 
287
						add(inventoryItem.getUnitPrice() - inventoryItem.getPriceDropAmount());
284
					}
288
					}
285
					else{
289
					else{
286
						Set<InventoryItem> itemIdInventoryItems = new HashSet<>();
290
						Set<InventoryItem> itemIdInventoryItems = new HashSet<>();
287
						itemIdInventoryItems.add(inventoryItem);
291
						itemIdInventoryItems.add(inventoryItem);
288
						serializedInventoryItemMap.put(inventoryItem.getItemId(), itemIdInventoryItems);
292
						serializedInventoryItemMap.put(inventoryItem.getItemId(), itemIdInventoryItems);
289
						ArrayList<Float> priceDropAmouts = new ArrayList<>();
293
						ArrayList<Float> priceDropAmouts = new ArrayList<>();
290
						priceDropAmouts.add(inventoryItem.getUnitPrice() - (inventoryItem.getPriceDropAmount()));
294
						priceDropAmouts.add(inventoryItem.getUnitPrice() - (inventoryItem.getPriceDropAmount()));
-
 
295
						itemIdPriceDropAmount.put(inventoryItem.getItemId(), priceDropAmouts);
291
					}
296
					}
292
				}
297
				}
293
			}
298
			}
294
		}
299
		}
295
 
300
 
Line 394... Line 399...
394
				LOGGER.error("Unable to get state rates");
399
				LOGGER.error("Unable to get state rates");
395
			}
400
			}
396
		}
401
		}
397
		
402
		
398
		for(CustomFofoOrderItem customFofoOrderItem : createOrderRequest.getFofoOrderItems()){
403
		for(CustomFofoOrderItem customFofoOrderItem : createOrderRequest.getFofoOrderItems()){
399
			FofoOrderItem fofoOrderItem = this.createAndGetFofoOrderItem(customFofoOrderItem, fofoOrder.getId(), itemMap, inventoryItemsToBill.get(customFofoOrderItem.getItemId()), stateId);
404
			FofoOrderItem fofoOrderItem = this.createAndGetFofoOrderItem(customFofoOrderItem, fofoOrder.getId(), itemMap, inventoryItemsToBill.get(customFofoOrderItem.getItemId()), itemIdPriceDropAmount, stateId);
400
			
405
			
401
			Set<InventoryItem> inventoryItems = inventoryItemsToBill.get(customFofoOrderItem.getItemId());
406
			Set<InventoryItem> inventoryItems = inventoryItemsToBill.get(customFofoOrderItem.getItemId());
402
			
407
			
403
			this.createFofoLineItem(fofoOrderItem.getId(), inventoryItems, inventoryItemIdQuantityUsed);
408
			this.createFofoLineItem(fofoOrderItem.getId(), inventoryItems, inventoryItemIdQuantityUsed);
404
			
409
			
Line 920... Line 925...
920
			fofoLineItem.setQuantity(inventoryItemIdQuantityUsed.get(inventoryItem.getId()));
925
			fofoLineItem.setQuantity(inventoryItemIdQuantityUsed.get(inventoryItem.getId()));
921
			fofoLineItemRepository.persist(fofoLineItem);
926
			fofoLineItemRepository.persist(fofoLineItem);
922
		}
927
		}
923
	}
928
	}
924
	
929
	
925
	private FofoOrderItem createAndGetFofoOrderItem(CustomFofoOrderItem customFofoOrderItem, int fofoOrderId, Map<Integer, Item> itemMap, Set<InventoryItem> inventoryItems, Integer stateId) throws ProfitMandiBusinessException{
930
	private FofoOrderItem createAndGetFofoOrderItem(CustomFofoOrderItem customFofoOrderItem, int fofoOrderId, Map<Integer, Item> itemMap, Set<InventoryItem> inventoryItems, Map<Integer, List<Float>> itemIdPriceDropAmount, Integer stateId) throws ProfitMandiBusinessException{
926
		FofoOrderItem fofoOrderItem = new FofoOrderItem();
931
		FofoOrderItem fofoOrderItem = new FofoOrderItem();
927
		fofoOrderItem.setItemId(customFofoOrderItem.getItemId());
932
		fofoOrderItem.setItemId(customFofoOrderItem.getItemId());
928
		fofoOrderItem.setQuantity(customFofoOrderItem.getQuantity());
933
		fofoOrderItem.setQuantity(customFofoOrderItem.getQuantity());
929
		fofoOrderItem.setSellingPrice(customFofoOrderItem.getSellingPrice());
934
		fofoOrderItem.setSellingPrice(customFofoOrderItem.getSellingPrice());
930
		fofoOrderItem.setOrderId(fofoOrderId);
935
		fofoOrderItem.setOrderId(fofoOrderId);
Line 943... Line 948...
943
				fofoOrderItem.setIgstRate(itemIdIgstTaxRateMap.get(inventoryItem.getItemId()));
948
				fofoOrderItem.setIgstRate(itemIdIgstTaxRateMap.get(inventoryItem.getItemId()));
944
			}else{
949
			}else{
945
				fofoOrderItem.setCgstRate(itemIdStateTaxRateMap.get(inventoryItem.getItemId()).getCgstRate());
950
				fofoOrderItem.setCgstRate(itemIdStateTaxRateMap.get(inventoryItem.getItemId()).getCgstRate());
946
				fofoOrderItem.setSgstRate(itemIdStateTaxRateMap.get(inventoryItem.getItemId()).getSgstRate());
951
				fofoOrderItem.setSgstRate(itemIdStateTaxRateMap.get(inventoryItem.getItemId()).getSgstRate());
947
			}
952
			}
-
 
953
			
948
			fofoOrderItem.setHsnCode(inventoryItem.getHsnCode());
954
			fofoOrderItem.setHsnCode(inventoryItem.getHsnCode());
949
			break;
955
			break;
950
		}
956
		}
-
 
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
		}
951
		fofoOrderItem.setCost(inventoryItems.);
966
		fofoOrderItem.setCost(cost);
952
		fofoOrderItem.setBrand(item.getBrand());
967
		fofoOrderItem.setBrand(item.getBrand());
953
		fofoOrderItem.setModelName(item.getModelName());
968
		fofoOrderItem.setModelName(item.getModelName());
954
		fofoOrderItem.setModelNumber(item.getModelNumber());
969
		fofoOrderItem.setModelNumber(item.getModelNumber());
955
		fofoOrderItem.setColor(item.getColor());
970
		fofoOrderItem.setColor(item.getColor());
956
		fofoOrderItemRepository.persist(fofoOrderItem);
971
		fofoOrderItemRepository.persist(fofoOrderItem);