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