| Line 744... |
Line 744... |
| 744 |
Collectors.groupingBy(x->x.getLineItem().getItemId(),
|
744 |
Collectors.groupingBy(x->x.getLineItem().getItemId(),
|
| 745 |
Collectors.summingInt(x->x.getLineItem().getQuantity())));
|
745 |
Collectors.summingInt(x->x.getLineItem().getQuantity())));
|
| 746 |
for(Integer billedItemId : billedItems.keySet()) {
|
746 |
for(Integer billedItemId : billedItems.keySet()) {
|
| 747 |
if(grnedItems.containsKey(billedItemId)) {
|
747 |
if(grnedItems.containsKey(billedItemId)) {
|
| 748 |
if(grnedItems.get(billedItemId) > billedItems.get(billedItemId)) {
|
748 |
if(grnedItems.get(billedItemId) > billedItems.get(billedItemId)) {
|
| 749 |
LOGGER.info("Billed {}, Grned {}, ItemId {}, Invoice Number {}({}), Grn Date {}",
|
749 |
LOGGER.info("Billed Qty {} ---- Grned {}, ItemId {}, Invoice Number {}({}), Grn Date {}",
|
| 750 |
billedItems.get(billedItemId), grnedItems.get(billedItemId), billedItemId, incompletePurchase.getPurchaseReference(), incompletePurchase.getId(), incompletePurchase.getCreateTimestamp());
|
750 |
billedItems.get(billedItemId), grnedItems.get(billedItemId), billedItemId, incompletePurchase.getPurchaseReference(), incompletePurchase.getId(), incompletePurchase.getCreateTimestamp());
|
| 751 |
Item item = itemRepository.selectById(billedItemId);
|
751 |
Item item = itemRepository.selectById(billedItemId);
|
| 752 |
if(item.getType().equals(ItemType.SERIALIZED)) {
|
752 |
if(item.getType().equals(ItemType.SERIALIZED)) {
|
| 753 |
|
753 |
|
| 754 |
} else {
|
754 |
} else {
|
| 755 |
for(InventoryItem inventoryItem : inventoryItems) {
|
755 |
for(InventoryItem inventoryItem : inventoryItems) {
|
| 756 |
if(inventoryItem.getItemId()==billedItemId && inventoryItem.getGoodQuantity()==0) {
|
756 |
if(inventoryItem.getItemId()==billedItemId && inventoryItem.getGoodQuantity()==0) {
|
| 757 |
List<ScanRecord> scanRecords = scanRecordRepository.selectByInventoryItemId(inventoryItem.getId());
|
757 |
List<ScanRecord> scanRecords = scanRecordRepository.selectByInventoryItemId(inventoryItem.getId());
|
| 758 |
if(scanRecords.size() == 1 && scanRecords.get(0).getQuantity()==0) {
|
758 |
if(scanRecords.size() == 1 && scanRecords.get(0).getQuantity()==0) {
|
| 759 |
LOGGER.info("Safe to remove InventoryItem Id {}", inventoryItem.getId());
|
759 |
LOGGER.info("Safe to remove InventoryItem Id {}", inventoryItem.getId());
|
| 760 |
//scanRecordRepository.delete(scanRecords.get(0));
|
760 |
scanRecordRepository.delete(scanRecords.get(0));
|
| 761 |
//inventoryItemRepository.delete(inventoryItem);
|
761 |
inventoryItemRepository.delete(inventoryItem);
|
| 762 |
//incompletePurchase.setUnfullfilledNonSerializedQuantity(incompletePurchase.getUnfullfilledNonSerializedQuantity()-inventoryItem.getInitialQuantity());
|
762 |
incompletePurchase.setUnfullfilledNonSerializedQuantity(incompletePurchase.getUnfullfilledNonSerializedQuantity()+inventoryItem.getInitialQuantity());
|
| 763 |
}
|
763 |
}
|
| 764 |
}
|
764 |
}
|
| 765 |
}
|
765 |
}
|
| 766 |
}
|
766 |
}
|
| 767 |
}
|
767 |
}
|