Subversion Repositories SmartDukaan

Rev

Rev 2631 | Rev 2764 | 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
 
2687 chandransh 16
from shop2020.model.v1.order.impl.model import ReturnOrder
104 ashish 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