Subversion Repositories SmartDukaan

Rev

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

Rev 20021 Rev 20024
Line 2721... Line 2721...
2721
                    alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
2721
                    alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
2722
                except Exception as e:
2722
                except Exception as e:
2723
                    print "Exception in scheduling alert in ShippedFromWarehouse method"
2723
                    print "Exception in scheduling alert in ShippedFromWarehouse method"
2724
                    print e
2724
                    print e
2725
        
2725
        
2726
            itemIds = []
-
 
2727
            ordersMap = {}
-
 
2728
            orderItemsMap = {}        
-
 
2729
            for order in orders:
-
 
2730
                if order.lineitems[0].item_id not in itemIds:
-
 
2731
                    itemIds.append(order.lineitems[0].item_id)
-
 
2732
                ordersMap[order.id] = order
-
 
2733
                orderItemsMap[order.id] = order.lineitems[0].item_id
-
 
2734
            
-
 
2735
            catalogClient = CatalogClient().get_client()
-
 
2736
            items = catalogClient.getItems(itemIds)
-
 
2737
            catalogIds = []
-
 
2738
            catalogItemsMap = {}
-
 
2739
            for item in items:
-
 
2740
                catalogIds.append(item.catalog_item_id)
-
 
2741
                catalogItemsMap[item.id] = item.catalog_item_id
-
 
2742
            
-
 
2743
            itemWarrantyInfoMap = catalogClient.getWarrantyInfoForItemList(catalogIds, ItemCondition.DAMAGED)
-
 
2744
            itemDOAWarrantyInfoMap = catalogClient.getWarrantyInfoForItemList(catalogIds, ItemCondition.DEFECTIVE)
-
 
2745
            
-
 
2746
            for orderId, order in ordersMap.items():
-
 
2747
                orderItemId = orderItemsMap.get(orderId)
-
 
2748
                orderCatalogItemId = catalogItemsMap.get(orderItemId)
-
 
2749
                itemWarrantyInfo = itemWarrantyInfoMap.get(orderCatalogItemId)
-
 
2750
                itemDOAWarrantyInfo = itemDOAWarrantyInfoMap.get(orderCatalogItemId)
-
 
2751
                
-
 
2752
                itemWarrntyVal = 0
-
 
2753
                doaItemWarrantyVal = 0
-
 
2754
                
-
 
2755
                if itemWarrantyInfo.key()[0]=='M':
-
 
2756
                    itemWarrntyVal = 30*itemWarrantyInfo.values()[0]
-
 
2757
                else:
-
 
2758
                    itemWarrntyVal = itemWarrantyInfo.values()[0]
-
 
2759
                
-
 
2760
                if itemDOAWarrantyInfo.key()[0]=='M':
-
 
2761
                    doaItemWarrantyVal = 30*itemDOAWarrantyInfo.values()[0]
-
 
2762
                else:
-
 
2763
                    doaItemWarrantyVal = itemDOAWarrantyInfo.values()[0]
-
 
2764
                
-
 
2765
                order.lineitems[0].warrantry_expiry_timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S") + timedelta(days=doaItemWarrantyVal) 
-
 
2766
                order.lineitems[0].damaged_expiry_timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S") + timedelta(days=itemWarrntyVal)
-
 
2767
    
2726
    
2768
    for logisticsTxnId, ordersList in logisticsTxnIdOrdersMap.iteritems():
2727
    for logisticsTxnId, ordersList in logisticsTxnIdOrdersMap.iteritems():
2769
        if enqueue_delivery_success_mail(logisticsTxnId, ordersList) :
2728
        if enqueue_delivery_success_mail(logisticsTxnId, ordersList) :
2770
            order = ordersList[0]
2729
            order = ordersList[0]
2771
            update_trust_level(order)
2730
            update_trust_level(order)
Line 2842... Line 2801...
2842
        if order.lineitems[0].item_id not in itemIds:
2801
        if order.lineitems[0].item_id not in itemIds:
2843
            itemIds.append(order.lineitems[0].item_id)
2802
            itemIds.append(order.lineitems[0].item_id)
2844
        ordersMap[order.id] = order
2803
        ordersMap[order.id] = order
2845
        orderItemsMap[order.id] = order.lineitems[0].item_id
2804
        orderItemsMap[order.id] = order.lineitems[0].item_id
2846
    
2805
    
2847
    catalogClient = CatalogClient().get_client()
-
 
2848
    items = catalogClient.getItems(itemIds)
-
 
2849
    catalogIds = []
-
 
2850
    catalogItemsMap = {}
-
 
2851
    for item in items:
-
 
2852
        catalogIds.append(item.catalog_item_id)
-
 
2853
        catalogItemsMap[item.id] = item.catalog_item_id
-
 
2854
    
-
 
2855
    itemWarrantyInfoMap = catalogClient.getWarrantyInfoForItemList(catalogIds, ItemCondition.DAMAGED)
-
 
2856
    itemDOAWarrantyInfoMap = catalogClient.getWarrantyInfoForItemList(catalogIds, ItemCondition.DEFECTIVE)
-
 
2857
       
2806
       
2858
    for order in grouppedOrdersList:            
2807
    for order in grouppedOrdersList:            
2859
        if order == None or order.status not in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DOA_PICKUP_REQUEST_RAISED, OrderStatus.DOA_PICKUP_CONFIRMED, OrderStatus.RET_REQUEST_RECEIVED, OrderStatus.RET_PICKUP_CONFIRMED, OrderStatus.RET_REQUEST_AUTHORIZED, OrderStatus.RET_PICKUP_REQUEST_RAISED, OrderStatus.RTO_IN_TRANSIT, OrderStatus.BILLED, OrderStatus.RECEIVED_AT_STORE]:
2808
        if order == None or order.status not in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DOA_PICKUP_REQUEST_RAISED, OrderStatus.DOA_PICKUP_CONFIRMED, OrderStatus.RET_REQUEST_RECEIVED, OrderStatus.RET_PICKUP_CONFIRMED, OrderStatus.RET_REQUEST_AUTHORIZED, OrderStatus.RET_PICKUP_REQUEST_RAISED, OrderStatus.RTO_IN_TRANSIT, OrderStatus.BILLED, OrderStatus.RECEIVED_AT_STORE]:
2860
            raise TransactionServiceException(101, "Either wrong order id or invalid state " + str(orderId))
2809
            raise TransactionServiceException(101, "Either wrong order id or invalid state " + str(orderId))
2861
       
2810
       
Line 2904... Line 2853...
2904
            alert_client = AlertClient().get_client()
2853
            alert_client = AlertClient().get_client()
2905
            alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
2854
            alert_client.endMonitoringEntity(EntityType.COURIER, "orderId = " + str(order.id))
2906
        except Exception as e:
2855
        except Exception as e:
2907
            print "Exception in ending alert in MarkOrderAsDelivered method"
2856
            print "Exception in ending alert in MarkOrderAsDelivered method"
2908
            print e
2857
            print e
2909
            
-
 
2910
    for orderId, order in ordersMap.items():
-
 
2911
        orderItemId = orderItemsMap.get(orderId)
-
 
2912
        orderCatalogItemId = catalogItemsMap.get(orderItemId)
-
 
2913
        itemWarrantyInfo = itemWarrantyInfoMap.get(orderCatalogItemId)
-
 
2914
        itemDOAWarrantyInfo = itemDOAWarrantyInfoMap.get(orderCatalogItemId)
-
 
2915
        
-
 
2916
        itemWarrntyVal = 0
2858
                        
2917
        doaItemWarrantyVal = 0
-
 
2918
        
-
 
2919
        if itemWarrantyInfo.key()[0]=='M':
-
 
2920
            itemWarrntyVal = 30*itemWarrantyInfo.values()[0]
-
 
2921
        else:
-
 
2922
            itemWarrntyVal = itemWarrantyInfo.values()[0]
-
 
2923
        
-
 
2924
        if itemDOAWarrantyInfo.key()[0]=='M':
-
 
2925
            doaItemWarrantyVal = 30*itemDOAWarrantyInfo.values()[0]
-
 
2926
        else:
-
 
2927
            doaItemWarrantyVal = itemDOAWarrantyInfo.values()[0]
-
 
2928
        
-
 
2929
        order.lineitems[0].warrantry_expiry_timestamp = deliveryTimestamp + timedelta(days=doaItemWarrantyVal)
-
 
2930
        order.lineitems[0].damaged_expiry_timestamp = deliveryTimestamp + timedelta(days=itemWarrntyVal)
-
 
2931
            
-
 
2932
    update_trust_level(grouppedOrdersList[0])
2859
    update_trust_level(grouppedOrdersList[0])
2933
    session.commit()
2860
    session.commit()
2934
 
2861
 
2935
    
2862
    
2936
def mark_order_as_received_at_store(orderId, deliveryTimestamp):
2863
def mark_order_as_received_at_store(orderId, deliveryTimestamp):