Subversion Repositories SmartDukaan

Rev

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