Subversion Repositories SmartDukaan

Rev

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

Rev 2251 Rev 2269
Line 307... Line 307...
307
                current_inventory_snapshot.availibility = 0
307
                current_inventory_snapshot.availibility = 0
308
                current_inventory_snapshot.reserved = 0
308
                current_inventory_snapshot.reserved = 0
309
            # added the difference in the current inventory    
309
            # added the difference in the current inventory    
310
            current_inventory_snapshot.availibility = current_inventory_snapshot.availibility + quantity
310
            current_inventory_snapshot.availibility = current_inventory_snapshot.availibility + quantity
311
            
311
            
312
            mark_item_risky(item, current_inventory_snapshot.availibility, current_inventory_snapshot.reserved)
312
            check_risky_item(item, current_inventory_snapshot.availibility, current_inventory_snapshot.reserved)
313
            
313
            
314
        except:
314
        except:
315
            raise InventoryServiceException(108, "Some unforeseen error while updating inventory")
315
            raise InventoryServiceException(108, "Some unforeseen error while updating inventory")
316
    session.commit() 
316
    session.commit() 
317
 
317
 
Line 431... Line 431...
431
        return 0
431
        return 0
432
    else:
432
    else:
433
        return current_inventory_snapshot.availibility
433
        return current_inventory_snapshot.availibility
434
    """
434
    """
435
    
435
    
436
def mark_item_risky(item, availability, reserved):
436
def check_risky_item(item, availability, reserved):
437
    if not item.risky:
437
    if not item.risky:
438
        return
438
        return
439
    if availability - reserved <= 0:
439
    if availability - reserved <= 0:
440
        if item.status == status.ACTIVE:
440
        if item.status == status.ACTIVE:
441
            change_item_status(item.id, status.PAUSED)
441
            change_item_status(item.id, status.PAUSED)
Line 454... Line 454...
454
    query = CurrentInventorySnapshot.query.filter_by(warehouse_id = warehouse_id, item_id = item_id)
454
    query = CurrentInventorySnapshot.query.filter_by(warehouse_id = warehouse_id, item_id = item_id)
455
    try:
455
    try:
456
        current_inventory_snapshot = query.one()
456
        current_inventory_snapshot = query.one()
457
        current_inventory_snapshot.reserved = current_inventory_snapshot.reserved + quantity
457
        current_inventory_snapshot.reserved = current_inventory_snapshot.reserved + quantity
458
        
458
        
459
        mark_item_risky(item, current_inventory_snapshot.availibility, current_inventory_snapshot.reserved)
459
        check_risky_item(item, current_inventory_snapshot.availibility, current_inventory_snapshot.reserved)
460
        
460
        
461
        session.commit()
461
        session.commit()
462
        return True
462
        return True
463
    except:
463
    except:
464
        print "Unexpected error:", sys.exc_info()[0]
464
        print "Unexpected error:", sys.exc_info()[0]
Line 474... Line 474...
474
    query = CurrentInventorySnapshot.query.filter_by(warehouse_id = warehouse_id, item_id = item_id)
474
    query = CurrentInventorySnapshot.query.filter_by(warehouse_id = warehouse_id, item_id = item_id)
475
    try:
475
    try:
476
        current_inventory_snapshot = query.one()
476
        current_inventory_snapshot = query.one()
477
        current_inventory_snapshot.reserved = current_inventory_snapshot.reserved - quantity
477
        current_inventory_snapshot.reserved = current_inventory_snapshot.reserved - quantity
478
        
478
        
479
        mark_item_risky(item, current_inventory_snapshot.availibility, current_inventory_snapshot.reserved)
479
        check_risky_item(item, current_inventory_snapshot.availibility, current_inventory_snapshot.reserved)
480
        
480
        
481
        session.commit()
481
        session.commit()
482
        return True
482
        return True
483
    except:
483
    except:
484
        print "Unexpected error:", sys.exc_info()[0]
484
        print "Unexpected error:", sys.exc_info()[0]