Subversion Repositories SmartDukaan

Rev

Rev 2687 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2687 chandransh 1
'''
2
Created on 25-Jul-2011
3
 
4
@author: Chandranshu
5
'''
6
 
7
import datetime
8
 
9
from elixir.entity import Entity
10
from elixir.fields import Field
11
from sqlalchemy.types import String, Integer, DateTime, Boolean, Float
12
from elixir.options import using_options, using_table_options
13
 
14
from shop2020.thriftpy.model.v1.order.ttypes import ReturnOrder as TReturnOrder
15
from shop2020.utils.Utils import to_java_date
16
 
17
class ReturnOrder(Entity):
18
    '''
19
    classdocs
20
    '''
21
    orderId = Field(Integer, primary_key=True)
2697 chandransh 22
    warehouseId = Field(Integer)
2687 chandransh 23
    jacketNumber = Field(Integer)
24
    invoiceNumber = Field(String(30))
25
    itemId = Field(Integer)
26
    productGroup = Field(String(100))
27
    brand = Field(String(100))
28
    modelNumber = Field(String(50))
29
    modelName = Field(String(50))
30
    color = Field(String(20))
31
    totalPrice = Field(Float)
32
    transferPrice = Field(Float)
33
    processedStatus = Field(Boolean)
34
    createdAt = Field(DateTime)
35
    processedAt = Field(DateTime)
36
    using_options(shortnames=True)
37
    using_table_options(mysql_engine="InnoDB")
38
 
39
    def __init__(self, order):
40
        '''
41
        Constructor
42
        '''
43
        self.orderId = order.id
2697 chandransh 44
        self.warehouseId = order.warehouse_id
2687 chandransh 45
        self.jacketNumber = order.jacket_number
46
        self.invoiceNumber = order.invoice_number
47
 
48
        line_item = order.lineitems[0]
49
        self.itemId = line_item.item_id
50
        self.productGroup = line_item.productGroup
51
        self.brand = line_item.brand
52
        self.modelNumber = line_item.model_number
53
        self.modelName = line_item.model_name
54
        self.color = line_item.color
55
        self.totalPrice = line_item.total_price
56
        self.transferPrice = line_item.transfer_price
57
        self.processedStatus = False
58
        self.createdAt = datetime.datetime.now()
59
 
60
    def to_thrift_object(self):
61
        '''
62
        Returns the thrift object corresponding to this ReturnOrder.
63
        '''
64
        t_return_order = TReturnOrder()
65
        t_return_order.orderId = self.orderId
2697 chandransh 66
        t_return_order.warehouseId = self.warehouseId
2687 chandransh 67
        t_return_order.jacketNumber = self.jacketNumber
68
        t_return_order.invoiceNumber = self.invoiceNumber
69
        t_return_order.itemId = self.itemId
70
        t_return_order.productGroup = self.productGroup
71
        t_return_order.brand = self.brand
72
        t_return_order.modelNumber = self.modelNumber
73
        t_return_order.modelName = self.modelName
74
        t_return_order.color = self.color
75
        t_return_order.totalPrice = self.totalPrice
76
        t_return_order.transferPrice = self.transferPrice
77
        t_return_order.processedStatus = self.processedStatus
78
        t_return_order.createdAt = to_java_date(self.createdAt)
79
        if self.processedAt is not None:
80
            t_return_order.processedAt = to_java_date(self.processedAt)
81
        return t_return_order