Subversion Repositories SmartDukaan

Rev

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

Rev 4088 Rev 4102
Line 78... Line 78...
78
        order.logistics_provider_id = t_order.logistics_provider_id
78
        order.logistics_provider_id = t_order.logistics_provider_id
79
        order.airwaybill_no = t_order.airwaybill_no
79
        order.airwaybill_no = t_order.airwaybill_no
80
        order.tracking_id = t_order.tracking_id
80
        order.tracking_id = t_order.tracking_id
81
    if t_order.expected_shipping_time:
81
    if t_order.expected_shipping_time:
82
        order.expected_shipping_time = to_py_date(t_order.expected_shipping_time).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
82
        order.expected_shipping_time = to_py_date(t_order.expected_shipping_time).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
-
 
83
        order.promised_shipping_time = order.expected_shipping_time
83
    if t_order.expected_delivery_time:
84
    if t_order.expected_delivery_time:
84
        order.expected_delivery_time = to_py_date(t_order.expected_delivery_time)
85
        order.expected_delivery_time = to_py_date(t_order.expected_delivery_time)
85
        order.promised_delivery_time = to_py_date(t_order.expected_delivery_time)
86
        order.promised_delivery_time = order.expected_delivery_time
86
    if t_order.customer_id:    
87
    if t_order.customer_id:    
87
        order.customer_id = t_order.customer_id
88
        order.customer_id = t_order.customer_id
88
        order.customer_name = t_order.customer_name
89
        order.customer_name = t_order.customer_name
89
        order.customer_city = t_order.customer_city
90
        order.customer_city = t_order.customer_city
90
        order.customer_state = t_order.customer_state
91
        order.customer_state = t_order.customer_state
Line 207... Line 208...
207
            order.warehouse_id = logistics_info.warehouseId
208
            order.warehouse_id = logistics_info.warehouseId
208
            order.logistics_provider_id = logistics_info.providerId
209
            order.logistics_provider_id = logistics_info.providerId
209
            order.airwaybill_no = logistics_info.airway_billno
210
            order.airwaybill_no = logistics_info.airway_billno
210
            order.tracking_id = order.airwaybill_no
211
            order.tracking_id = order.airwaybill_no
211
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
212
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
-
 
213
            order.promised_shipping_time = order.expected_shipping_time
212
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
214
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
213
            order.promised_delivery_time = order.expected_delivery_time 
215
            order.promised_delivery_time = order.expected_delivery_time 
214
            
216
            
215
            catalog_client = CatalogClient().get_client()
217
            catalog_client = CatalogClient().get_client()
216
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
218
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
Line 235... Line 237...
235
            order.warehouse_id = logistics_info.warehouseId
237
            order.warehouse_id = logistics_info.warehouseId
236
            order.logistics_provider_id = logistics_info.providerId
238
            order.logistics_provider_id = logistics_info.providerId
237
            order.airwaybill_no = logistics_info.airway_billno
239
            order.airwaybill_no = logistics_info.airway_billno
238
            order.tracking_id = order.airwaybill_no
240
            order.tracking_id = order.airwaybill_no
239
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
241
            order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
-
 
242
            order.promised_shipping_time = order.expected_shipping_time
240
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
243
            order.expected_delivery_time = current_time + datetime.timedelta(days=logistics_info.deliveryTime)
241
            order.promised_delivery_time = order.expected_delivery_time
244
            order.promised_delivery_time = order.expected_delivery_time
242
            
245
            
243
            catalog_client = CatalogClient().get_client()
246
            catalog_client = CatalogClient().get_client()
244
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
247
            catalog_client.reserveItemInWarehouse(item_id, logistics_info.warehouseId, order.lineitems[0].quantity)
Line 1344... Line 1347...
1344
    Adds a delay reason to the order and updates the expected delivery time.
1347
    Adds a delay reason to the order and updates the expected delivery time.
1345
    '''
1348
    '''
1346
    order = get_order(order_id)
1349
    order = get_order(order_id)
1347
    try:
1350
    try:
1348
        order.delay_reason = DelayReason._VALUES_TO_NAMES[reason]
1351
        order.delay_reason = DelayReason._VALUES_TO_NAMES[reason]
1349
        actual_shipping_delay = adjust_delivery_time(order.expected_shipping_time, further_delay) 
-
 
1350
        actual_delivery_delay = adjust_delivery_time(order.expected_delivery_time, further_delay)
1352
        actual_delivery_delay = adjust_delivery_time(order.expected_delivery_time, further_delay)
1351
        order.expected_shipping_time = order.expected_shipping_time + datetime.timedelta(days=actual_shipping_delay)
-
 
1352
        order.expected_delivery_time = order.expected_delivery_time + datetime.timedelta(days=actual_delivery_delay)
1353
        order.expected_delivery_time = order.expected_delivery_time + datetime.timedelta(days=actual_delivery_delay)
-
 
1354
        
-
 
1355
        if order.status < OrderStatus.SHIPPED_FROM_WH:
-
 
1356
            actual_shipping_delay = adjust_delivery_time(order.expected_shipping_time, further_delay)
-
 
1357
            order.expected_shipping_time = order.expected_shipping_time + datetime.timedelta(days=actual_shipping_delay)
-
 
1358
            
1353
        session.commit()
1359
        session.commit()
1354
 
1360
 
1355
        try:
1361
        try:
1356
            transaction_requiring_extra_processing = TransactionRequiringExtraProcessing()
1362
            transaction_requiring_extra_processing = TransactionRequiringExtraProcessing()
1357
            transaction_requiring_extra_processing.category = 'DELAYED_DELIVERY'
1363
            transaction_requiring_extra_processing.category = 'DELAYED_DELIVERY'