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