Subversion Repositories SmartDukaan

Rev

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

Rev 1970 Rev 1991
Line 6... Line 6...
6
from elixir import *
6
from elixir import *
7
from shop2020.model.v1.catalog.impl import DataService
7
from shop2020.model.v1.catalog.impl import DataService
8
from shop2020.model.v1.catalog.impl.DataService import Item, \
8
from shop2020.model.v1.catalog.impl.DataService import Item, \
9
    Warehouse, ItemInventoryHistory, CurrentInventorySnapshot, ItemInfo,\
9
    Warehouse, ItemInventoryHistory, CurrentInventorySnapshot, ItemInfo,\
10
    ItemChangeLog, Category, EntityIDGenerator, VendorItemPricing,\
10
    ItemChangeLog, Category, EntityIDGenerator, VendorItemPricing,\
11
    VendorItemMapping
11
    VendorItemMapping, Vendor
12
from shop2020.thriftpy.model.v1.catalog.ttypes import \
12
from shop2020.thriftpy.model.v1.catalog.ttypes import \
13
    InventoryServiceException, status
13
    InventoryServiceException, status
14
from shop2020.model.v1.catalog.impl.Convertors import to_t_item
14
from shop2020.model.v1.catalog.impl.Convertors import to_t_item
15
import datetime
15
import datetime
16
import sys
16
import sys
17
from shop2020.utils.Utils import log_entry, to_py_date
17
from shop2020.utils.Utils import log_entry, to_py_date
18
from sqlalchemy import desc, asc
18
from sqlalchemy import desc, asc
19
from shop2020.model.v1.catalog.impl.CategoryManager import CategoryManager
19
from shop2020.model.v1.catalog.impl.CategoryManager import CategoryManager
20
 
-
 
-
 
20
from sqlalchemy.sql.expression import and_
21
 
21
 
22
def initialize():
22
def initialize():
23
    DataService.initialize()
23
    DataService.initialize()
24
    
24
    
25
 
25
 
Line 604... Line 604...
604
    return Category.query.filter_by(id=id).first()
604
    return Category.query.filter_by(id=id).first()
605
 
605
 
606
def get_all_categories():
606
def get_all_categories():
607
    return Category.query.all()
607
    return Category.query.all()
608
 
608
 
-
 
609
 
-
 
610
def get_all_item_pricing(item_id):
-
 
611
    item = Item.query.filter_by(id=item_id).first()
-
 
612
    if item is None:
-
 
613
        raise InventoryServiceException(101, "Bad Item")
-
 
614
    item_pricing = VendorItemPricing.query.filter_by(item=item).all()
-
 
615
    return item_pricing
-
 
616
 
-
 
617
def update_vendor_pricing(vendorItemPricing):
-
 
618
    if not vendorItemPricing:
-
 
619
        raise InventoryServiceException(108, "Bad vendorItemPricing in request")
-
 
620
    vendorId = vendorItemPricing.vendorId
-
 
621
    itemId = vendorItemPricing.itemId
-
 
622
    if not itemId:
-
 
623
        raise InventoryServiceException(101, "Missing item id for update")
-
 
624
    
-
 
625
    if not vendorId:
-
 
626
        raise InventoryServiceException(101, "Missing vendor id for update")
-
 
627
    
-
 
628
    try:
-
 
629
        vendor = Vendor.query.filter_by(id=vendorId).one()
-
 
630
    except:
-
 
631
        raise InventoryServiceException(101, "Vendor not found for vendorId " + str(vendorId))
-
 
632
    
-
 
633
    try:
-
 
634
        item = Item.query.filter_by(id=itemId).one()
-
 
635
    except:
-
 
636
        raise InventoryServiceException(101, "Item not found for vendorId " + str(itemId))
-
 
637
    
-
 
638
    try:
-
 
639
        ds_vendorItemPricing = VendorItemPricing.query.filter(and_(VendorItemPricing.vendor==vendor, VendorItemPricing.item==item)).one()
-
 
640
    except:
-
 
641
        raise InventoryServiceException(101, "VendorItemPricing not found for vendorId " + str(vendorId) + " and itemId " + str(itemId))
-
 
642
    
-
 
643
    if vendorItemPricing.mop:
-
 
644
        ds_vendorItemPricing.mop = vendorItemPricing.mop
-
 
645
    if vendorItemPricing.dealerPrice:
-
 
646
        ds_vendorItemPricing.dealerPrice = vendorItemPricing.dealerPrice
-
 
647
    if vendorItemPricing.transferPrice:
-
 
648
        ds_vendorItemPricing.transferPrice = vendorItemPricing.transferPrice
-
 
649
    
-
 
650
    session.commit()
-
 
651
    return
-
 
652
 
609
def close_session():
653
def close_session():
610
    if session.is_active:
654
    if session.is_active:
611
        print "session is active. closing it."
655
        print "session is active. closing it."
612
        session.close()
656
        session.close()