Subversion Repositories SmartDukaan

Rev

Rev 442 | Rev 477 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
412 ashish 1
'''
2
Created on 05-Aug-2010
3
 
4
@author: ashish
5
'''
6
from shop2020.thriftpy.logistics.ttypes import Shipment
442 rajveer 7
from shop2020.logistics.service.impl.DataAccessor import add_empty_AWBs, get_empty_AWB,\
8
    get_provider, get_shipment_info, get_shipments, get_todays_shipments, initialize,\
472 rajveer 9
    get_providers, create_shipment, update_shipment_status, get_logistics_estimation, add_delivery_estimate
442 rajveer 10
from shop2020.logistics.service.impl.Converters import to_t_provider,\
472 rajveer 11
    to_t_shipment, to_t_shipmentstatusinfo, to_t_shipmentupdate, to_t_itemLogistics
442 rajveer 12
 
13
from shop2020.utils.Utils import log_entry, to_py_date
472 rajveer 14
 
412 ashish 15
class LogisticsServiceHandler:
16
 
442 rajveer 17
    def __init__(self):
18
        initialize()
19
 
412 ashish 20
    def addEmptyAWBs(self, numbers, provider_id):
21
        """
22
        Parameters:
23
         - numbers
24
         - provider_id
25
        """
442 rajveer 26
        add_empty_AWBs(numbers, provider_id)
412 ashish 27
 
28
    def getEmptyAWB(self, provider_id):
29
        """
30
        Parameters:
31
         - provider_id
32
        """
442 rajveer 33
        return get_empty_AWB(provider_id)
412 ashish 34
 
442 rajveer 35
    def getProviders(self):
36
        """
37
        Parameters:
38
        """
39
        log_entry(self, "all providers requested")
40
 
41
        providers = get_providers()
42
        ret_providers = []
43
        for provider in providers:
44
            if provider:
45
                ret_providers.append(to_t_provider(provider))
46
        return ret_providers
47
 
412 ashish 48
 
49
    def getProvider(self, provider_id):
50
        """
51
        Parameters:
52
         - provider_id
53
        """
442 rajveer 54
        return to_t_provider(get_provider(provider_id))
412 ashish 55
 
442 rajveer 56
    def createShipment(self, shipment):
57
        """
58
        Parameters:
59
         - shipment
60
        """
61
        return create_shipment(shipment)
62
 
63
 
64
    def updateShipmentStatus(self, awb, shipment_update):
65
        """
66
        Parameters:
67
         - awb
68
         - shipment_update
69
        """
70
        return update_shipment_status(awb, shipment_update)
71
 
72
 
412 ashish 73
    def getShipmentInfo(self, awb):
74
        """
75
        Parameters:
76
         - awb
77
        """
442 rajveer 78
        return to_t_shipmentstatusinfo(get_shipment_info(awb))
412 ashish 79
 
80
    def getShipments(self, warehouse_id, from_date, to_date, provider_id):
81
        """
82
        Parameters:
83
         - warehouse_id
84
         - from_date
85
         - to_date
86
         - provider_id
87
        """
442 rajveer 88
        log_entry(self, "all shipments requested")
89
 
90
        from_datetime = to_py_date(from_date)
91
        to_datetime = to_py_date(to_date)
92
 
93
        shipments = get_shipments(warehouse_id, from_datetime, to_datetime, provider_id)
94
        ret_shipments = []
95
        for shipment in shipments:
96
            if shipment:
97
                ret_shipments.append(to_t_shipment(shipment))
98
        return ret_shipments
412 ashish 99
 
472 rajveer 100
    def getLogisticsEstimation(self, itemId, destination_pin, provider_id):
101
        """
102
        Parameters:
103
         - itemId
104
         - destination_pin
105
        """
106
 
107
        delivery_estimate = get_logistics_estimation(itemId, destination_pin, provider_id)
108
        items_in_inventory = 100
109
        return to_t_itemLogistics(delivery_estimate, items_in_inventory)
442 rajveer 110
 
472 rajveer 111
    def addDeliveryEstimate(self, warahouse_id, destination_pin, provider_id, delivery_time):
112
        """
113
        Parameters:
114
         - warahouse_id
115
         - destination_pin
116
         - provider_id
117
         - delivery_time
118
        """
119
        add_delivery_estimate(warahouse_id, destination_pin, provider_id, delivery_time)
120
 
412 ashish 121
    def getTodaysShipments(self, warehouse_id, provider_id):
122
        """
123
        Parameters:
124
         - warehouse_id
125
         - provider_id
126
        """
442 rajveer 127
 
128
        log_entry(self, "all shipments requested for today")
129
 
130
        shipments = get_todays_shipments(warehouse_id, provider_id)
131
        ret_shipments = []
132
        for shipment in shipments:
133
            if shipment:
134
                ret_shipments.append(to_t_shipment(shipment))
135
        return ret_shipments
136
 
137
'''
412 ashish 138
        shipments = []
139
        i = 0
140
        while i < 100:
141
            shipment = Shipment()
142
            shipment.warehouse_name = "Seattle"
143
            shipment.awb="1234"+str(i)
144
            shipment.destination="JP"
145
            shipment.origin = "US"
146
            shipment.recepient_address = "1, Microsoft Way, Redmond"
147
            shipment.recepient_name = "Steve Balmer"
148
            shipment.recepient_phone = "+14356368790"
149
            shipment.recepient_pincode = "110001"
150
            shipment.shipment_contents = "iPhone 4G"
151
            shipment.shipment_weight = "300 gms"
152
            shipments.append(shipment)
153
            i = i+1
154
        return shipments
472 rajveer 155
        '''
156
 
442 rajveer 157