| Line 4851... |
Line 4851... |
| 4851 |
pendingOrders = ""
|
4851 |
pendingOrders = ""
|
| 4852 |
orders = Order.query.filter(Order.status.in_(tuple([OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS]))).order_by(Order.promised_shipping_time).all()
|
4852 |
orders = Order.query.filter(Order.status.in_(tuple([OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS]))).order_by(Order.promised_shipping_time).all()
|
| 4853 |
inventoryClient = InventoryClient().get_client()
|
4853 |
inventoryClient = InventoryClient().get_client()
|
| 4854 |
userClient = UserClient().get_client()
|
4854 |
userClient = UserClient().get_client()
|
| 4855 |
|
4855 |
|
| 4856 |
#warehouses = inventoryClient.getWarehouses(None, None, None, None, None)
|
4856 |
warehouses = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, None, None, None)
|
| - |
|
4857 |
warehousesMap = {}
|
| - |
|
4858 |
for warehouse in warehouses:
|
| - |
|
4859 |
warehousesMap[warehouse.id] = warehouses
|
| 4857 |
for order in orders:
|
4860 |
for order in orders:
|
| 4858 |
stateMaster = fetchStateMaster()
|
4861 |
stateMaster = fetchStateMaster()
|
| 4859 |
stateId = -1
|
4862 |
stateId = -1
|
| 4860 |
userClient, isFofo = __is_Fofo(userClient, order.customer_id)
|
4863 |
userClient, isFofo = __is_Fofo(userClient, order.customer_id)
|
| 4861 |
if isFofo:
|
4864 |
if isFofo:
|
| 4862 |
for k, v in stateMaster.iteritems():
|
4865 |
for k, v in stateMaster.iteritems():
|
| 4863 |
if v.stateName == order.customer_state:
|
4866 |
if v.stateName == order.customer_state:
|
| 4864 |
stateId = k
|
4867 |
stateId = k
|
| 4865 |
break
|
4868 |
break
|
| 4866 |
lineitem = order.lineitems[0]
|
4869 |
lineitem = order.lineitems[0]
|
| - |
|
4870 |
fulFilmentWarehouse = warehousesMap.get(order.fulfilmentWarehouseId)
|
| - |
|
4871 |
if fulFilmentWarehouse.warehouseType==WarehouseType.OURS and fulFilmentWarehouse.inventoryType==InventoryType.GOOD:
|
| - |
|
4872 |
continue
|
| 4867 |
try:
|
4873 |
try:
|
| 4868 |
try:
|
- |
|
| 4869 |
if not inventoryClient.isAlive():
|
- |
|
| 4870 |
raise
|
- |
|
| 4871 |
except:
|
- |
|
| 4872 |
inventoryClient = InventoryClient().get_client()
|
4874 |
itemInventory = inventoryClient.getItemInventoryByItemId(lineitem.item_id)
|
| 4873 |
fulfilmentWarehouseId = inventoryClient.getItemAvailabilityAtLocation(lineitem.item_id, sourceId, stateId)[0]
|
- |
|
| 4874 |
if order.fulfilmentWarehouseId != fulfilmentWarehouseId:
|
- |
|
| 4875 |
netavailability = inventoryClient.getItemAvailibilityAtWarehouse(fulfilmentWarehouseId, lineitem.item_id)
|
- |
|
| 4876 |
if netavailability >= lineitem.quantity:
|
- |
|
| 4877 |
try:
|
- |
|
| 4878 |
print "++++" + str(order.id) + "=" + str(order.fulfilmentWarehouseId) + "->"+ str(fulfilmentWarehouseId)
|
- |
|
| 4879 |
change_warehouse(order.id, fulfilmentWarehouseId)
|
- |
|
| 4880 |
completedOrders.append(order.id)
|
- |
|
| 4881 |
except:
|
- |
|
| 4882 |
traceback.print_exc()
|
- |
|
| 4883 |
print "++++" + str(order.id)
|
- |
|
| 4884 |
pendingOrders = pendingOrders + str(order.id) + "|"
|
- |
|
| 4885 |
except:
|
4875 |
except:
|
| - |
|
4876 |
inventoryClient = InventoryClient().get_client()
|
| - |
|
4877 |
itemInventory = inventoryClient.getItemInventoryByItemId(lineitem.item_id)
|
| - |
|
4878 |
for warehouseId, availability in itemInventory.availability.iteritems():
|
| - |
|
4879 |
warehouse = warehouses.get(warehouseId)
|
| - |
|
4880 |
if warehouse.warehouseType==WarehouseType.THIRD_PARTY:
|
| - |
|
4881 |
continue
|
| - |
|
4882 |
if availability - itemInventory.reserved[warehouseId] >= order.quantity and warehouse.stateId==fulFilmentWarehouse.stateId:
|
| - |
|
4883 |
try:
|
| - |
|
4884 |
print "++++" + str(order.id) + "=" + str(order.fulfilmentWarehouseId) + "->"+ str(warehouseId)
|
| - |
|
4885 |
change_warehouse(order.id, warehouseId)
|
| - |
|
4886 |
completedOrders.append(order.id)
|
| - |
|
4887 |
except:
|
| 4886 |
traceback.print_exc()
|
4888 |
traceback.print_exc()
|
| 4887 |
print "++++" + str(order.id)
|
4889 |
print "++++" + str(order.id)
|
| 4888 |
pendingOrders = pendingOrders + str(order.id) + "|"
|
4890 |
pendingOrders = pendingOrders + str(order.id) + "|"
|
| - |
|
4891 |
break
|
| - |
|
4892 |
|
| 4889 |
|
4893 |
|
| 4890 |
if len(completedOrders)==0 and len(pendingOrders)==0:
|
4894 |
if len(completedOrders)==0 and len(pendingOrders)==0:
|
| 4891 |
return "No Order To Move"
|
4895 |
return "No Order To Move"
|
| 4892 |
elif len(completedOrders)>0 and len(completedOrders) == len(orders):
|
4896 |
elif len(completedOrders)>0 and len(completedOrders) == len(orders):
|
| 4893 |
return "Completed"
|
4897 |
return "Completed"
|