Subversion Repositories SmartDukaan

Rev

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

Rev 5637 Rev 5661
Line 723... Line 723...
723
                try:
723
                try:
724
                    warehouse_client = WarehouseClient().get_client()
724
                    warehouse_client = WarehouseClient().get_client()
725
                    # Fetching GOOD w/h corresponding to the virtual one here
725
                    # Fetching GOOD w/h corresponding to the virtual one here
726
                    if warehouse.billingWarehouseId is None:
726
                    if warehouse.billingWarehouseId is None:
727
                        warehouse = catalog_client.getWarehouses(None, InventoryType.GOOD, warehouse.vendor.id, order.warehouse_id, 0)[0]
727
                        warehouse = catalog_client.getWarehouses(None, InventoryType.GOOD, warehouse.vendor.id, order.warehouse_id, 0)[0]
728
                        order.fulfilmentWarehouseId = warehouse.id
-
 
729
 
728
 
730
                    if ItemType.SERIALIZED == item.type:
729
                    if ItemType.SERIALIZED == item.type:
731
                        inventoryItem = warehouse_client.getInventoryItem(serialNumber)
730
                        inventoryItem = warehouse_client.getInventoryItem(serialNumber)
732
                    else:
731
                    else:
733
                        inventoryItem = warehouse_client.getNonSeralizedInventoryItem(itemNumbers[index], item_id, order.fulfilmentWarehouseId)
732
                        inventoryItem = warehouse_client.getNonSeralizedInventoryItem(itemNumbers[index], item_id, warehouse.id)
734
    
733
    
735
                    if (inventoryItem.itemId != item_id):
734
                    if (inventoryItem.itemId != item_id):
736
                        catalog_client = CatalogClient().get_client()
735
                        catalog_client = CatalogClient().get_client()
737
                        item = catalog_client.getItem(inventoryItem.itemId)
736
                        item = catalog_client.getItem(inventoryItem.itemId)
738
                        scanItemString = " ".join([str(item.brand), str(item.modelName), str(item.modelNumber), str(item.color)])
737
                        scanItemString = " ".join([str(item.brand), str(item.modelName), str(item.modelNumber), str(item.color)])
739
                        lineItemString = " ".join([str(lineitem.brand), str(lineitem.model_name), str(lineitem.model_number), str(lineitem.color)])
738
                        lineItemString = " ".join([str(lineitem.brand), str(lineitem.model_name), str(lineitem.model_number), str(lineitem.color)])
740
                        raise TransactionServiceException(110, 'Trying to scan ' + scanItemString + ' instead of ' + lineItemString)
739
                        raise TransactionServiceException(110, 'Trying to scan ' + scanItemString + ' instead of ' + lineItemString)
741
    
740
    
742
                    if ItemType.SERIALIZED == item.type:
741
                    if ItemType.SERIALIZED == item.type:
743
                        inventoryItem = warehouse_client.scanSerializedItemForOrder(serialNumber, ScanType.SALE, orderId, order.fulfilmentWarehouseId, 1, order.warehouse_id)
742
                        inventoryItem = warehouse_client.scanSerializedItemForOrder(serialNumber, ScanType.SALE, orderId, warehouse.id, 1, order.warehouse_id)
744
                    else:
743
                    else:
745
                        inventoryItem = warehouse_client.scanForOrder(inventoryItem, ScanType.SALE, 1, order.id, order.fulfilmentWarehouseId, order.warehouse_id)
744
                        inventoryItem = warehouse_client.scanForOrder(inventoryItem, ScanType.SALE, 1, order.id, warehouse.id, order.warehouse_id)
746
    
745
    
747
                    lineitem.transfer_price = inventoryItem.unitPrice
746
                    lineitem.transfer_price = inventoryItem.unitPrice
748
                    order.vendorId = inventoryItem.supplierId
747
                    order.vendorId = inventoryItem.supplierId
749
                    catalog_client = CatalogClient().get_client()
748
                    catalog_client = CatalogClient().get_client()
750
                except WarehouseServiceException as e:
749
                except WarehouseServiceException as e:
Line 755... Line 754...
755
            if not warehouse.isAvailabilityMonitored:
754
            if not warehouse.isAvailabilityMonitored:
756
                catalog_client = CatalogClient().get_client()
755
                catalog_client = CatalogClient().get_client()
757
                catalog_client.addInventory(item.id, warehouse.id, -1 * lineitem.quantity)
756
                catalog_client.addInventory(item.id, warehouse.id, -1 * lineitem.quantity)
758
 
757
 
759
        __update_inventory_reservation(order)
758
        __update_inventory_reservation(order)
-
 
759
        order.fulfilmentWarehouseId = warehouse.id
760
        session.commit()
760
        session.commit()
761
        return True
761
        return True
762
    else:
762
    else:
763
        return False
763
        return False
764
 
764