| Line 310... |
Line 310... |
| 310 |
|
310 |
|
| 311 |
def update_inventory_history(warehouse_id, timestamp, availability):
|
311 |
def update_inventory_history(warehouse_id, timestamp, availability):
|
| 312 |
warehouse = get_Warehouse(warehouse_id)
|
312 |
warehouse = get_Warehouse(warehouse_id)
|
| 313 |
if not warehouse:
|
313 |
if not warehouse:
|
| 314 |
raise InventoryServiceException(107, "Warehouse? Where?")
|
314 |
raise InventoryServiceException(107, "Warehouse? Where?")
|
| 315 |
#FIXME Choose vendor.
|
315 |
vendors = get_vendors_for_warehouse(warehouse_id)
|
| 316 |
#vendor = warehouse.vendor
|
316 |
if len(vendors) > 1:
|
| - |
|
317 |
raise InventoryServiceException(110, "Multiple vendors found for warehouse !")
|
| 317 |
vendor = get_Vendor(1)
|
318 |
vendor = vendors[0]
|
| 318 |
time = datetime.datetime.now()
|
319 |
time = datetime.datetime.now()
|
| 319 |
for item_key, quantity in availability.iteritems():
|
320 |
for item_key, quantity in availability.iteritems():
|
| 320 |
try:
|
321 |
try:
|
| 321 |
vendor_item_mapping = VendorItemMapping.query.filter_by(vendor=vendor, item_key=item_key).one();
|
322 |
vendor_item_mapping = VendorItemMapping.query.filter_by(vendor=vendor, item_key=item_key).one();
|
| 322 |
item = vendor_item_mapping.item
|
323 |
item = vendor_item_mapping.item
|
| Line 338... |
Line 339... |
| 338 |
raise InventoryServiceException(107, "Warehouse? Where?")
|
339 |
raise InventoryServiceException(107, "Warehouse? Where?")
|
| 339 |
|
340 |
|
| 340 |
time = datetime.datetime.now()
|
341 |
time = datetime.datetime.now()
|
| 341 |
warehouse.lastCheckedOn = time
|
342 |
warehouse.lastCheckedOn = time
|
| 342 |
warehouse.vendorString = timestamp
|
343 |
warehouse.vendorString = timestamp
|
| 343 |
#FIXME Choose vendor.
|
344 |
vendors = get_vendors_for_warehouse(warehouse_id)
|
| 344 |
#vendor = warehouse.vendor
|
345 |
if len(vendors) > 1:
|
| - |
|
346 |
raise InventoryServiceException(110, "Multiple vendors found for warehouse !")
|
| 345 |
vendor = get_Vendor(1)
|
347 |
vendor = vendors[0]
|
| 346 |
session.commit()
|
348 |
session.commit()
|
| 347 |
for item_key, quantity in availability.iteritems():
|
349 |
for item_key, quantity in availability.iteritems():
|
| 348 |
try:
|
350 |
try:
|
| 349 |
vendor_item_mapping = VendorItemMapping.query.filter_by(vendor=vendor, item_key=item_key).one();
|
351 |
vendor_item_mapping = VendorItemMapping.query.filter_by(vendor=vendor, item_key=item_key).one();
|
| 350 |
item = vendor_item_mapping.item
|
352 |
item = vendor_item_mapping.item
|
| Line 1270... |
Line 1272... |
| 1270 |
def get_pending_orders_inventory(vendor_id=1):
|
1272 |
def get_pending_orders_inventory(vendor_id=1):
|
| 1271 |
"""
|
1273 |
"""
|
| 1272 |
Returns a list of inventory stock for items for which there are pending orders.
|
1274 |
Returns a list of inventory stock for items for which there are pending orders.
|
| 1273 |
"""
|
1275 |
"""
|
| 1274 |
|
1276 |
|
| 1275 |
#warehouse_ids = [warehouse.id for warehouse in Warehouse.query.filter_by(vendor_id=vendor_id).all()]
|
1277 |
warehouse_ids = [warehouse.id for warehouse in get_warehouses_for_vendor(vendor_id)]
|
| 1276 |
warehouse_ids = [1,2,3,4,5]
|
- |
|
| 1277 |
pending_items_inventory = []
|
1278 |
pending_items_inventory = []
|
| 1278 |
if warehouse_ids:
|
1279 |
if warehouse_ids:
|
| 1279 |
pending_items_inventory = session.query(CurrentInventorySnapshot.item_id, func.sum(CurrentInventorySnapshot.availibility), func.sum(CurrentInventorySnapshot.reserved)).filter(CurrentInventorySnapshot.warehouse_id.in_(warehouse_ids)).group_by(CurrentInventorySnapshot.item_id).having(func.sum(CurrentInventorySnapshot.reserved) > 0).all()
|
1280 |
pending_items_inventory = session.query(CurrentInventorySnapshot.item_id, func.sum(CurrentInventorySnapshot.availibility), func.sum(CurrentInventorySnapshot.reserved)).filter(CurrentInventorySnapshot.warehouse_id.in_(warehouse_ids)).group_by(CurrentInventorySnapshot.item_id).having(func.sum(CurrentInventorySnapshot.reserved) > 0).all()
|
| 1280 |
return pending_items_inventory
|
1281 |
return pending_items_inventory
|
| 1281 |
|
1282 |
|