Subversion Repositories SmartDukaan

Rev

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

Rev 7410 Rev 9416
Line 7... Line 7...
7
from elixir.fields import Field
7
from elixir.fields import Field
8
from elixir.options import using_options, using_table_options
8
from elixir.options import using_options, using_table_options
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, TaxType
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, Enum
14
from sqlalchemy.types import Integer, String, Float, DateTime, Enum
15
import datetime
15
import datetime
16
import time
16
import time
17
 
17
 
Line 32... Line 32...
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
    type = Field(Enum('REAL', 'VIRTUAL'), default = 'REAL', server_default='REAL')
-
 
37
    taxType = Field(Integer)
37
    lineitems = OneToMany("LineItem")
38
    lineitems = OneToMany("LineItem")
38
    purchases = OneToMany("Purchase")
39
    purchases = OneToMany("Purchase")
39
    using_options(shortnames=True)
40
    using_options(shortnames=True)
40
    using_table_options(mysql_engine="InnoDB")
41
    using_table_options(mysql_engine="InnoDB")
41
    
42
    
Line 59... Line 60...
59
                if t_lineitem.quantity == 0:
60
                if t_lineitem.quantity == 0:
60
                    t_purchase_order.lineitems.pop(t_purchase_order.index(t_lineitem))
61
                    t_purchase_order.lineitems.pop(t_purchase_order.index(t_lineitem))
61
            self.lineitems = [LineItem(self, t_lineitem) for t_lineitem in t_purchase_order.lineitems]
62
            self.lineitems = [LineItem(self, t_lineitem) for t_lineitem in t_purchase_order.lineitems]
62
            self.totalCost = sum([t_lineitem.quantity * t_lineitem.unitPrice for t_lineitem in t_purchase_order.lineitems])
63
            self.totalCost = sum([t_lineitem.quantity * t_lineitem.unitPrice for t_lineitem in t_purchase_order.lineitems])
63
        self.type = t_purchase_order.type
64
        self.type = t_purchase_order.type
64
        self.poNumber = t_purchase_order.poNumber        
65
        self.poNumber = t_purchase_order.poNumber
-
 
66
        self.taxType = t_purchase_order.taxType        
65
        
67
        
66
    def to_thrift_object(self):
68
    def to_thrift_object(self):
67
        t_purchase_order = TPurchaseOrder()
69
        t_purchase_order = TPurchaseOrder()
68
        t_purchase_order.id = self.id
70
        t_purchase_order.id = self.id
69
        t_purchase_order.poNumber = self.poNumber
71
        t_purchase_order.poNumber = self.poNumber
Line 77... Line 79...
77
        t_purchase_order.freightCharges = self.freightCharges
79
        t_purchase_order.freightCharges = self.freightCharges
78
        t_purchase_order.realizedCost = self.realizedCost
80
        t_purchase_order.realizedCost = self.realizedCost
79
        t_purchase_order.realizedFreightCharges = self.realizedFreightCharges
81
        t_purchase_order.realizedFreightCharges = self.realizedFreightCharges
80
        
82
        
81
        t_purchase_order.lineitems = [lineitem.to_thrift_object() for lineitem in self.lineitems]
83
        t_purchase_order.lineitems = [lineitem.to_thrift_object() for lineitem in self.lineitems]
-
 
84
        t_purchase_order.taxType = self.taxType
82
        return t_purchase_order
85
        return t_purchase_order
83
 
86
 
84
    def set_po_number(self):
87
    def set_po_number(self):
85
        self.poNumber = "SORL/" + time.strftime("%m-%y") + "/" + str(self.id)
88
        self.poNumber = "SORL/" + time.strftime("%m-%y") + "/" + str(self.id)