Subversion Repositories SmartDukaan

Rev

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

Rev 12786 Rev 12787
Line 423... Line 423...
423
                order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
423
                order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
424
                order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
424
                order.expected_shipping_time = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
425
                order.promised_shipping_time = order.expected_shipping_time
425
                order.promised_shipping_time = order.expected_shipping_time
426
                order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
426
                order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
427
                order.promised_delivery_time = order.expected_delivery_time
427
                order.promised_delivery_time = order.expected_delivery_time
-
 
428
 
-
 
429
            inventory_client = InventoryClient().get_client()
-
 
430
            if OrderType.B2B == order.orderType:
-
 
431
                #get state
-
 
432
                stateMaster = fetchStateMaster()
-
 
433
                stateId = -1
-
 
434
                for k, v in stateMaster.iteritems():
-
 
435
                    if v.state == order.customer_state:
-
 
436
                        stateId = k
-
 
437
                        break
-
 
438
                if stateId == -1:
-
 
439
                    raise TransactionServiceException(108, "No such State")
-
 
440
                goodWhIds = inventory_client.getOursGoodWarehouseIdsForLocation(stateId)
-
 
441
                if goodWhIds is None or len(goodWhIds) == 0:
-
 
442
                    raise TransactionServiceException(108, "No availability from this location")
-
 
443
                fulfilmentWarehouseId = goodWhIds[0]
-
 
444
                for goodWhId in goodWhIds:
-
 
445
                    availability = inventory_client.getItemAvailibilityAtWarehouse(goodWhId, order.lineitems[0].item_id)
-
 
446
                    if availability > 0:
-
 
447
                        fulfillmentWh = inventory_client.getWarehouse(goodWhId)
-
 
448
                        order.warehouse_id = fulfillmentWh.billingWarehouseId
-
 
449
                        fulfilmentWarehouseId = goodWhId
-
 
450
                    break
-
 
451
                
-
 
452
                order.fulfilmentWarehouseId = fulfilmentWarehouseId
-
 
453
            
428
             
454
              
-
 
455
                
-
 
456
                            
429
            if order.pickupStoreId:
457
            if order.pickupStoreId:
430
                order.otg = False
458
                order.otg = False
431
                
459
                
432
            inventory_client = InventoryClient().get_client()
-
 
433
            if order.productCondition != ProductCondition.BAD:
460
            if order.productCondition != ProductCondition.BAD:
434
                inventory_client.reserveItemInWarehouse(item_id, logistics_info.fulfilmentWarehouseId, sourceId, order.id, to_java_date(order.created_timestamp), to_java_date(order.promised_shipping_time), order.lineitems[0].quantity)
461
                inventory_client.reserveItemInWarehouse(item_id, logistics_info.fulfilmentWarehouseId, sourceId, order.id, to_java_date(order.created_timestamp), to_java_date(order.promised_shipping_time), order.lineitems[0].quantity)
435
 
462
 
436
            try:
463
            try:
437
                item_pricing = inventory_client.getItemPricing(item_id, -1)
464
                item_pricing = inventory_client.getItemPricing(item_id, -1)
Line 487... Line 514...
487
                order.promised_shipping_time = order.expected_shipping_time
514
                order.promised_shipping_time = order.expected_shipping_time
488
                order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
515
                order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
489
                order.promised_delivery_time = order.expected_delivery_time
516
                order.promised_delivery_time = order.expected_delivery_time
490
            
517
            
491
            inventory_client = InventoryClient().get_client()
518
            inventory_client = InventoryClient().get_client()
-
 
519
            if OrderType.B2B == order.orderType:
-
 
520
                #get state
-
 
521
                stateMaster = fetchStateMaster()
-
 
522
                stateId = -1
-
 
523
                for k, v in stateMaster.iteritems():
-
 
524
                    if v.state == order.customer_state:
-
 
525
                        stateId = k
-
 
526
                        break
-
 
527
                if stateId == -1:
-
 
528
                    raise TransactionServiceException(108, "No such State")
-
 
529
                goodWhIds = inventory_client.getOursGoodWarehouseIdsForLocation(stateId)
-
 
530
                
-
 
531
                if goodWhIds is None or len(goodWhIds) == 0:
-
 
532
                    raise TransactionServiceException(108, "No availability from this location")
-
 
533
                fulfilmentWarehouseId = goodWhIds[0]
-
 
534
                for goodWhId in goodWhIds:
-
 
535
                    availability = inventory_client.getItemAvailibilityAtWarehouse(goodWhId, order.lineitems[0].item_id)
-
 
536
                    if availability > 0:
-
 
537
                        fulfillmentWh = inventory_client.getWarehouse(goodWhId)
-
 
538
                        order.warehouse_id = fulfillmentWh.billingWarehouseId
-
 
539
                        fulfilmentWarehouseId = goodWhId
-
 
540
                    break
-
 
541
                
-
 
542
                order.fulfilmentWarehouseId = fulfilmentWarehouseId
-
 
543
            
492
            if order.productCondition != ProductCondition.BAD:
544
            if order.productCondition != ProductCondition.BAD:
493
                inventory_client.reserveItemInWarehouse(item_id, logistics_info.fulfilmentWarehouseId, sourceId, order.id, to_java_date(order.created_timestamp), to_java_date(order.promised_shipping_time), order.lineitems[0].quantity)
545
                inventory_client.reserveItemInWarehouse(item_id, logistics_info.fulfilmentWarehouseId, sourceId, order.id, to_java_date(order.created_timestamp), to_java_date(order.promised_shipping_time), order.lineitems[0].quantity)
494
 
546
 
495
            try:
547
            try:
496
                item_pricing = inventory_client.getItemPricing(item_id, -1)
548
                item_pricing = inventory_client.getItemPricing(item_id, -1)