| Line 1425... |
Line 1425... |
| 1425 |
if order == None or order.status not in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.DELIVERED_AT_STORE, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DELIVERY_SUCCESS]:
|
1425 |
if order == None or order.status not in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.DELIVERED_AT_STORE, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DELIVERY_SUCCESS]:
|
| 1426 |
return False
|
1426 |
return False
|
| 1427 |
order.status = OrderStatus.RTO_IN_TRANSIT
|
1427 |
order.status = OrderStatus.RTO_IN_TRANSIT
|
| 1428 |
order.delivery_timestamp = datetime.datetime.now()
|
1428 |
order.delivery_timestamp = datetime.datetime.now()
|
| 1429 |
order.statusDescription = "Order Returned to Origin"
|
1429 |
order.statusDescription = "Order Returned to Origin"
|
| 1430 |
update_trust_level(order)
|
- |
|
| 1431 |
session.commit()
|
- |
|
| 1432 |
try:
|
1430 |
try:
|
| 1433 |
alert_client = AlertClient().get_client()
|
1431 |
alert_client = AlertClient().get_client()
|
| 1434 |
alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
|
1432 |
alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
|
| 1435 |
except Exception as e:
|
1433 |
except Exception as e:
|
| 1436 |
print "Exception in ending alert in MarkOrderAsRTO method"
|
1434 |
print "Exception in ending alert in MarkOrderAsRTO method"
|
| 1437 |
print e
|
1435 |
print e
|
| - |
|
1436 |
update_trust_level(orders[0])
|
| - |
|
1437 |
session.commit()
|
| 1438 |
else:
|
1438 |
else:
|
| 1439 |
if selectedOrder == None or selectedOrder.status not in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.DELIVERED_AT_STORE, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DELIVERY_SUCCESS]:
|
1439 |
if selectedOrder == None or selectedOrder.status not in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.DELIVERED_AT_STORE, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DELIVERY_SUCCESS]:
|
| 1440 |
return False
|
1440 |
return False
|
| 1441 |
selectedOrder.status = OrderStatus.RTO_IN_TRANSIT
|
1441 |
selectedOrder.status = OrderStatus.RTO_IN_TRANSIT
|
| 1442 |
selectedOrder.delivery_timestamp = datetime.datetime.now()
|
1442 |
selectedOrder.delivery_timestamp = datetime.datetime.now()
|
| Line 1640... |
Line 1640... |
| 1640 |
|
1640 |
|
| 1641 |
def update_trust_level(order):
|
1641 |
def update_trust_level(order):
|
| 1642 |
try:
|
1642 |
try:
|
| 1643 |
trust_level_delta = 0
|
1643 |
trust_level_delta = 0
|
| 1644 |
if order.cod == True:
|
1644 |
if order.cod == True:
|
| - |
|
1645 |
if order.status in [OrderStatus.RTO_RESHIPPED] and order.logisticsTransactionId:
|
| - |
|
1646 |
earlierMarkedReshipped = Order.query.filter(Order.logisticsTransactionId == order.logisticsTransactionId).filter(Order.status==OrderStatus.RTO_RESHIPPED).first()
|
| - |
|
1647 |
if earlierMarkedReshipped is None:
|
| - |
|
1648 |
trust_level_delta = ORDER_STATUS_TO_USER_TRUST_LEVEL_DELTA_DICT.get(order.status, 0)
|
| - |
|
1649 |
else:
|
| 1645 |
trust_level_delta = ORDER_STATUS_TO_USER_TRUST_LEVEL_DELTA_DICT.get(order.status, 0)
|
1650 |
trust_level_delta = ORDER_STATUS_TO_USER_TRUST_LEVEL_DELTA_DICT.get(order.status, 0)
|
| 1646 |
|
1651 |
|
| 1647 |
if (trust_level_delta != 0):
|
1652 |
if (trust_level_delta != 0):
|
| 1648 |
user_client = UserClient().get_client()
|
1653 |
user_client = UserClient().get_client()
|
| 1649 |
user_client.increaseTrustLevel(order.customer_id, trust_level_delta)
|
1654 |
user_client.increaseTrustLevel(order.customer_id, trust_level_delta)
|
| 1650 |
except Exception as e:
|
1655 |
except Exception as e:
|
| Line 2377... |
Line 2382... |
| 2377 |
except Exception as e:
|
2382 |
except Exception as e:
|
| 2378 |
print e
|
2383 |
print e
|
| 2379 |
else:
|
2384 |
else:
|
| 2380 |
order.status = OrderStatus.DELIVERY_SUCCESS
|
2385 |
order.status = OrderStatus.DELIVERY_SUCCESS
|
| 2381 |
order.statusDescription = "Order delivered"
|
2386 |
order.statusDescription = "Order delivered"
|
| 2382 |
update_trust_level(order)
|
- |
|
| 2383 |
if order.insuranceDetails:
|
2387 |
if order.insuranceDetails:
|
| 2384 |
try:
|
2388 |
try:
|
| 2385 |
update_insurance_details(order)
|
2389 |
update_insurance_details(order)
|
| 2386 |
except:
|
2390 |
except:
|
| 2387 |
print "Error generating insurance file for order " + str(order.id)
|
2391 |
print "Error generating insurance file for order " + str(order.id)
|
| Line 2400... |
Line 2404... |
| 2400 |
print e
|
2404 |
print e
|
| 2401 |
|
2405 |
|
| 2402 |
for logisticsTxnId, ordersList in logisticsTxnIdOrdersMap.iteritems():
|
2406 |
for logisticsTxnId, ordersList in logisticsTxnIdOrdersMap.iteritems():
|
| 2403 |
if enqueue_delivery_success_mail(logisticsTxnId, ordersList) :
|
2407 |
if enqueue_delivery_success_mail(logisticsTxnId, ordersList) :
|
| 2404 |
order = ordersList[0]
|
2408 |
order = ordersList[0]
|
| - |
|
2409 |
update_trust_level(order)
|
| 2405 |
if order.transaction.payment_option == capitalFloatPayMethod:
|
2410 |
if order.transaction.payment_option == capitalFloatPayMethod:
|
| 2406 |
total_amount = 0
|
2411 |
total_amount = 0
|
| 2407 |
for ordObj in ordersList:
|
2412 |
for ordObj in ordersList:
|
| 2408 |
total_amount = total_amount + ordObj.total_amount + ordObj.shippingCost - ordObj.gvAmount
|
2413 |
total_amount = total_amount + ordObj.total_amount + ordObj.shippingCost - ordObj.gvAmount
|
| 2409 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.LOAN, order.logisticsTransactionId)
|
2414 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.LOAN, order.logisticsTransactionId)
|
| Line 2482... |
Line 2487... |
| 2482 |
if order.first_dlvyatmp_timestamp is None:
|
2487 |
if order.first_dlvyatmp_timestamp is None:
|
| 2483 |
order.first_dlvyatmp_timestamp = deliveryTimestamp
|
2488 |
order.first_dlvyatmp_timestamp = deliveryTimestamp
|
| 2484 |
order.receiver = receiver
|
2489 |
order.receiver = receiver
|
| 2485 |
order.status = OrderStatus.DELIVERY_SUCCESS
|
2490 |
order.status = OrderStatus.DELIVERY_SUCCESS
|
| 2486 |
order.statusDescription = "Order delivered"
|
2491 |
order.statusDescription = "Order delivered"
|
| 2487 |
update_trust_level(order)
|
- |
|
| 2488 |
if order.insuranceDetails:
|
2492 |
if order.insuranceDetails:
|
| 2489 |
try:
|
2493 |
try:
|
| 2490 |
update_insurance_details(order)
|
2494 |
update_insurance_details(order)
|
| 2491 |
except:
|
2495 |
except:
|
| 2492 |
print "Error generating insurance file for order " + str(order.id)
|
2496 |
print "Error generating insurance file for order " + str(order.id)
|
| Line 2497... |
Line 2501... |
| 2497 |
order.dataInsuranceDetails[0].expiryDate = order.delivery_timestamp + timedelta(days = 90)
|
2501 |
order.dataInsuranceDetails[0].expiryDate = order.delivery_timestamp + timedelta(days = 90)
|
| 2498 |
|
2502 |
|
| 2499 |
if order.source == 2:
|
2503 |
if order.source == 2:
|
| 2500 |
sod = StoreOrderDetail.get_by(orderId = order.id)
|
2504 |
sod = StoreOrderDetail.get_by(orderId = order.id)
|
| 2501 |
sod.payStatus = StorePaymentStatus.FULL_PAY_RECEIVED
|
2505 |
sod.payStatus = StorePaymentStatus.FULL_PAY_RECEIVED
|
| 2502 |
session.commit()
|
- |
|
| 2503 |
|
2506 |
|
| 2504 |
if order.pickupStoreId and order.cod:
|
2507 |
if order.pickupStoreId and order.cod:
|
| 2505 |
__push_collection_to_hotspot(order, "SALE")
|
2508 |
__push_collection_to_hotspot(order, "SALE")
|
| 2506 |
|
2509 |
|
| 2507 |
for logisticsTxnId, ordersList in logisticsTxnIdOrdersMap.iteritems():
|
2510 |
for logisticsTxnId, ordersList in logisticsTxnIdOrdersMap.iteritems():
|
| Line 2520... |
Line 2523... |
| 2520 |
alert_client = AlertClient().get_client()
|
2523 |
alert_client = AlertClient().get_client()
|
| 2521 |
alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
|
2524 |
alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
|
| 2522 |
except Exception as e:
|
2525 |
except Exception as e:
|
| 2523 |
print "Exception in ending alert in MarkOrderAsDelivered method"
|
2526 |
print "Exception in ending alert in MarkOrderAsDelivered method"
|
| 2524 |
print e
|
2527 |
print e
|
| - |
|
2528 |
|
| - |
|
2529 |
update_trust_level(grouppedOrdersList[0])
|
| - |
|
2530 |
session.commit()
|
| 2525 |
|
2531 |
|
| 2526 |
|
2532 |
|
| 2527 |
def mark_order_as_received_at_store(orderId, deliveryTimestamp):
|
2533 |
def mark_order_as_received_at_store(orderId, deliveryTimestamp):
|
| 2528 |
order = Order.get_by(id=orderId)
|
2534 |
order = Order.get_by(id=orderId)
|
| 2529 |
if order != None or order.status in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DELIVERED_AT_STORE]:
|
2535 |
if order != None or order.status in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DELIVERED_AT_STORE]:
|
| Line 2556... |
Line 2562... |
| 2556 |
continue
|
2562 |
continue
|
| 2557 |
#raise TransactionServiceException(103, "No order found for the awb:" + awb)
|
2563 |
#raise TransactionServiceException(103, "No order found for the awb:" + awb)
|
| 2558 |
order.status = OrderStatus.RTO_IN_TRANSIT
|
2564 |
order.status = OrderStatus.RTO_IN_TRANSIT
|
| 2559 |
order.delivery_timestamp, reason = detail.split('|')
|
2565 |
order.delivery_timestamp, reason = detail.split('|')
|
| 2560 |
order.statusDescription = "Order Returned to Origin:" + reason
|
2566 |
order.statusDescription = "Order Returned to Origin:" + reason
|
| 2561 |
update_trust_level(order)
|
- |
|
| 2562 |
session.commit()
|
- |
|
| 2563 |
try:
|
2567 |
try:
|
| 2564 |
alert_client = AlertClient().get_client()
|
2568 |
alert_client = AlertClient().get_client()
|
| 2565 |
alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
|
2569 |
alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
|
| 2566 |
except Exception as e:
|
2570 |
except Exception as e:
|
| 2567 |
print "Exception in ending alert in MarkOrderAsRTO method"
|
2571 |
print "Exception in ending alert in MarkOrderAsRTO method"
|
| 2568 |
print e
|
2572 |
print e
|
| - |
|
2573 |
|
| - |
|
2574 |
update_trust_level(orders[0])
|
| - |
|
2575 |
session.commit()
|
| 2569 |
|
2576 |
|
| 2570 |
def get_rto_orders(provider_id):
|
2577 |
def get_rto_orders(provider_id):
|
| 2571 |
current_time = datetime.datetime.now()
|
2578 |
current_time = datetime.datetime.now()
|
| 2572 |
to_datetime = datetime.datetime(current_time.year, current_time.month, current_time.day)
|
2579 |
to_datetime = datetime.datetime(current_time.year, current_time.month, current_time.day)
|
| 2573 |
rto_orders = Order.query.filter_by(logistics_provider_id = provider_id).filter_by(status=OrderStatus.RTO_IN_TRANSIT).filter(Order.delivery_timestamp <= to_datetime).all()
|
2580 |
rto_orders = Order.query.filter_by(logistics_provider_id = provider_id).filter_by(status=OrderStatus.RTO_IN_TRANSIT).filter(Order.delivery_timestamp <= to_datetime).all()
|
| Line 3626... |
Line 3633... |
| 3626 |
for lineitem in order.lineitems:
|
3633 |
for lineitem in order.lineitems:
|
| 3627 |
inventoryClient.reduceReservationCount(lineitem.item_id, order.fulfilmentWarehouseId, sourceId, order.id, lineitem.quantity)
|
3634 |
inventoryClient.reduceReservationCount(lineitem.item_id, order.fulfilmentWarehouseId, sourceId, order.id, lineitem.quantity)
|
| 3628 |
except:
|
3635 |
except:
|
| 3629 |
print "Unable to reduce reservation count"
|
3636 |
print "Unable to reduce reservation count"
|
| 3630 |
|
3637 |
|
| 3631 |
def __clone_order(order, should_copy_billing_info, is_cod):
|
3638 |
def __clone_order(order, should_copy_billing_info, is_cod, reserved=True):
|
| 3632 |
current_time = datetime.datetime.now()
|
3639 |
current_time = datetime.datetime.now()
|
| 3633 |
new_order = Order()
|
3640 |
new_order = Order()
|
| 3634 |
new_order.customer_id = order.customer_id
|
3641 |
new_order.customer_id = order.customer_id
|
| 3635 |
new_order.customer_name = order.customer_name
|
3642 |
new_order.customer_name = order.customer_name
|
| 3636 |
new_order.customer_city = order.customer_city
|
3643 |
new_order.customer_city = order.customer_city
|
| Line 3705... |
Line 3712... |
| 3705 |
new_order.airwaybill_no = logistics_info.airway_billno
|
3712 |
new_order.airwaybill_no = logistics_info.airway_billno
|
| 3706 |
new_order.tracking_id = new_order.airwaybill_no
|
3713 |
new_order.tracking_id = new_order.airwaybill_no
|
| 3707 |
'''
|
3714 |
'''
|
| 3708 |
new_order.source = order.source
|
3715 |
new_order.source = order.source
|
| 3709 |
|
3716 |
|
| - |
|
3717 |
if reserved:
|
| 3710 |
order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
|
3718 |
order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
|
| 3711 |
new_order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
|
3719 |
new_order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
|
| 3712 |
new_order.promised_delivery_time = new_order.expected_delivery_time
|
3720 |
new_order.promised_delivery_time = new_order.expected_delivery_time
|
| 3713 |
new_order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
|
3721 |
new_order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
|
| 3714 |
new_order.promised_shipping_time = new_order.expected_shipping_time
|
3722 |
new_order.promised_shipping_time = new_order.expected_shipping_time
|
| - |
|
3723 |
else:
|
| - |
|
3724 |
order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
|
| - |
|
3725 |
new_order.expected_delivery_time = order.expected_delivery_time
|
| - |
|
3726 |
new_order.promised_delivery_time = order.promised_delivery_time
|
| - |
|
3727 |
new_order.expected_shipping_time = order.expected_shipping_time
|
| - |
|
3728 |
new_order.promised_shipping_time = order.promised_shipping_time
|
| 3715 |
|
3729 |
|
| 3716 |
if should_copy_billing_info:
|
3730 |
if should_copy_billing_info:
|
| 3717 |
new_order.vendorId = order.vendorId
|
3731 |
new_order.vendorId = order.vendorId
|
| 3718 |
new_order.invoice_number = order.invoice_number
|
3732 |
new_order.invoice_number = order.invoice_number
|
| 3719 |
new_order.billed_by = order.billed_by
|
3733 |
new_order.billed_by = order.billed_by
|
| Line 3735... |
Line 3749... |
| 3735 |
new_order.airwaybill_no= logistics_client.getEmptyAWB(new_order.logistics_provider_id, DeliveryType.PREPAID)
|
3749 |
new_order.airwaybill_no= logistics_client.getEmptyAWB(new_order.logistics_provider_id, DeliveryType.PREPAID)
|
| 3736 |
new_order.tracking_id = new_order.airwaybill_no
|
3750 |
new_order.tracking_id = new_order.airwaybill_no
|
| 3737 |
|
3751 |
|
| 3738 |
session.commit()
|
3752 |
session.commit()
|
| 3739 |
else:
|
3753 |
else:
|
| 3740 |
session.commit()
|
3754 |
session.commit()
|
| - |
|
3755 |
if reserved:
|
| 3741 |
inventoryClient = InventoryClient().get_client()
|
3756 |
inventoryClient = InventoryClient().get_client()
|
| 3742 |
inventoryClient.reserveItemInWarehouse(item_id, logistics_info.fulfilmentWarehouseId, sourceId, new_order.id, to_java_date(new_order.created_timestamp), to_java_date(new_order.promised_shipping_time), new_order.lineitems[0].quantity)
|
3757 |
inventoryClient.reserveItemInWarehouse(item_id, logistics_info.fulfilmentWarehouseId, sourceId, new_order.id, to_java_date(new_order.created_timestamp), to_java_date(new_order.promised_shipping_time), new_order.lineitems[0].quantity)
|
| 3743 |
|
3758 |
|
| 3744 |
if order.source == 2:
|
3759 |
if order.source == 2:
|
| 3745 |
new_order.advanceAmount = order.advanceAmount
|
3760 |
new_order.advanceAmount = order.advanceAmount
|
| 3746 |
new_order.storeId = order.storeId
|
3761 |
new_order.storeId = order.storeId
|
| 3747 |
oldSod = StoreOrderDetail.query.filter(StoreOrderDetail.orderId == order.id).filter(StoreOrderDetail.storeId == order.storeId).first()
|
3762 |
oldSod = StoreOrderDetail.query.filter(StoreOrderDetail.orderId == order.id).filter(StoreOrderDetail.storeId == order.storeId).first()
|
| Line 8553... |
Line 8568... |
| 8553 |
if warehouseDbConnection.open:
|
8568 |
if warehouseDbConnection.open:
|
| 8554 |
warehouseDbConnection.close()
|
8569 |
warehouseDbConnection.close()
|
| 8555 |
raise TransactionServiceException(318, "Unsufficient Quantity with this item number " + itemNumbers[0]+" in Vendor Warehouse Id- "+str(warehouse.id)+" Order Id:- "+str(order.id))
|
8570 |
raise TransactionServiceException(318, "Unsufficient Quantity with this item number " + itemNumbers[0]+" in Vendor Warehouse Id- "+str(warehouse.id)+" Order Id:- "+str(order.id))
|
| 8556 |
|
8571 |
|
| 8557 |
usedInventory = 0
|
8572 |
usedInventory = 0
|
| 8558 |
if nonSerializedUsedInventoryMap.has_key(item.id):
|
8573 |
if nonSerializedUsedInventoryMap.has_key(str(item.id)+"_"+str(warehouse.id)):
|
| 8559 |
usedInventory = nonSerializedUsedInventoryMap.get(item.id)
|
8574 |
usedInventory = nonSerializedUsedInventoryMap.get(str(item.id)+"_"+str(warehouse.id))
|
| 8560 |
usedInventory = usedInventory+orderQuantity
|
8575 |
usedInventory = usedInventory+orderQuantity
|
| 8561 |
nonSerializedUsedInventoryMap[item.id] = usedInventory
|
8576 |
nonSerializedUsedInventoryMap[str(item.id)+"_"+str(warehouse.id)] = usedInventory
|
| 8562 |
else:
|
8577 |
else:
|
| 8563 |
usedInventory = orderQuantity
|
8578 |
usedInventory = orderQuantity
|
| 8564 |
nonSerializedUsedInventoryMap[item.id] = usedInventory
|
8579 |
nonSerializedUsedInventoryMap[str(item.id)+"_"+str(warehouse.id)] = usedInventory
|
| 8565 |
|
8580 |
|
| 8566 |
if usedInventory > totalCurrentQuantity:
|
8581 |
if usedInventory > totalCurrentQuantity:
|
| 8567 |
if warehouseDbConnection.open:
|
8582 |
if warehouseDbConnection.open:
|
| 8568 |
warehouseDbConnection.close()
|
8583 |
warehouseDbConnection.close()
|
| 8569 |
raise TransactionServiceException(318, "Unsufficient Quantity with this item number " + itemNumbers[0]+" in Vendor Warehouse Id- "+str(warehouse.id)+" Order Id:- "+str(order.id))
|
8584 |
raise TransactionServiceException(318, "Unsufficient Quantity with this item number " + itemNumbers[0]+" in Vendor Warehouse Id- "+str(warehouse.id)+" Order Id:- "+str(order.id))
|
| Line 8700... |
Line 8715... |
| 8700 |
if warehouseDbConnection.open:
|
8715 |
if warehouseDbConnection.open:
|
| 8701 |
warehouseDbConnection.close()
|
8716 |
warehouseDbConnection.close()
|
| 8702 |
raise TransactionServiceException(110, "Unsufficient Quantity with this item number " + itemNumbers[0]+" in Vendor Warehouse Id- "+str(warehouse.id)+" Order Id:- "+str(order.id))
|
8717 |
raise TransactionServiceException(110, "Unsufficient Quantity with this item number " + itemNumbers[0]+" in Vendor Warehouse Id- "+str(warehouse.id)+" Order Id:- "+str(order.id))
|
| 8703 |
|
8718 |
|
| 8704 |
usedInventory = 0
|
8719 |
usedInventory = 0
|
| 8705 |
if nonSerializedUsedInventoryMap.has_key(item.id):
|
8720 |
if nonSerializedUsedInventoryMap.has_key(str(item.id)+"_"+str(warehouse.id)):
|
| 8706 |
usedInventory = nonSerializedUsedInventoryMap.get(item.id)
|
8721 |
usedInventory = nonSerializedUsedInventoryMap.get(str(item.id)+"_"+str(warehouse.id))
|
| 8707 |
usedInventory = usedInventory+orderQuantity
|
8722 |
usedInventory = usedInventory+orderQuantity
|
| 8708 |
nonSerializedUsedInventoryMap[item.id] = usedInventory
|
8723 |
nonSerializedUsedInventoryMap[str(item.id)+"_"+str(warehouse.id)] = usedInventory
|
| 8709 |
else:
|
8724 |
else:
|
| 8710 |
usedInventory = orderQuantity
|
8725 |
usedInventory = orderQuantity
|
| 8711 |
nonSerializedUsedInventoryMap[item.id] = usedInventory
|
8726 |
nonSerializedUsedInventoryMap[str(item.id)+"_"+str(warehouse.id)] = usedInventory
|
| 8712 |
|
8727 |
|
| 8713 |
if usedInventory > totalCurrentQuantity:
|
8728 |
if usedInventory > totalCurrentQuantity:
|
| 8714 |
if warehouseDbConnection.open:
|
8729 |
if warehouseDbConnection.open:
|
| 8715 |
warehouseDbConnection.close()
|
8730 |
warehouseDbConnection.close()
|
| 8716 |
raise TransactionServiceException(318, "Unsufficient Quantity with this item number " + itemNumbers[0]+" in Vendor Warehouse Id- "+str(warehouse.id)+" Order Id:- "+str(order.id))
|
8731 |
raise TransactionServiceException(318, "Unsufficient Quantity with this item number " + itemNumbers[0]+" in Vendor Warehouse Id- "+str(warehouse.id)+" Order Id:- "+str(order.id))
|
| Line 8930... |
Line 8945... |
| 8930 |
if split_order_quantity >=order.lineitems[0].quantity:
|
8945 |
if split_order_quantity >=order.lineitems[0].quantity:
|
| 8931 |
raise TransactionServiceException(115, "Split Quantity is greater than or equal to order quantity")
|
8946 |
raise TransactionServiceException(115, "Split Quantity is greater than or equal to order quantity")
|
| 8932 |
if order.status not in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.CAPTURE_IN_PROCESS, OrderStatus.REJECTED, OrderStatus.ACCEPTED]:
|
8947 |
if order.status not in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.CAPTURE_IN_PROCESS, OrderStatus.REJECTED, OrderStatus.ACCEPTED]:
|
| 8933 |
raise TransactionServiceException(115, "Order not allowed to be split")
|
8948 |
raise TransactionServiceException(115, "Order not allowed to be split")
|
| 8934 |
|
8949 |
|
| 8935 |
new_order = __clone_order(order, False, order.cod)
|
8950 |
new_order = __clone_order(order, False, order.cod, False)
|
| 8936 |
|
8951 |
|
| 8937 |
new_order.lineitems[0].quantity = split_order_quantity
|
8952 |
new_order.lineitems[0].quantity = split_order_quantity
|
| 8938 |
new_order.lineitems[0].total_price = new_order.lineitems[0].unit_price*split_order_quantity
|
8953 |
new_order.lineitems[0].total_price = new_order.lineitems[0].unit_price*split_order_quantity
|
| 8939 |
new_order.lineitems[0].total_weight = new_order.lineitems[0].unit_weight*split_order_quantity
|
8954 |
new_order.lineitems[0].total_weight = new_order.lineitems[0].unit_weight*split_order_quantity
|
| 8940 |
new_order.total_amount = new_order.lineitems[0].total_price
|
8955 |
new_order.total_amount = new_order.lineitems[0].total_price
|
| Line 8947... |
Line 8962... |
| 8947 |
order.total_amount = order.lineitems[0].total_price
|
8962 |
order.total_amount = order.lineitems[0].total_price
|
| 8948 |
order.total_weight = order.lineitems[0].total_weight
|
8963 |
order.total_weight = order.lineitems[0].total_weight
|
| 8949 |
order.shippingCost = order.shippingCost - new_order.shippingCost
|
8964 |
order.shippingCost = order.shippingCost - new_order.shippingCost
|
| 8950 |
|
8965 |
|
| 8951 |
session.commit()
|
8966 |
session.commit()
|
| - |
|
8967 |
inventoryClient = InventoryClient().get_client()
|
| - |
|
8968 |
inventoryClient.reserveItemInWarehouse(new_order.lineitems[0].item_id, new_order.fulfilmentWarehouseId, sourceId, new_order.id, to_java_date(new_order.created_timestamp), to_java_date(new_order.promised_shipping_time), new_order.lineitems[0].quantity)
|
| - |
|
8969 |
inventoryClient.reduceReservationCount(order.lineitems[0].item_id, order.fulfilmentWarehouseId, sourceId, order.id, order.lineitems[0].quantity)
|
| - |
|
8970 |
|
| 8952 |
html = """
|
8971 |
html = """
|
| 8953 |
<html>
|
8972 |
<html>
|
| 8954 |
<body>
|
8973 |
<body>
|
| 8955 |
<div>
|
8974 |
<div>
|
| 8956 |
<p>Dear Customer,</p>
|
8975 |
<p>Dear Customer,</p>
|