Subversion Repositories SmartDukaan

Rev

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

Rev 6762 Rev 6821
Line 9... Line 9...
9
from elixir.relationships import OneToMany
9
from elixir.relationships import OneToMany
10
from shop2020.purchase.main.model.LineItem import LineItem
10
from shop2020.purchase.main.model.LineItem import LineItem
11
from shop2020.thriftpy.purchase.ttypes import PurchaseOrder as TPurchaseOrder, \
11
from shop2020.thriftpy.purchase.ttypes import PurchaseOrder as TPurchaseOrder, \
12
    POStatus
12
    POStatus
13
from shop2020.utils.Utils import to_java_date
13
from shop2020.utils.Utils import to_java_date
14
from sqlalchemy.types import Integer, String, Float, DateTime
14
from sqlalchemy.types import Integer, String, Float, DateTime, Enum
15
import datetime
15
import datetime
16
import time
16
import time
17
 
17
 
18
 
18
 
19
 
19
 
Line 31... Line 31...
31
    updatedAt = Field(DateTime)
31
    updatedAt = Field(DateTime)
32
    totalCost = Field(Float)
32
    totalCost = Field(Float)
33
    freightCharges = Field(Float)
33
    freightCharges = Field(Float)
34
    realizedCost = Field(Float)
34
    realizedCost = Field(Float)
35
    realizedFreightCharges = Field(Float)
35
    realizedFreightCharges = Field(Float)
-
 
36
    type = Field(Enum('REAL', 'VIRTUAL'), default = 'REAL', server_default='REAL')
36
    lineitems = OneToMany("LineItem")
37
    lineitems = OneToMany("LineItem")
37
    purchases = OneToMany("Purchase")
38
    purchases = OneToMany("Purchase")
38
    using_options(shortnames=True)
39
    using_options(shortnames=True)
39
    using_table_options(mysql_engine="InnoDB")
40
    using_table_options(mysql_engine="InnoDB")
40
    
41
    
Line 53... Line 54...
53
        self.freightCharges = t_purchase_order.freightCharges or 0
54
        self.freightCharges = t_purchase_order.freightCharges or 0
54
        self.realizedCost = 0
55
        self.realizedCost = 0
55
        self.realizedFreightCharges = 0
56
        self.realizedFreightCharges = 0
56
        if t_purchase_order.lineitems:
57
        if t_purchase_order.lineitems:
57
            self.lineitems = [LineItem(self, t_lineitem) for t_lineitem in t_purchase_order.lineitems]
58
            self.lineitems = [LineItem(self, t_lineitem) for t_lineitem in t_purchase_order.lineitems]
58
            self.totalCost = sum([t_lineitem.quantity * t_lineitem.unitPrice for t_lineitem in t_purchase_order.lineitems])        
59
            self.totalCost = sum([t_lineitem.quantity * t_lineitem.unitPrice for t_lineitem in t_purchase_order.lineitems])
-
 
60
        self.type = t_purchase_order.type
-
 
61
        self.poNumber = t_purchase_order.poNumber        
59
        
62
        
60
    def to_thrift_object(self):
63
    def to_thrift_object(self):
61
        t_purchase_order = TPurchaseOrder()
64
        t_purchase_order = TPurchaseOrder()
62
        t_purchase_order.id = self.id
65
        t_purchase_order.id = self.id
63
        t_purchase_order.poNumber = self.poNumber
66
        t_purchase_order.poNumber = self.poNumber