Subversion Repositories SmartDukaan

Rev

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

Rev 4009 Rev 4018
Line 71... Line 71...
71
    if t_order.logistics_provider_id:    
71
    if t_order.logistics_provider_id:    
72
        order.logistics_provider_id = t_order.logistics_provider_id
72
        order.logistics_provider_id = t_order.logistics_provider_id
73
        order.airwaybill_no = t_order.airwaybill_no
73
        order.airwaybill_no = t_order.airwaybill_no
74
        order.tracking_id = t_order.tracking_id
74
        order.tracking_id = t_order.tracking_id
75
    if t_order.expected_shipping_time:
75
    if t_order.expected_shipping_time:
76
        order.expected_shipping_time = to_py_date(t_order.expected_shipping_time)
76
        order.expected_shipping_time = to_py_date(t_order.expected_shipping_time).replace(hour=15, minute=0, second=0)
77
    if t_order.expected_delivery_time:
77
    if t_order.expected_delivery_time:
78
        order.expected_delivery_time = to_py_date(t_order.expected_delivery_time)
78
        order.expected_delivery_time = to_py_date(t_order.expected_delivery_time)
79
        order.promised_delivery_time = to_py_date(t_order.expected_delivery_time)
79
        order.promised_delivery_time = to_py_date(t_order.expected_delivery_time)
80
    if t_order.customer_id:    
80
    if t_order.customer_id:    
81
        order.customer_id = t_order.customer_id
81
        order.customer_id = t_order.customer_id
Line 200... Line 200...
200
            
200
            
201
            order.warehouse_id = logistics_info.warehouseId
201
            order.warehouse_id = logistics_info.warehouseId
202
            order.logistics_provider_id = logistics_info.providerId
202
            order.logistics_provider_id = logistics_info.providerId
203
            order.airwaybill_no = logistics_info.airway_billno
203
            order.airwaybill_no = logistics_info.airway_billno
204
            order.tracking_id = order.airwaybill_no
204
            order.tracking_id = order.airwaybill_no
205
            order.expected_shipping_time = current_time + datetime.timedelta(days=logistics_info.shippingTime)
205
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=15, minute=0, second=0)
206
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
206
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
207
            order.promised_delivery_time = order.expected_delivery_time 
207
            order.promised_delivery_time = order.expected_delivery_time 
208
            
208
            
209
            catalog_client = CatalogClient().get_client()
209
            catalog_client = CatalogClient().get_client()
210
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
210
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
Line 228... Line 228...
228
            
228
            
229
            order.warehouse_id = logistics_info.warehouseId
229
            order.warehouse_id = logistics_info.warehouseId
230
            order.logistics_provider_id = logistics_info.providerId
230
            order.logistics_provider_id = logistics_info.providerId
231
            order.airwaybill_no = logistics_info.airway_billno
231
            order.airwaybill_no = logistics_info.airway_billno
232
            order.tracking_id = order.airwaybill_no
232
            order.tracking_id = order.airwaybill_no
233
            order.expected_shipping_time = current_time + datetime.timedelta(days=logistics_info.shippingTime)
233
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=12, minute=0, second=0)
234
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
234
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
235
            order.promised_delivery_time = order.expected_delivery_time
235
            order.promised_delivery_time = order.expected_delivery_time
236
            
236
            
237
            catalog_client = CatalogClient().get_client()
237
            catalog_client = CatalogClient().get_client()
238
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
238
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
Line 1408... Line 1408...
1408
def mark_transaction_as_processed(transactionId, category):
1408
def mark_transaction_as_processed(transactionId, category):
1409
    TransactionRequiringExtraProcessing.query.filter_by(transaction_id = transactionId).filter_by(category = ExtraTransactionProcessingType._VALUES_TO_NAMES.get(category)).delete()
1409
    TransactionRequiringExtraProcessing.query.filter_by(transaction_id = transactionId).filter_by(category = ExtraTransactionProcessingType._VALUES_TO_NAMES.get(category)).delete()
1410
    session.commit()
1410
    session.commit()
1411
    return
1411
    return
1412
 
1412
 
-
 
1413
def get_item_wise_risky_orders_count():
-
 
1414
    """
-
 
1415
    Returns a map containing the number of risky orders keyed by item id. A risky order
-
 
1416
    is defined as one whose shipping date is about to expire.
-
 
1417
    """
-
 
1418
    item_wise_risky_orders_count = {}
-
 
1419
    shipping_cutoff_time = (datetime.datetime.now() + datetime.timedelta(days = 1)).replace(hour=15, minute=0, second=0)
-
 
1420
    orders = Order.query.filter(Order.status.in_(tuple([OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.ACCEPTED]))).filter(Order.expected_shipping_time <= shipping_cutoff_time).all()
-
 
1421
    for order in orders:
-
 
1422
        for lineitem in order.lineitems:
-
 
1423
            quantity = lineitem.quantity
-
 
1424
            if item_wise_risky_orders_count.has_key(lineitem.item_id):
-
 
1425
                quantity = quantity + item_wise_risky_orders_count[lineitem.item_id]
-
 
1426
            
-
 
1427
            item_wise_risky_orders_count[lineitem.item_id] = quantity
-
 
1428
    return item_wise_risky_orders_count
-
 
1429
 
1413
def close_session():
1430
def close_session():
1414
    if session.is_active:
1431
    if session.is_active:
1415
        print "session is active. closing it."
1432
        print "session is active. closing it."
1416
        session.close()
1433
        session.close()
1417
 
1434