Subversion Repositories SmartDukaan

Rev

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

Rev 6719 Rev 6726
Line 293... Line 293...
293
            logistics_info = logistics_client.getLogisticsInfo(order.customer_pincode, item_id, DeliveryType.PREPAID, pickUp)
293
            logistics_info = logistics_client.getLogisticsInfo(order.customer_pincode, item_id, DeliveryType.PREPAID, pickUp)
294
            
294
            
295
            current_time = datetime.datetime.now()
295
            current_time = datetime.datetime.now()
296
            logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
296
            logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
297
            logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
297
            logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
-
 
298
            logistics_info.deliveryDelay = adjust_delivery_time(current_time, (logistics_info.shippingTime+logistics_info.deliveryDelay))
298
 
299
 
299
            order.otg = logistics_info.otgAvailable
300
            order.otg = logistics_info.otgAvailable
300
            order.warehouse_id = logistics_info.warehouseId
301
            order.warehouse_id = logistics_info.warehouseId
301
            order.fulfilmentWarehouseId = logistics_info.fulfilmentWarehouseId
302
            order.fulfilmentWarehouseId = logistics_info.fulfilmentWarehouseId
302
            order.logistics_provider_id = logistics_info.providerId
303
            order.logistics_provider_id = logistics_info.providerId
303
            order.airwaybill_no = logistics_info.airway_billno
304
            order.airwaybill_no = logistics_info.airway_billno
304
            order.tracking_id = order.airwaybill_no
305
            order.tracking_id = order.airwaybill_no
-
 
306
            order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
305
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
307
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
306
            order.promised_shipping_time = order.expected_shipping_time
308
            order.promised_shipping_time = order.expected_shipping_time
307
            order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
309
            order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
308
            order.promised_delivery_time = order.expected_delivery_time 
310
            order.promised_delivery_time = order.expected_delivery_time 
309
            
311
            
Line 347... Line 349...
347
                order.otg = logistics_info.otgAvailable
349
                order.otg = logistics_info.otgAvailable
348
 
350
 
349
            current_time = datetime.datetime.now()
351
            current_time = datetime.datetime.now()
350
            logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
352
            logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
351
            logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
353
            logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
-
 
354
            logistics_info.deliveryDelay = adjust_delivery_time(current_time, (logistics_info.shippingTime+logistics_info.deliveryDelay))
352
            
355
 
353
            order.warehouse_id = logistics_info.warehouseId
356
            order.warehouse_id = logistics_info.warehouseId
354
            order.fulfilmentWarehouseId = logistics_info.fulfilmentWarehouseId
357
            order.fulfilmentWarehouseId = logistics_info.fulfilmentWarehouseId
355
            order.logistics_provider_id = logistics_info.providerId
358
            order.logistics_provider_id = logistics_info.providerId
356
            order.airwaybill_no = logistics_info.airway_billno
359
            order.airwaybill_no = logistics_info.airway_billno
357
            order.tracking_id = order.airwaybill_no
360
            order.tracking_id = order.airwaybill_no
-
 
361
            order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
358
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
362
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
359
            order.promised_shipping_time = order.expected_shipping_time
363
            order.promised_shipping_time = order.expected_shipping_time
360
            order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
364
            order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
361
            order.promised_delivery_time = order.expected_delivery_time
365
            order.promised_delivery_time = order.expected_delivery_time
362
            
366
            
Line 2447... Line 2451...
2447
        litem.order = new_order
2451
        litem.order = new_order
2448
 
2452
 
2449
    logistics_client = LogisticsClient().get_client()
2453
    logistics_client = LogisticsClient().get_client()
2450
    item_id = new_order.lineitems[0].item_id
2454
    item_id = new_order.lineitems[0].item_id
2451
    logistics_info = logistics_client.getLogisticsInfo(new_order.customer_pincode, item_id, is_cod, PickUpType.COURIER) #TODO: We should be able to pass another flag to suggest ignoring the inventory situation.
2455
    logistics_info = logistics_client.getLogisticsInfo(new_order.customer_pincode, item_id, is_cod, PickUpType.COURIER) #TODO: We should be able to pass another flag to suggest ignoring the inventory situation.
-
 
2456
    logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
2452
    logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
2457
    logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
-
 
2458
    logistics_info.deliveryDelay = adjust_delivery_time(current_time, (logistics_info.shippingTime + logistics_info.deliveryDelay))
2453
    new_order.warehouse_id = logistics_info.warehouseId
2459
    new_order.warehouse_id = logistics_info.warehouseId
2454
    new_order.fulfilmentWarehouseId = logistics_info.fulfilmentWarehouseId
2460
    new_order.fulfilmentWarehouseId = logistics_info.fulfilmentWarehouseId
2455
    new_order.logistics_provider_id = logistics_info.providerId
2461
    new_order.logistics_provider_id = logistics_info.providerId
2456
    new_order.airwaybill_no = logistics_info.airway_billno
2462
    new_order.airwaybill_no = logistics_info.airway_billno
2457
    new_order.tracking_id = new_order.airwaybill_no
2463
    new_order.tracking_id = new_order.airwaybill_no
-
 
2464
    
-
 
2465
    order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
2458
    new_order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
2466
    new_order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
2459
    new_order.promised_delivery_time = new_order.expected_delivery_time
2467
    new_order.promised_delivery_time = new_order.expected_delivery_time
2460
    new_order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
2468
    new_order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
2461
    new_order.promised_shipping_time = new_order.expected_shipping_time
2469
    new_order.promised_shipping_time = new_order.expected_shipping_time
2462
        
2470
        
2463
    if should_copy_billing_info:
2471
    if should_copy_billing_info:
Line 2777... Line 2785...
2777
        order.expected_delivery_time = order.expected_delivery_time + datetime.timedelta(days=actual_delivery_delay)
2785
        order.expected_delivery_time = order.expected_delivery_time + datetime.timedelta(days=actual_delivery_delay)
2778
        
2786
        
2779
        actual_shipping_delay = adjust_delivery_time(order.expected_shipping_time, further_delay)
2787
        actual_shipping_delay = adjust_delivery_time(order.expected_shipping_time, further_delay)
2780
        order.expected_shipping_time = order.expected_shipping_time + datetime.timedelta(days=actual_shipping_delay)
2788
        order.expected_shipping_time = order.expected_shipping_time + datetime.timedelta(days=actual_shipping_delay)
2781
            
2789
            
-
 
2790
        order.courier_delivery_time = order.courier_delivery_time + datetime.timedelta(days=adjust_delivery_time(order.courier_delivery_time, further_delay))
-
 
2791
        
2782
        session.commit()
2792
        session.commit()
2783
 
2793
 
2784
        try:
2794
        try:
2785
            transaction_requiring_extra_processing = TransactionRequiringExtraProcessing()
2795
            transaction_requiring_extra_processing = TransactionRequiringExtraProcessing()
2786
            transaction_requiring_extra_processing.category = 'DELAYED_DELIVERY'
2796
            transaction_requiring_extra_processing.category = 'DELAYED_DELIVERY'
Line 2915... Line 2925...
2915
 
2925
 
2916
    order.otg = logistics_info.otgAvailable
2926
    order.otg = logistics_info.otgAvailable
2917
    current_time = datetime.datetime.now()
2927
    current_time = datetime.datetime.now()
2918
    logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
2928
    logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
2919
    logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
2929
    logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
-
 
2930
    logistics_info.deliveryDelay = adjust_delivery_time(current_time, (logistics_info.shippingTime+logistics_info.deliveryDelay))
2920
 
2931
 
2921
    order.customer_name         = address.name
2932
    order.customer_name         = address.name
2922
    order.customer_pincode      = address.pin
2933
    order.customer_pincode      = address.pin
2923
    order.customer_address1     = address.line1
2934
    order.customer_address1     = address.line1
2924
    order.customer_address2     = address.line2
2935
    order.customer_address2     = address.line2
Line 2926... Line 2937...
2926
    order.customer_state        = address.state
2937
    order.customer_state        = address.state
2927
    order.customer_mobilenumber = address.phone
2938
    order.customer_mobilenumber = address.phone
2928
 
2939
 
2929
    if order.cod:
2940
    if order.cod:
2930
        order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
2941
        order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
-
 
2942
        order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
-
 
2943
        order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
2931
    else:
2944
    else:
2932
        order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
2945
        order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
-
 
2946
        order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
-
 
2947
        order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
2933
 
2948
 
2934
    order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
-
 
2935
    order.promised_shipping_time = order.expected_shipping_time
2949
    order.promised_shipping_time = order.expected_shipping_time
2936
    order.promised_delivery_time = order.expected_delivery_time 
2950
    order.promised_delivery_time = order.expected_delivery_time 
2937
 
2951
 
2938
    session.commit()
2952
    session.commit()
2939
 
2953