| Line 1107... |
Line 1107... |
| 1107 |
query = query.filter(Order.created_timestamp >from_date)
|
1107 |
query = query.filter(Order.created_timestamp >from_date)
|
| 1108 |
if to_date:
|
1108 |
if to_date:
|
| 1109 |
query = query.filter(Order.created_timestamp < to_date)
|
1109 |
query = query.filter(Order.created_timestamp < to_date)
|
| 1110 |
return query.all()
|
1110 |
return query.all()
|
| 1111 |
|
1111 |
|
| 1112 |
def get_orders_in_batch(statuses=[], offset=0, limit=0, warehouse_id=None):
|
1112 |
def get_orders_in_batch(statuses=[], offset=0, limit=0, warehouse_id=None, source=0):
|
| 1113 |
query = Order.query
|
1113 |
query = Order.query
|
| 1114 |
if warehouse_id:
|
1114 |
if warehouse_id:
|
| 1115 |
query = query.filter(Order.warehouse_id == warehouse_id)
|
1115 |
query = query.filter(Order.warehouse_id == warehouse_id)
|
| - |
|
1116 |
if source:
|
| - |
|
1117 |
query = query.filter(Order.source == source)
|
| 1116 |
if statuses:
|
1118 |
if statuses:
|
| 1117 |
query = query.filter(Order.status.in_(statuses))
|
1119 |
query = query.filter(Order.status.in_(statuses))
|
| 1118 |
query = query.offset(offset)
|
1120 |
query = query.offset(offset)
|
| 1119 |
if limit:
|
1121 |
if limit:
|
| 1120 |
query = query.limit(limit)
|
1122 |
query = query.limit(limit)
|
| 1121 |
return query.all()
|
1123 |
return query.all()
|
| 1122 |
|
1124 |
|
| 1123 |
def get_order_count(statuses=[], warehouse_id=None):
|
1125 |
def get_order_count(statuses=[], warehouse_id=None, source=0):
|
| 1124 |
if not warehouse_id:
|
1126 |
if not warehouse_id:
|
| 1125 |
raise TransactionServiceException(101, "bad warehouse id")
|
1127 |
raise TransactionServiceException(101, "bad warehouse id")
|
| 1126 |
query = session.query(func.count(Order.id)).filter(Order.warehouse_id == warehouse_id)
|
1128 |
query = session.query(func.count(Order.id)).filter(Order.warehouse_id == warehouse_id)
|
| - |
|
1129 |
if source:
|
| - |
|
1130 |
query = query.filter(Order.source == source)
|
| 1127 |
if statuses:
|
1131 |
if statuses:
|
| 1128 |
query = query.filter(Order.status.in_(statuses))
|
1132 |
query = query.filter(Order.status.in_(statuses))
|
| 1129 |
return query.scalar()
|
1133 |
return query.scalar()
|
| 1130 |
|
1134 |
|
| 1131 |
def get_returnable_orders_for_customer(customer_id, limit = None):
|
1135 |
def get_returnable_orders_for_customer(customer_id, limit = None):
|
| Line 1326... |
Line 1330... |
| 1326 |
return False
|
1330 |
return False
|
| 1327 |
else:
|
1331 |
else:
|
| 1328 |
return True
|
1332 |
return True
|
| 1329 |
|
1333 |
|
| 1330 |
def add_billing_details(orderId, invoice_number, serialNumbers, itemNumbers, freebieWarehouseId, billedBy, jacketNumber, billingType, fulfilmentWarehouseId, authorize):
|
1334 |
def add_billing_details(orderId, invoice_number, serialNumbers, itemNumbers, freebieWarehouseId, billedBy, jacketNumber, billingType, fulfilmentWarehouseId, authorize):
|
| 1331 |
if jacketNumber is None or jacketNumber <= 0:
|
- |
|
| 1332 |
raise TransactionServiceException(110, "Invalid jacket number")
|
- |
|
| 1333 |
|
- |
|
| 1334 |
if billedBy is None or billedBy.strip() == "":
|
1335 |
if billedBy is None or billedBy.strip() == "":
|
| 1335 |
raise TransactionServiceException(110, "Invalid Biller")
|
1336 |
raise TransactionServiceException(110, "Invalid Biller")
|
| 1336 |
|
1337 |
|
| 1337 |
order = Order.get_by(id=orderId)
|
1338 |
order = Order.get_by(id=orderId)
|
| 1338 |
if not order:
|
1339 |
if not order:
|
| 1339 |
raise TransactionServiceException(101, "No order found for the given order id" + str(orderId))
|
1340 |
raise TransactionServiceException(101, "No order found for the given order id" + str(orderId))
|
| - |
|
1341 |
|
| - |
|
1342 |
if jacketNumber is None or jacketNumber <= 0:
|
| - |
|
1343 |
if order.source == 6:
|
| - |
|
1344 |
print "Skipping Jacket Number field for OrderId " + str(orderId)
|
| - |
|
1345 |
else:
|
| - |
|
1346 |
raise TransactionServiceException(110, "Invalid jacket number")
|
| 1340 |
|
1347 |
|
| 1341 |
'''
|
1348 |
'''
|
| 1342 |
First checking whether freebie can be billed or not otherwise wont proceed.
|
1349 |
First checking whether freebie can be billed or not otherwise wont proceed.
|
| 1343 |
'''
|
1350 |
'''
|
| 1344 |
if order.freebieItemId:
|
1351 |
if order.freebieItemId:
|
| Line 1377... |
Line 1384... |
| 1377 |
|
1384 |
|
| 1378 |
catalog_client = CatalogClient().get_client()
|
1385 |
catalog_client = CatalogClient().get_client()
|
| 1379 |
item = catalog_client.getItem(item_id)
|
1386 |
item = catalog_client.getItem(item_id)
|
| 1380 |
if order.status == OrderStatus.ACCEPTED:
|
1387 |
if order.status == OrderStatus.ACCEPTED:
|
| 1381 |
order.jacket_number = jacketNumber
|
1388 |
order.jacket_number = jacketNumber
|
| 1382 |
|
1389 |
if order.source == 6:
|
| - |
|
1390 |
order.jacket_number = "eby"+str(orderId)
|
| 1383 |
if itemNumbers:
|
1391 |
if itemNumbers:
|
| 1384 |
lineitem.item_number = itemNumbers[0]
|
1392 |
lineitem.item_number = itemNumbers[0]
|
| 1385 |
if serialNumbers:
|
1393 |
if serialNumbers:
|
| 1386 |
lineitem.serial_number = serialNumbers[0]
|
1394 |
lineitem.serial_number = serialNumbers[0]
|
| 1387 |
|
1395 |
|
| Line 3647... |
Line 3655... |
| 3647 |
- itemId
|
3655 |
- itemId
|
| 3648 |
- inventory
|
3656 |
- inventory
|
| 3649 |
"""
|
3657 |
"""
|
| 3650 |
orders = Order.query.filter(Order.warehouse_id == 9).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.expected_shipping_time).all()
|
3658 |
orders = Order.query.filter(Order.warehouse_id == 9).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.expected_shipping_time).all()
|
| 3651 |
for order in orders:
|
3659 |
for order in orders:
|
| - |
|
3660 |
if order.source ==6:
|
| - |
|
3661 |
continue
|
| 3652 |
if inventory > 0:
|
3662 |
if inventory > 0:
|
| 3653 |
lineitem = order.lineitems[0]
|
3663 |
lineitem = order.lineitems[0]
|
| 3654 |
if itemId == lineitem.item_id:
|
3664 |
if itemId == lineitem.item_id:
|
| 3655 |
try:
|
3665 |
try:
|
| 3656 |
accept_order(order.id)
|
3666 |
accept_order(order.id)
|
| Line 4145... |
Line 4155... |
| 4145 |
def accept_order_for_item(itemId, quantity, fulfilmentWarehouseId, billingWarehouseId):
|
4155 |
def accept_order_for_item(itemId, quantity, fulfilmentWarehouseId, billingWarehouseId):
|
| 4146 |
inventoryClient = InventoryClient().get_client()
|
4156 |
inventoryClient = InventoryClient().get_client()
|
| 4147 |
inventory = inventoryClient.getItemInventoryByItemId(itemId)
|
4157 |
inventory = inventoryClient.getItemInventoryByItemId(itemId)
|
| 4148 |
orders = Order.query.filter(Order.fulfilmentWarehouseId != fulfilmentWarehouseId).filter(Order.warehouse_id == billingWarehouseId).filter(Order.status.in_(tuple([OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.COD_VERIFICATION_PENDING, OrderStatus.ACCEPTED, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS]))).order_by(Order.expected_shipping_time).all()
|
4158 |
orders = Order.query.filter(Order.fulfilmentWarehouseId != fulfilmentWarehouseId).filter(Order.warehouse_id == billingWarehouseId).filter(Order.status.in_(tuple([OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.COD_VERIFICATION_PENDING, OrderStatus.ACCEPTED, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS]))).order_by(Order.expected_shipping_time).all()
|
| 4149 |
for order in orders:
|
4159 |
for order in orders:
|
| - |
|
4160 |
if order.source ==6:
|
| - |
|
4161 |
continue
|
| 4150 |
lineitem = order.lineitems[0]
|
4162 |
lineitem = order.lineitems[0]
|
| 4151 |
if lineitem.item_id == itemId and lineitem.quantity <= quantity:
|
4163 |
if lineitem.item_id == itemId and lineitem.quantity <= quantity:
|
| 4152 |
warehouse = inventoryClient.getWarehouse(order.fulfilmentWarehouseId)
|
4164 |
warehouse = inventoryClient.getWarehouse(order.fulfilmentWarehouseId)
|
| 4153 |
if not warehouse.billingWarehouseId and warehouse.warehouseType == WarehouseType.THIRD_PARTY:
|
4165 |
if not warehouse.billingWarehouseId and warehouse.warehouseType == WarehouseType.THIRD_PARTY:
|
| 4154 |
if (inventory.availability[fulfilmentWarehouseId] >= inventory.reserved[fulfilmentWarehouseId] + lineitem.quantity) and inventory.availability[order.fulfilmentWarehouseId] < inventory.reserved[order.fulfilmentWarehouseId]:
|
4166 |
if (inventory.availability[fulfilmentWarehouseId] >= inventory.reserved[fulfilmentWarehouseId] + lineitem.quantity) and inventory.availability[order.fulfilmentWarehouseId] < inventory.reserved[order.fulfilmentWarehouseId]:
|
| Line 6029... |
Line 6041... |
| 6029 |
order.logistics_provider_id = t_order.logistics_provider_id
|
6041 |
order.logistics_provider_id = t_order.logistics_provider_id
|
| 6030 |
order.airwaybill_no = t_order.airwaybill_no
|
6042 |
order.airwaybill_no = t_order.airwaybill_no
|
| 6031 |
order.tracking_id = t_order.tracking_id
|
6043 |
order.tracking_id = t_order.tracking_id
|
| 6032 |
order.status = t_order.status
|
6044 |
order.status = t_order.status
|
| 6033 |
order.statusDescription = t_order.statusDescription
|
6045 |
order.statusDescription = t_order.statusDescription
|
| - |
|
6046 |
order.cod = 0
|
| 6034 |
order.otg = False
|
6047 |
order.otg = False
|
| 6035 |
order.freebieItemId = 0
|
6048 |
order.freebieItemId = 0
|
| 6036 |
order.orderType = OrderType.B2C
|
6049 |
order.orderType = OrderType.B2C
|
| 6037 |
order.source = 6
|
6050 |
order.source = 6
|
| 6038 |
|
6051 |
|