Subversion Repositories SmartDukaan

Rev

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

Rev 4008 Rev 4009
Line 70... Line 70...
70
        order.warehouse_id = t_order.warehouse_id
70
        order.warehouse_id = t_order.warehouse_id
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:
-
 
76
        order.expected_shipping_time = to_py_date(t_order.expected_shipping_time)
75
    if t_order.expected_delivery_time:    
77
    if t_order.expected_delivery_time:
76
        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)
77
        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)
78
    if t_order.customer_id:    
80
    if t_order.customer_id:    
79
        order.customer_id = t_order.customer_id
81
        order.customer_id = t_order.customer_id
80
        order.customer_name = t_order.customer_name
82
        order.customer_name = t_order.customer_name
Line 192... Line 194...
192
            item_id = order.lineitems[0].item_id
194
            item_id = order.lineitems[0].item_id
193
            logistics_info = logistics_client.getLogisticsInfo(order.customer_pincode, item_id, DeliveryType.PREPAID)
195
            logistics_info = logistics_client.getLogisticsInfo(order.customer_pincode, item_id, DeliveryType.PREPAID)
194
            
196
            
195
            current_time = datetime.datetime.now()
197
            current_time = datetime.datetime.now()
196
            logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
198
            logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
-
 
199
            logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
197
            
200
            
198
            order.warehouse_id = logistics_info.warehouseId
201
            order.warehouse_id = logistics_info.warehouseId
199
            order.logistics_provider_id = logistics_info.providerId
202
            order.logistics_provider_id = logistics_info.providerId
200
            order.airwaybill_no = logistics_info.airway_billno
203
            order.airwaybill_no = logistics_info.airway_billno
201
            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)
202
            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)
203
            order.promised_delivery_time = order.expected_delivery_time 
207
            order.promised_delivery_time = order.expected_delivery_time 
204
            
208
            
205
            catalog_client = CatalogClient().get_client()
209
            catalog_client = CatalogClient().get_client()
206
            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 218... Line 222...
218
            item_id = order.lineitems[0].item_id
222
            item_id = order.lineitems[0].item_id
219
            logistics_info = logistics_client.getLogisticsInfo(order.customer_pincode, item_id, DeliveryType.COD)
223
            logistics_info = logistics_client.getLogisticsInfo(order.customer_pincode, item_id, DeliveryType.COD)
220
            
224
            
221
            current_time = datetime.datetime.now()
225
            current_time = datetime.datetime.now()
222
            logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
226
            logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
-
 
227
            logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
223
            
228
            
224
            order.warehouse_id = logistics_info.warehouseId
229
            order.warehouse_id = logistics_info.warehouseId
225
            order.logistics_provider_id = logistics_info.providerId
230
            order.logistics_provider_id = logistics_info.providerId
226
            order.airwaybill_no = logistics_info.airway_billno
231
            order.airwaybill_no = logistics_info.airway_billno
227
            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)
228
            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)
229
            order.promised_delivery_time = order.expected_delivery_time
235
            order.promised_delivery_time = order.expected_delivery_time
230
            
236
            
231
            catalog_client = CatalogClient().get_client()
237
            catalog_client = CatalogClient().get_client()
232
            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 1329... Line 1335...
1329
    Adds a delay reason to the order and updates the expected delivery time.
1335
    Adds a delay reason to the order and updates the expected delivery time.
1330
    '''
1336
    '''
1331
    order = get_order(order_id)
1337
    order = get_order(order_id)
1332
    try:
1338
    try:
1333
        order.delay_reason = DelayReason._VALUES_TO_NAMES[reason]
1339
        order.delay_reason = DelayReason._VALUES_TO_NAMES[reason]
-
 
1340
        actual_shipping_delay = adjust_delivery_time(order.expected_shipping_time, further_delay) 
1334
        actual_delay = adjust_delivery_time(order.expected_delivery_time, further_delay)
1341
        actual_delivery_delay = adjust_delivery_time(order.expected_delivery_time, further_delay)
-
 
1342
        order.expected_shipping_time = order.expected_shipping_time + datetime.timedelta(days=actual_shipping_delay)
1335
        order.expected_delivery_time = order.expected_delivery_time + datetime.timedelta(days=actual_delay)
1343
        order.expected_delivery_time = order.expected_delivery_time + datetime.timedelta(days=actual_delivery_delay)
1336
        session.commit()
1344
        session.commit()
1337
 
1345
 
1338
        try:
1346
        try:
1339
            transaction_requiring_extra_processing = TransactionRequiringExtraProcessing()
1347
            transaction_requiring_extra_processing = TransactionRequiringExtraProcessing()
1340
            transaction_requiring_extra_processing.category = 'DELAYED_DELIVERY'
1348
            transaction_requiring_extra_processing.category = 'DELAYED_DELIVERY'