Subversion Repositories SmartDukaan

Rev

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

Rev 1225 Rev 1246
Line 298... Line 298...
298
        order = Order.query.filter_by(airwaybill_no=awb, logistics_provider_id = provider_id).first()
298
        order = Order.query.filter_by(airwaybill_no=awb, logistics_provider_id = provider_id).first()
299
        if order == None:
299
        if order == None:
300
            raise TransactionServiceException(102, "No order found for the awb: " + awb)
300
            raise TransactionServiceException(102, "No order found for the awb: " + awb)
301
        order.status = OrderStatus.SHIPPED_TO_LOGST
301
        order.status = OrderStatus.SHIPPED_TO_LOGST
302
        order.statusDescription = "Order picked up by Courier Company"
302
        order.statusDescription = "Order picked up by Courier Company"
303
        order.pickup_timestamp = to_py_date(pickup_timestamp)
303
        order.pickup_timestamp = pickup_timestamp
304
    session.commit()
304
    session.commit()
305
 
305
 
306
    current_time = datetime.datetime.now()
306
    current_time = datetime.datetime.now()
307
    to_datetime = datetime.datetime(current_time.year, current_time.month, current_time.day)
307
    to_datetime = datetime.datetime(current_time.year, current_time.month, current_time.day)
308
    from_datetime = to_datetime - datetime.timedelta(1)
308
    from_datetime = to_datetime - datetime.timedelta(2)
309
    orders_not_picked_up = Order.query.filter_by(logistics_provider_id = provider_id).filter_by(status=OrderStatus.SHIPPED_FROM_WH).filter(Order.shipping_timestamp >= from_datetime).filter(Order.shipping_timestamp <= to_datetime).all()
309
    orders_not_picked_up = Order.query.filter_by(logistics_provider_id = provider_id).filter_by(status=OrderStatus.SHIPPED_FROM_WH).filter(Order.shipping_timestamp >= from_datetime).filter(Order.shipping_timestamp <= to_datetime).all()
310
    return orders_not_picked_up
310
    return orders_not_picked_up
311
 
311
 
312
def mark_orders_as_delivered(provider_id, delivered_orders):
312
def mark_orders_as_delivered(provider_id, delivered_orders):
313
    for awb, detail in delivered_orders.iteritems():
313
    for awb, detail in delivered_orders.iteritems():
Line 327... Line 327...
327
        order.status = OrderStatus.FAILED
327
        order.status = OrderStatus.FAILED
328
        order.delivery_timestamp, reason = detail.split('|')
328
        order.delivery_timestamp, reason = detail.split('|')
329
        order.statusDescription = "Order Returned to Origin:" + reason
329
        order.statusDescription = "Order Returned to Origin:" + reason
330
    session.commit()    
330
    session.commit()    
331
 
331
 
-
 
332
def update_non_delivery_reason(provider_id, undelivered_orders):
-
 
333
    for awb, reason in undelivered_orders.iteritems():
-
 
334
        order = Order.query.filter_by(airwaybill_no=awb, logistics_provider_id = provider_id).first()
-
 
335
        if order == None:
-
 
336
            raise TransactionServiceException(103, "No order found for the awb:" + awb)
-
 
337
        order.statusDescription = reason
-
 
338
    session.commit()
-
 
339
 
332
def get_alerts(order_id, all):
340
def get_alerts(order_id, all):
333
    query = Alerts.query.filter_by(order_id=order_id)
341
    query = Alerts.query.filter_by(order_id=order_id)
334
    if not all:
342
    if not all:
335
        query = query.filter_by(valid=True)
343
        query = query.filter_by(valid=True)
336
    return query.all()
344
    return query.all()