Subversion Repositories SmartDukaan

Rev

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

Rev 1249 Rev 1308
Line 10... Line 10...
10
from sqlalchemy import create_engine
10
from sqlalchemy import create_engine
11
from elixir.relationships import OneToMany, ManyToOne
11
from elixir.relationships import OneToMany, ManyToOne
12
import datetime
12
import datetime
13
import elixir
13
import elixir
14
 
14
 
-
 
15
class Vendor(Entity):
-
 
16
    id = Field(Integer, primary_key=True, autoincrement=True)
-
 
17
    name = Field(String(50))
-
 
18
    warehouses = OneToMany('Warehouse')
-
 
19
    using_options(shortnames=True)
-
 
20
    using_table_options(mysql_engine="InnoDB")
-
 
21
 
15
class Warehouse(Entity):
22
class Warehouse(Entity):
16
    id = Field(Integer, primary_key=True, autoincrement=True)
23
    id = Field(Integer, primary_key=True, autoincrement=True)
17
    displayName = Field(String(50))
24
    displayName = Field(String(50))
18
    location = Field(String(200))
25
    location = Field(String(200))
19
    status = Field(Integer)
26
    status = Field(Integer)
Line 23... Line 30...
23
    pincode = Field(String(10))
30
    pincode = Field(String(10))
24
    vendorString = Field(String(50))
31
    vendorString = Field(String(50))
25
    inventory = OneToMany('CurrentInventorySnapshot')
32
    inventory = OneToMany('CurrentInventorySnapshot')
26
    inventoryHistory = OneToMany('ItemInventoryHistory')
33
    inventoryHistory = OneToMany('ItemInventoryHistory')
27
    logisticsLocation = Field(Integer)
34
    logisticsLocation = Field(Integer)
-
 
35
    vendor = ManyToOne('Vendor')
28
    using_options(shortnames=True)
36
    using_options(shortnames=True)
29
    using_table_options(mysql_engine="InnoDB")
37
    using_table_options(mysql_engine="InnoDB")
30
    
38
    
31
    def __repr__(self):
39
    def __repr__(self):
32
        return "<warehouse>%s</warehouse>" %(self.location)
40
        return "<warehouse>%s</warehouse>" %(self.location)
Line 51... Line 59...
51
    model_name = Field(String(50))
59
    model_name = Field(String(50))
52
    color = Field(String(20))
60
    color = Field(String(20))
53
    category = Field(Integer)
61
    category = Field(Integer)
54
    comments = Field(String(200))
62
    comments = Field(String(200))
55
    catalog_item_id = Field(Integer)
63
    catalog_item_id = Field(Integer)
56
    vendor_item_id = Field(String(50))
-
 
57
    feature_id = Field(Integer)
64
    feature_id = Field(Integer)
58
    feature_description = Field(String(200))
65
    feature_description = Field(String(200))
59
    mrp = Field(Float)
66
    mrp = Field(Float)
60
    mop = Field(Float)
67
    mop = Field(Float)
61
    sellingPrice = Field(Float)
68
    sellingPrice = Field(Float)
Line 92... Line 99...
92
        else:
99
        else:
93
            return 0;
100
            return 0;
94
    
101
    
95
    @property
102
    @property
96
    def get_all_warehouses(self):
103
    def get_all_warehouses(self):
-
 
104
        return [ci.warehouse for ci in self.currentInventory]
-
 
105
 
-
 
106
class VendorItemMapping(Entity):
-
 
107
    vendor = ManyToOne('Vendor', primary_key=True)
-
 
108
    item_key = Field(String(200), primary_key=True)
97
        warehouses = []
109
    item = ManyToOne('Item')
98
        for ci in self.currentInventory:
110
    using_options(shortnames=True)
-
 
111
    using_table_options(mysql_engine="InnoDB")
-
 
112
    
-
 
113
class VendorItemPricing(Entity):
-
 
114
    vendor = ManyToOne('Vendor', primary_key=True)
99
            warehouses.append(ci.warehouse)
115
    item = ManyToOne('Item', primary_key=True)
100
        return warehouses
116
    mop = Field(Float)
-
 
117
    dealerPrice = Field(Float)
-
 
118
    transfer_price = Field(Float)
-
 
119
    using_options(shortnames=True)
-
 
120
    using_table_options(mysql_engine="InnoDB")
101
 
121
 
102
class ItemInfo(Entity):
122
class ItemInfo(Entity):
103
    id = Field(Integer, primary_key=True, autoincrement=True)
123
    id = Field(Integer, primary_key=True, autoincrement=True)
104
    key = Field(String(30))
124
    key = Field(String(30))
105
    value = Field(String(100))
125
    value = Field(String(100))
106
    item = ManyToOne("Item")
126
    item = ManyToOne("Item")
Line 138... Line 158...
138
 
158
 
139
class ItemChangeLog(Entity):
159
class ItemChangeLog(Entity):
140
    id = Field(Integer, primary_key=True, autoincrement=True)
160
    id = Field(Integer, primary_key=True, autoincrement=True)
141
    old_status = Field(Integer)
161
    old_status = Field(Integer)
142
    new_status = Field(Integer)
162
    new_status = Field(Integer)
143
    timestamp = Field(DateTime, default=datetime.datetime.now())
163
    timestamp = Field(DateTime)
144
    item = ManyToOne("Item")
164
    item = ManyToOne("Item")
145
    using_options(shortnames=True)
165
    using_options(shortnames=True)
146
    using_table_options(mysql_engine="InnoDB")
166
    using_table_options(mysql_engine="InnoDB")
147
    
167
    
148
    def __repr__(self):
168
    def __repr__(self):