Subversion Repositories SmartDukaan

Rev

Rev 2536 | Rev 2631 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
104 ashish 1
'''
2
Created on 29-Mar-2010
3
 
4
@author: ashish
5
'''
6
 
7
from elixir import *
8
from elixir.entity import Entity
9
from elixir.fields import Field
10
from sqlalchemy.types import Integer
1122 chandransh 11
from sqlalchemy import create_engine
104 ashish 12
from elixir.relationships import OneToMany, ManyToOne
13
import datetime
746 rajveer 14
import elixir
104 ashish 15
 
16
 
17
 
18
#===============================================================================
19
# Different entities in the model
20
#===============================================================================
21
 
1911 chandransh 22
def initialize(dbname='transaction', echoOn=True):
746 rajveer 23
    #metadata.bind = "sqlite:///Transactionsnew.sqlite"
1122 chandransh 24
    #metadata.bind = 'mysql://root:shop2020@localhost/transaction'
1249 chandransh 25
    engine = create_engine('mysql://root:shop2020@localhost/' + dbname, pool_recycle=7200)
1122 chandransh 26
    metadata.bind = engine
1911 chandransh 27
    metadata.bind.echo = echoOn
483 rajveer 28
    setup_all(True)
29
 
30
 
31
if __name__=="__main__":
32
    initialize()
33
 
34
 
35
class LineItem(Entity):
36
    id = Field(Integer, primary_key=True, autoincrement=True)
699 chandransh 37
    item_id = Field(Integer)
963 chandransh 38
    productGroup = Field(String(100))
39
    brand = Field(String(100))
40
    model_number = Field(String(50))
41
    model_name = Field(String(50))
669 chandransh 42
    color = Field(String(20))
483 rajveer 43
    extra_info = Field(String(100))
44
    quantity = Field(Float)
45
    unit_price = Field(Float)
46
    unit_weight = Field(Float)
47
    total_price = Field(Float)
996 varun.gupt 48
    transfer_price = Field(Float)
483 rajveer 49
    total_weight = Field(Float)
50
    order = ManyToOne("Order")
746 rajveer 51
    using_options(shortnames=True)
52
    using_table_options(mysql_engine="InnoDB")
53
 
1276 chandransh 54
    def __repr__(self):
55
        return "{0} {1} {2} {3}".format(self.brand or "", self.model_name or "", self.model_number or "", self.color or "")
56
 
483 rajveer 57
class Order(Entity):
58
    id = Field(Integer, primary_key=True, autoincrement=True)
59
    warehouse_id = Field(Integer)
60
    logistics_provider_id = Field(Integer)
61
    airwaybill_no = Field(String(50))
62
    tracking_id = Field(String(50))
63
    expected_delivery_time = Field(DateTime)
64
    customer_id = Field(Integer)
65
    customer_name = Field(String(50))
66
    customer_mobilenumber = Field(String(20))
67
    customer_pincode = Field(String(10))
738 chandransh 68
    customer_address1 = Field(String(100))
69
    customer_address2 = Field(String(100))
669 chandransh 70
    customer_city = Field(String(100))
71
    customer_state = Field(String(100))
483 rajveer 72
    customer_email = Field(String(50))
73
    status = Field(Integer)
74
    statusDescription = Field(String(50))
75
    total_amount = Field(Float)
76
    total_weight = Field(Float)
77
    invoice_number = Field(String(30))
78
    billed_by = Field(String(30))
79
    created_timestamp = Field(DateTime)
80
    accepted_timestamp = Field(DateTime)
81
    billing_timestamp = Field(DateTime)
82
    shipping_timestamp = Field(DateTime)
1113 chandransh 83
    pickup_timestamp = Field(DateTime)
483 rajveer 84
    delivery_timestamp = Field(DateTime)
1208 chandransh 85
    outofstock_timestamp = Field(DateTime)
483 rajveer 86
    lineitems = OneToMany("LineItem")
87
    transaction = ManyToOne("Transaction")
642 chandransh 88
    jacket_number = Field(Integer)
1132 chandransh 89
    receiver = Field(String(50))
1220 chandransh 90
    batchNo = Field(Integer)
91
    serialNo = Field(Integer)
2536 chandransh 92
    doaFlag = Field(Boolean)
93
    pickupRequestNo = Field(String(20))
2628 chandransh 94
    new_order_id = Field(Integer)
95
    using_options(shortnames=True)
96
    using_table_options(mysql_engine="InnoDB")
483 rajveer 97
 
104 ashish 98
class Transaction(Entity):
483 rajveer 99
    id = Field(Integer, primary_key=True, autoincrement=True)
100
    createdOn = Field(DateTime)
101
    status = Field(Integer)
102
    status_message = Field(String(100))
103
    customer_id = Field(Integer)
104
    shopping_cart_id = Field(Integer)
105
    orders = OneToMany("Order")
2219 varun.gupt 106
    coupon_code = Field(String(20))
746 rajveer 107
    using_options(shortnames=True)
108
    using_table_options(mysql_engine="InnoDB")
132 ashish 109
 
483 rajveer 110
class Alerts(Entity):
132 ashish 111
    id = Field(Integer, primary_key=True, autoincrement=True)
483 rajveer 112
    order_id = Field(Integer)
113
    valid = Field(Boolean)
114
    type = Field(Integer)
115
    time_set = Field(DateTime)
116
    comment = Field(String(100))
746 rajveer 117
    time_unset = Field(DateTime)
118
    using_options(shortnames=True)
1225 chandransh 119
    using_table_options(mysql_engine="InnoDB")
120
 
121
class BatchNoGenerator(Entity):
122
    id=Field(Integer, primary_key=True)
123
    using_options(shortnames=True)
124
    using_table_options(mysql_engine="InnoDB")
2628 chandransh 125
 
126
class ReturnOrder(Entity):
127
    order_id = Field(Integer, primary_key=True)
128
    jacket_number = Field(Integer)
129
    invoice_number = Field(String(30))
130
    item_id = Field(Integer)
131
    productGroup = Field(String(100))
132
    brand = Field(String(100))
133
    model_number = Field(String(50))
134
    model_name = Field(String(50))
135
    color = Field(String(20))
136
    total_price = Field(Float)
137
    transfer_price = Field(Float)
138
    created_timestamp = Field(DateTime)
139
    using_options(shortnames=True)
140
    using_table_options(mysql_engine="InnoDB")
141