Fix: \n 1. Rename database to demo \n 2. Improve card styles for ERP Admin pages

This commit is contained in:
2025-03-21 16:09:42 +00:00
parent 85a3ec4c9f
commit 5c54c23798
95 changed files with 2576 additions and 24368 deletions

View File

@@ -16,7 +16,6 @@ from lib import data_types
from forms.forms import Form_Basket_Add, Form_Basket_Edit
from forms.store.product_permutation import Filters_Product_Permutation
from business_objects.db_base import SQLAlchemy_ABC, Get_Many_Parameters_Base
from business_objects.store.delivery_option import Delivery_Option
from business_objects.store.discount import Discount
from business_objects.store.image import Image
from business_objects.store.product_permutation import Product_Permutation
@@ -36,7 +35,6 @@ from typing import ClassVar, List
class Product(SQLAlchemy_ABC, Store_Base):
NAME_ATTR_OPTION_VALUE: ClassVar[str] = Store_Base.ATTR_ID_PRODUCT
NAME_ATTR_OPTION_TEXT = Store_Base.FLAG_NAME
# FLAG_HAS_VARIATIONS: ClassVar[str] = 'has-variations-product'
FLAG_INDEX_PERMUTATION_SELECTED: ClassVar[str] = 'index-permutation-selected'
FLAG_PRODUCT_VARIATION_TREES: ClassVar[str] = 'variation-trees'

View File

@@ -17,7 +17,6 @@ from business_objects.store.product import Product, Product_Permutation, Product
# from business_objects.store.product_variation import Product_Variation
from business_objects.store.product_variation_type import Product_Variation_Type
from business_objects.store.image import Image
from business_objects.store.delivery_option import Delivery_Option
from business_objects.store.discount import Discount
from business_objects.store.stock_item import Stock_Item
from business_objects.store.store_base import Store_Base
@@ -48,11 +47,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base):
created_on = db.Column(db.DateTime)
created_by = db.Column(db.Integer)
"""
products: list = None # []
product_index: dict = None # {}
"""
def __init__(self):
self.products = []
self.product_index = {}
@@ -74,13 +68,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base):
category.can_edit = av.input_bool(query_row[9], cls.FLAG_CAN_EDIT, f'{cls.__name__}.from_DB_get_many_product_catalogue')
category.can_admin = av.input_bool(query_row[10], cls.FLAG_CAN_ADMIN, f'{cls.__name__}.from_DB_get_many_product_catalogue')
return category
"""
def key_product_index_from_ids_product_permutation(id_product, id_permutation):
return f'{id_product},{"" if id_permutation is None else id_permutation}'
def key_product_index_from_product(product):
av.val_instance(product, 'product', 'Category.key_product_index_from_product', Product)
return f'{product.id_product},{"" if product.id_permutation is None else product.id_permutation}'
"""
def get_index_product(self, product):
return self.get_index_product_from_id(product.id_product)
def get_index_product_from_id(self, id_product):
@@ -99,8 +86,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base):
def add_product(self, product):
_m = 'Category.add_product'
av.val_instance(product, 'product', _m, Product)
# self.product_index.append(len(self.products))
# self.product_index[Category.key_product_index_from_ids_product_permutation(product.id_product, product.id_permutation)] = len(self.products)
try:
self.get_index_product(product)
Helper_App.console_log(f'category: {self}')
@@ -111,17 +96,8 @@ class Product_Category(SQLAlchemy_ABC, Store_Base):
def add_product_permutation(self, permutation):
_m = 'Category.add_product_permutation'
av.val_instance(permutation, 'permutation', _m, Product_Permutation)
# self.product_index.append(len(self.products))
# self.product_index[Category.key_product_index_from_ids_product_permutation(product.id_product, product.id_permutation)] = len(self.products)
index_product = self.get_index_product_from_id(permutation.id_product)
# index_product = self.product_index[permutation.id_product]
self.products[index_product].add_product_permutation(permutation)
"""
def add_product_variation(self, variation):
av.val_instance(variation, 'variation', 'Category.add_product_variation', Product_Variation)
index_product = self.get_index_product_from_id(variation.id_product)
self.products[index_product].add_product_variation(variation)
"""
def add_product_variation_type(self, variation_type):
av.val_instance(variation_type, 'variation_type', 'Category.add_product_variation_type', Product_Variation_Type)
variation = variation_type.variations[0]
@@ -152,16 +128,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base):
if product.has_variations:
Helper_App.console_log(f'product with id:{product.id_product} has variations')
product.get_variation_trees()
"""
def index_product_from_ids_product_permutation(self, id_product, id_permutation):
key = Category.key_product_index_from_ids_product_permutation(id_product, id_permutation)
Helper_App.console_log(f'product_index: {self.product_index}')
Helper_App.console_log(f'Key Error: {key}')
try:
return self.product_index[key]
except KeyError:
pass
"""
def __repr__(self):
return f'''
id: {self.id_category[0] if isinstance(self.id_category, tuple) else self.id_category}
@@ -173,12 +139,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base):
active: {self.active}
products: {self.products}
'''
"""
def get_permutation_first(self):
if not (len(self.products) == 0):
Helper_App.console_log(f'getting first permutation from product')
return None if len(self.products) == 0 else self.products[0].get_permutation_selected()
"""
def is_available(self):
if len(self.products) == 0:
return False
@@ -227,22 +187,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base):
category.can_edit = json.get(cls.FLAG_CAN_EDIT, False)
category.can_admin = json.get(cls.FLAG_CAN_ADMIN, False)
return category
"""
def to_json_str(self):
return {
self.ATTR_ID_PRODUCT_CATEGORY: self.id_category[0] if isinstance(self.id_category, tuple) else self.id_category,
self.FLAG_CODE: self.code[0] if isinstance(self.code, tuple) else self.code,
self.FLAG_NAME: self.name[0] if isinstance(self.name, tuple) else self.name,
self.FLAG_DESCRIPTION: self.description[0] if isinstance(self.description, tuple) else self.description,
self.ATTR_ID_ACCESS_LEVEL: self.id_access_level_required[0] if isinstance(self.id_access_level_required, tuple) else self.id_access_level_required,
self.FLAG_ACCESS_LEVEL_REQUIRED: self.name_access_level_required[0] if isinstance(self.name_access_level_required, tuple) else self.name_access_level_required,
self.FLAG_DISPLAY_ORDER: self.display_order,
self.FLAG_ACTIVE: self.output_bool(self.active),
self.FLAG_CAN_VIEW: self.output_bool(self.can_view),
self.FLAG_CAN_EDIT: self.output_bool(self.can_edit),
self.FLAG_CAN_ADMIN: self.output_bool(self.can_admin)
}
"""
@staticmethod
def output_bool(value):
return av.input_bool(value, 'Product_Category bool attribute', 'Product_Category.output_bool')
@@ -256,78 +200,7 @@ class Product_Category(SQLAlchemy_ABC, Store_Base):
for product in self.products:
list_ids += product.get_csv_ids_permutation()
return list_ids
"""
class Filters_Product_Category(BaseModel, Store_Base):
ids_product_category: str
ids_product: str
""
def __new__(cls, product_ids, product_categories):
_m = 'Parameters_Product.__new__'
v_arg_type = 'class attribute'
# av.val_list_instances(product_ids, 'product_ids', _m, str, v_arg_type=v_arg_type)
# av.val_list_instances(product_categories, 'product_categories', _m, Product_Category_Enum, v_arg_type=v_arg_type)
av.val_str(product_ids, 'product_ids', _m, v_arg_type=v_arg_type)
av.val_str(product_categories, 'product_categories', _m, v_arg_type=v_arg_type)
return super(Parameters_Product_Category, cls).__new__(cls)
""
def __init__(self, ids_product, ids_product_category):
super().__init__(ids_product=ids_product, ids_product_category=ids_product_category)
""
# Constructor
self.ids = product_ids
self.categories = product_categories
""
@classmethod
def get_default(cls):
return Filters_Product_Category(
ids_product_category = '',
ids_product = ''
)
def to_json(self):
return {
**self.get_shared_json_attributes(self),
'a_ids_product_category': self.ids_product_category,
'a_ids_product': self.ids_product
}
@classmethod
def from_json(cls, json):
filters = cls()
filters.ids_product_category = json['a_ids_product_category'],
filters.ids_product = json['a_ids_product']
class Filters_Product_Category(Get_Many_Parameters_Base):
FLAG_IS_NOT_EMPTY: ClassVar[str] = 'is_not_empty'
is_not_empty: bool
active: bool
def __init__(self, is_not_empty, active):
super().__init__(is_not_empty=is_not_empty, active=active)
@classmethod
def get_default(cls):
return cls(
is_not_empty = False,
active = True
)
def to_json(self):
return {
**self.get_shared_json_attributes(self),
self.FLAG_IS_NOT_EMPTY: self.is_not_empty,
self.FLAG_ACTIVE: av.input_bool(self.active, self.FLAG_ACTIVE, f'{self.__class__.__name__}.to_json')
}
@classmethod
def from_json(cls, json):
return cls(
is_not_empty = json['is_not_empty'],
active = json['active']
)
@classmethod
def from_form(cls, form):
return cls(
is_not_empty = av.input_bool(form.is_not_empty.data, 'is_not_empty', 'Filters_Product_Category.from_form'),
active = av.input_bool(form.active.data, 'active', 'Filters_Product_Category.from_form')
)
"""
class Product_Category_Container(Store_Base):
NAME_ATTR_OPTION_TEXT: ClassVar[str] = ''
NAME_ATTR_OPTION_VALUE: ClassVar[str] = Store_Base.FLAG_ROWS
@@ -360,12 +233,6 @@ class Product_Category_Container(Store_Base):
av.val_instance(permutation, 'permutation', 'Container_Product_Categories.add_product_permutation', Product_Permutation)
index_category = self.get_index_category_from_id(permutation.id_category)
self.categories[index_category].add_product_permutation(permutation)
"""
def add_product_variation(self, variation):
av.val_instance(variation, 'variation', 'Container_Product_Categories.add_product_variation', Product_Variation)
index_category = self.get_index_category_from_id(variation.id_category)
self.categories[index_category].add_product_variation(variation)
"""
def add_product_variation_type(self, variation_type):
av.val_instance(variation_type, 'variation_type', 'Container_Product_Categories.add_product_variation_type', Product_Variation_Type)
variation = variation_type.variations[0]
@@ -396,13 +263,6 @@ class Product_Category_Container(Store_Base):
category.get_all_product_variation_trees()
def __repr__(self):
return f'categories: {self.categories}'
"""
def get_permutation_first(self):
Helper_App.console_log(f'getting first permutation from category list')
if not (len(self.categories) == 0):
Helper_App.console_log(f'getting first permutation from category')
return None if len(self.categories) == 0 else self.categories[0].get_permutation_first()
"""
def get_category_count(self):
return len(self.categories)
def to_permutation_row_list(self):
@@ -418,11 +278,6 @@ class Product_Category_Container(Store_Base):
def get_list_products(self):
list_products = []
for category in self.categories:
# list_products.append(category.to_product_option_list())
"""
for product in category.products:
list_products.append({'value': product.id_product, 'text': product.name, Product.ATTR_ID_PRODUCT_CATEGORY: product.id_category})
"""
list_products += category.products
return list_products
def to_product_option_list(self):
@@ -438,12 +293,6 @@ class Product_Category_Container(Store_Base):
**self.get_shared_json_attributes(self),
f'{self.FLAG_ROWS}': [category.to_json() for category in self.categories]
}
"""
def to_json_str(self):
return {
f'{self.FLAG_ROWS}': [category.to_json_str() for category in self.categories]
}
"""
@classmethod
def from_json(cls, json):
return None
@@ -479,7 +328,7 @@ class Product_Category_Temp(db.Model, Store_Base):
def __init__(self):
super().__init__()
self.id_temp = None
@classmethod
def from_product_category(cls, product_category):
row = cls()

View File

@@ -15,7 +15,6 @@ import lib.argument_validation as av
from lib import data_types
from forms.forms import Form_Basket_Add, Form_Basket_Edit
from business_objects.currency import Currency
from business_objects.store.delivery_option import Delivery_Option
from business_objects.store.discount import Discount
from business_objects.store.image import Image
from business_objects.store.product_price import Product_Price
@@ -68,16 +67,7 @@ class Product_Permutation(db.Model, Store_Base):
id_product = db.Column(db.Integer)
id_category = db.Column(db.Integer)
csv_id_pairs_variation = db.Column(db.String(4000))
# name = db.Column(db.String(255))
description = db.Column(db.String(4000))
# price_GBP_full = db.Column(db.Float)
# price_GBP_min = db.Column(db.Float)
"""
id_currency_cost = db.Column(db.Integer)
code_currency_cost = db.Column(db.String(3))
symbol_currency_cost = db.Column(db.String(3))
"""
# currency_cost: Currency
cost_local_VAT_excl = db.Column(db.Float)
cost_local_VAT_incl = db.Column(db.Float)
profit_local_min = db.Column(db.Float)
@@ -109,15 +99,9 @@ class Product_Permutation(db.Model, Store_Base):
count_interval_expiration_unsealed = db.Column(db.Integer)
has_variations = db.Column(db.Boolean)
active = db.Column(db.Boolean)
# display_order = db.Column(db.Integer)
can_view = db.Column(db.Boolean)
can_edit = db.Column(db.Boolean)
can_admin = db.Column(db.Boolean)
# form_basket_add: Form_Basket_Add
# form_basket_edit: Form_Basket_Edit
# is_unavailable_in_currency_or_region: bool
# is_available: bool
# variation_tree
def __init__(self):
self.prices = []
@@ -136,9 +120,7 @@ class Product_Permutation(db.Model, Store_Base):
self.form_basket_add = Form_Basket_Add()
self.form_basket_edit = Form_Basket_Edit()
self.is_unavailable_in_currency_or_region = False
# self.is_available = False
self.variation_tree = None
# self.variations = []
@classmethod
def from_DB_get_many_product_catalogue(cls, query_row):
_m = f'{cls.__name__}.from_DB_get_many_product_catalogue'
@@ -180,7 +162,6 @@ class Product_Permutation(db.Model, Store_Base):
permutation.count_interval_expiration_unsealed = query_row[34]
permutation.has_variations = av.input_bool(query_row[35], cls.FLAG_HAS_VARIATIONS, _m, v_arg_type=v_arg_type)
permutation.active = av.input_bool(query_row[36], cls.FLAG_ACTIVE, _m, v_arg_type=v_arg_type)
# permutation.display_order = query_row[27]
permutation.can_view = av.input_bool(query_row[37], "can_view", _m, v_arg_type=v_arg_type)
permutation.can_edit = av.input_bool(query_row[38], "can_edit", _m, v_arg_type=v_arg_type)
permutation.can_admin = av.input_bool(query_row[39], "can_admin", _m, v_arg_type=v_arg_type)
@@ -191,7 +172,6 @@ class Product_Permutation(db.Model, Store_Base):
v_arg_type = 'class attribute'
permutation = Product_Permutation()
permutation.id_product = query_row[0]
# permutation.name = query_row[1]
permutation.description = query_row[2]
return permutation
@@ -200,21 +180,11 @@ class Product_Permutation(db.Model, Store_Base):
v_arg_type = 'class attribute'
permutation = Product_Permutation()
permutation.id_product = query_row[0]
# permutation.price_GBP_full = query_row[1]
permutation.id_stripe_product = query_row[2]
permutation.is_subscription = av.input_bool(query_row[3], "is_subscription", _m, v_arg_type=v_arg_type)
permutation.name_singular_unit_measurement_interval_recurrence = query_row[4]
permutation.count_interval_recurrence = query_row[5]
return permutation
"""
def from_json(json_basket_item, key_id_product, key_id_permutation):
_m = 'Product_Permutation.from_json'
v_arg_type = 'class attribute'
permutation = Product_Permutation()
permutation.id_product = json_basket_item[key_id_product]
permutation.id_permutation = json_basket_item[key_id_permutation]
return permutation
"""
@classmethod
def from_json(cls, json):
_m = f'{cls.__name__}.from_json'
@@ -257,11 +227,6 @@ class Product_Permutation(db.Model, Store_Base):
if permutation.has_variations:
permutation.csv_id_pairs_variation = json[cls.FLAG_PRODUCT_VARIATIONS]
permutation.variation_tree = Product_Variation_Tree.from_json_str(permutation.csv_id_pairs_variation)
"""
for jsonProductVariation in json[cls.FLAG_PRODUCT_VARIATIONS]:
variation = Product_Variation.from_json(jsonProductVariation)
permutation.add_product_variation(variation)
"""
return permutation
def to_json(self):
return {
@@ -327,29 +292,6 @@ class Product_Permutation(db.Model, Store_Base):
def output_delivery_date(self):
return (datetime.now() + timedelta(days=self.latency_manufacture)).strftime('%A, %d %B %Y')
"""
def output_lead_time(self):
return '1 day' if self.latency_manufacture == 1 else f'{self.latency_manufacture} days'
def output_price(self, is_included_VAT):
if self.is_unavailable_in_currency_or_region:
return 'Not available in currency and region'
if not self.is_available:
return 'Not available'
price = self.get_price()
locale.setlocale(locale.LC_ALL, '')
if is_included_VAT:
return f'{price.symbol_currency} {locale.format_string("%d", price.value_local_VAT_incl, grouping=True)}'
else:
return f'{price.symbol_currency} {locale.format_string("%d", price.value_local_VAT_excl, grouping=True)}'
def output_variations(self):
if not self.has_variations: return ''
return '\n'.join([f'{variation.name_variation_type}: {variation.name_variation}' for variation in self.variations])
def output_variations_jsonify(self):
if not self.has_variations: return ''
return ','.join([f'{variation.id_type}: {variation.id_variation}' for variation in self.variations])
"""
def __repr__(self):
return f'''Product_Permutation
id_permutation: {self.id_permutation}
@@ -394,27 +336,7 @@ class Product_Permutation(db.Model, Store_Base):
delivery_options: {self.delivery_options}
prices: {self.prices}
'''
"""
price_GBP_full: {self.price_GBP_full}
price_GBP_min: {self.price_GBP_min}
"""
"""
def add_product_variation(self, variation):
_m = 'Product_Permutation.add_product_variation'
""
av.val_instance(variation, 'variation', _m, Product_Variation)
try:
self.variation_index[variation.id_variation]
raise ValueError(f"{av.error_msg_str(variation, 'variation', _m, Product_Variation)}\nProduct_Variation already in product.")
except KeyError:
self.variation_index[variation.id_variation] = len(self.variations)
self.variations.append(variation)
""
if self.variation_tree is None:
self.variation_tree = Product_Variation_Tree.from_product_variation(variation)
else:
self.variation_tree.add_product_variation(variation)
"""
def add_product_variation_type(self, variation_type):
_m = 'Product_Permutation.add_product_variation_type'
if self.variation_tree is None:
@@ -487,23 +409,6 @@ class Product_Permutation(db.Model, Store_Base):
return a
"""
class Permutation_Product_Variation_Link(db.Model):
id_permutation = db.Column(db.Integer)
id_product = db.Column(db.Integer)
id_category = db.Column(db.Integer)
id_variation = db.Column(db.Integer)
def from_DB_get_many_product_catalogue(query_row):
_m = 'Permutation_Product_Variation_Link.from_DB_get_many_product_catalogue'
v_arg_type = 'class attribute'
link = Permutation_Product_Variation_Link()
link.id_permutation = query_row[0]
link.id_product = query_row[1]
link.id_category = query_row[2]
link.id_variation = query_row[3]
return link
"""
class Product_Permutation_Temp(db.Model, Store_Base):
__tablename__: ClassVar[str] = 'Shop_Product_Permutation_Temp'
@@ -588,30 +493,4 @@ class Product_Permutation_Temp(db.Model, Store_Base):
active: {self.active}
guid: {self.guid}
'''
"""
def to_json(self):
return {
self.ATTR_ID_PRODUCT_PERMUTATION: int(self.id_permutation),
self.ATTR_ID_PRODUCT: int(self.id_product),
self.FLAG_DESCRIPTION: self.description,
Product_Permutation.FLAG_COST_LOCAL: float(self.cost_local),
Product_Permutation.FLAG_CURRENCY_COST: int(self.id_currency_cost),
Product_Permutation.FLAG_PROFIT_LOCAL_MIN: float(self.profit_local_min),
Product_Permutation.FLAG_LATENCY_MANUFACTURE: int(self.latency_manufacture),
Product_Permutation.FLAG_UNIT_MEASUREMENT_QUANTITY: int(self.id_unit_measurement_quantity),
Product_Permutation.FLAG_COUNT_UNIT_MEASUREMENT_PER_QUANTITY_STEP: float(self.count_unit_measurement_per_quantity_step),
self.FLAG_QUANTITY_MIN: float(self.quantity_min),
self.FLAG_QUANTITY_MAX: float(self.quantity_max),
Product_Permutation.FLAG_QUANTITY_STOCK: float(self.quantity_stock),
Product_Permutation.FLAG_IS_SUBSCRIPTION: bool(self.is_subscription),
Product_Permutation.FLAG_UNIT_MEASUREMENT_INTERVAL_RECURRENCE: int(self.id_unit_measurement_interval_recurrence) if self.id_unit_measurement_interval_recurrence != '' else None,
Product_Permutation.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_RECURRENCE: float(self.count_interval_recurrence) if self.count_interval_recurrence != '' else None,
Product_Permutation.FLAG_ID_STRIPE_PRODUCT: self.id_stripe_product,
Product_Permutation.FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED: bool(self.does_expire_faster_once_unsealed),
Product_Permutation.FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: int(self.id_unit_measurement_interval_expiration_unsealed) if self.id_unit_measurement_interval_expiration_unsealed != '' else None,
Product_Permutation.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: float(self.count_interval_expiration_unsealed) if self.count_interval_expiration_unsealed != '' else None,
self.FLAG_ACTIVE: bool(self.active),
self.FLAG_GUID: self.guid
}
"""

View File

@@ -27,13 +27,6 @@ class Product_Price(db.Model, Store_Base):
id_permutation = db.Column(db.Integer)
id_product = db.Column(db.Integer)
id_category = db.Column(db.Integer)
"""
id_currency = db.Column(db.Integer)
code_currency = db.Column(db.String(50))
name_currency = db.Column(db.String(255))
symbol_currency = db.Column(db.String(50))
"""
# id_region = db.Column(db.Integer)
value_local_VAT_incl = db.Column(db.Float)
value_local_VAT_excl = db.Column(db.Float)
display_order = db.Column(db.Float)
@@ -45,20 +38,12 @@ class Product_Price(db.Model, Store_Base):
self.delivery_region = None
@classmethod
def from_DB_get_many_product_catalogue(cls, query_row):
# _m = 'Product_Price.from_DB_get_many_product_catalogue'
price = cls()
price.id_price = query_row[0]
price.id_permutation = query_row[1]
price.id_product = query_row[2]
price.id_category = query_row[3]
price.currency = Currency.from_DB_get_many_product_price_and_discount_and_delivery_region(query_row)
"""
price.id_currency = query_row[4]
price.code_currency = query_row[5]
price.name_currency = query_row[6]
price.symbol_currency = query_row[7]
"""
# price.id_region = query_row[8]
price.value_local_VAT_incl = query_row[9]
price.value_local_VAT_excl = query_row[10]
price.display_order = query_row[11]
@@ -85,7 +70,6 @@ class Product_Price(db.Model, Store_Base):
self.ATTR_ID_PRODUCT: self.id_product,
self.ATTR_ID_PRODUCT_CATEGORY: self.id_category,
self.FLAG_CURRENCY: self.currency.to_json(),
# Region.ATTR_ID_REGION_DELIVERY: self.id_region,
self.FLAG_VALUE_LOCAL_VAT_INCL: self.value_local_VAT_incl,
self.FLAG_VALUE_LOCAL_VAT_EXCL: self.value_local_VAT_excl,
self.FLAG_DISPLAY_ORDER: self.display_order
@@ -99,7 +83,6 @@ class Product_Price(db.Model, Store_Base):
price.id_product = json[cls.ATTR_ID_PRODUCT]
price.id_category = json[cls.ATTR_ID_PRODUCT_CATEGORY]
price.currency = Currency.from_json(json)
# price.id_region = json[Region.ATTR_ID_REGION_DELIVERY]
price.value_local_VAT_incl = json[cls.FLAG_VALUE_LOCAL_VAT_INCL]
price.value_local_VAT_excl = json[cls.FLAG_VALUE_LOCAL_VAT_EXCL]
price.display_order = json[cls.FLAG_DISPLAY_ORDER]

View File

@@ -22,7 +22,7 @@ class Config:
is_production = False
DB_HOST = os.getenv('DB_HOST')
DB_NAME = os.getenv('partsltd_prod')
DB_NAME = os.getenv('demo')
DB_PASSWORD = os.getenv('DB_PASSWORD')
DB_USER = os.getenv('DB_USER')
DEBUG = False

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,12 @@
CREATE DATABASE IF NOT EXISTS demo;
GRANT ALL PRIVILEGES ON demo.* TO 'teddy'@'%';
FLUSH PRIVILEGES;
USE demo;
/* Clear Store DataBase */

View File

@@ -1,6 +1,6 @@
# Split Staging
-- USE partsltd_prod;
-- USE demo;
-- DROP TABLE IF EXISTS Split_Temp;
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Split_Temp';

View File

@@ -1,6 +1,6 @@
# Split Key Value Pair CSV Staging
-- USE partsltd_prod;
-- USE demo;
-- DROP TABLE IF EXISTS Split_Temp;
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Split_Key_Value_Pair_Csv_Temp';

View File

@@ -9,12 +9,12 @@ CREATE TABLE Shop_Address (
, id_region INT NOT NULL
, CONSTRAINT FK_Shop_Address_id_region
FOREIGN KEY (id_region)
REFERENCES partsltd_prod.Shop_Region(id_region)
REFERENCES demo.Shop_Region(id_region)
/*
, id_supplier INT NULL
, CONSTRAINT FK_Shop_Address_id_supplier
FOREIGN KEY (id_supplier)
REFERENCES partsltd_prod.Shop_Supplier(id_supplier)
REFERENCES demo.Shop_Supplier(id_supplier)
*/
, postcode VARCHAR(20) NOT NULL
, address_line_1 VARCHAR(256) NOT NULL
@@ -27,5 +27,5 @@ CREATE TABLE Shop_Address (
, id_change_set INT
, CONSTRAINT FK_Shop_Address_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES partsltd_prod.Shop_User_Change_Set(id_change_set)
REFERENCES demo.Shop_User_Change_Set(id_change_set)
);

View File

@@ -1,7 +1,7 @@
# Product Permutation
-- DROP TABLE partsltd_prod.Shop_Product_Permutation;
-- DROP TABLE demo.Shop_Product_Permutation;
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Permutation';

View File

@@ -1,7 +1,7 @@
# Variation Types Temp
-- DROP TABLE partsltd_prod.Shop_Variation_Type_Temp;
-- DROP TABLE demo.Shop_Variation_Type_Temp;
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation_Type_Temp';

View File

@@ -10,12 +10,12 @@ CREATE TABLE Shop_Variation (
, id_type INT NOT NULL
, CONSTRAINT FK_Shop_Variation_id_type
FOREIGN KEY (id_type)
REFERENCES partsltd_prod.Shop_Variation_Type(id_type)
REFERENCES demo.Shop_Variation_Type(id_type)
ON UPDATE RESTRICT
, id_unit_measurement INT NULL
, CONSTRAINT FK_Shop_Unit_Measurement_id_unit_measurement
FOREIGN KEY (id_unit_measurement)
REFERENCES partsltd_prod.Shop_Unit_Measurement(id_unit_measurement)
REFERENCES demo.Shop_Unit_Measurement(id_unit_measurement)
, count_unit_measurement INT NULL
, code VARCHAR(50)
, name VARCHAR(255)
@@ -26,5 +26,5 @@ CREATE TABLE Shop_Variation (
, id_change_set INT
, CONSTRAINT FK_Shop_Variation_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES partsltd_prod.Shop_Product_Change_Set(id_change_set)
REFERENCES demo.Shop_Product_Change_Set(id_change_set)
);

View File

@@ -1,7 +1,7 @@
# Variations Temp
-- DROP TABLE partsltd_prod.Shop_Variation_Temp;
-- DROP TABLE demo.Shop_Variation_Temp;
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation_Temp';

View File

@@ -8,12 +8,12 @@ CREATE TABLE Shop_Supplier_Address (
, id_supplier INT NOT NULL
, CONSTRAINT FK_Shop_Supplier_Address_id_supplier
FOREIGN KEY (id_supplier)
REFERENCES partsltd_prod.Shop_Supplier(id_supplier)
REFERENCES demo.Shop_Supplier(id_supplier)
ON UPDATE RESTRICT
, id_region INT NOT NULL
, CONSTRAINT FK_Shop_Supplier_Address_id_region
FOREIGN KEY (id_region)
REFERENCES partsltd_prod.Shop_Region(id_region)
REFERENCES demo.Shop_Region(id_region)
, postcode VARCHAR(20) NOT NULL
, address_line_1 VARCHAR(256) NOT NULL
, address_line_2 VARCHAR(256) NOT NULL
@@ -25,5 +25,5 @@ CREATE TABLE Shop_Supplier_Address (
, id_change_set INT
, CONSTRAINT FK_Shop_Supplier_Address_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES partsltd_prod.Shop_User_Change_Set(id_change_set)
REFERENCES demo.Shop_User_Change_Set(id_change_set)
);

View File

@@ -11,29 +11,29 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item (
, id_permutation INT NOT NULL
, CONSTRAINT FK_Shop_Stock_Item_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES partsltd_prod.Shop_Product_Permutation(id_permutation)
REFERENCES demo.Shop_Product_Permutation(id_permutation)
, id_supplier_purchase_order INT NULL
, CONSTRAINT FK_Shop_Stock_Item_id_supplier_purchase_order
FOREIGN KEY (id_supplier_purchase_order)
REFERENCES partsltd_prod.Shop_Supplier_Purchase_Order(id_order)
REFERENCES demo.Shop_Supplier_Purchase_Order(id_order)
, id_manufacturing_purchase_order INT NULL
, CONSTRAINT FK_Shop_Stock_Item_id_manufacturing_purchase_order
FOREIGN KEY (id_manufacturing_purchase_order)
REFERENCES partsltd_prod.Shop_Manufacturing_Purchase_Order(id_order)
REFERENCES demo.Shop_Manufacturing_Purchase_Order(id_order)
, id_customer_sales_order INT NULL
, CONSTRAINT FK_Shop_Stock_Item_id_customer_sales_order
FOREIGN KEY (id_customer_sales_order)
REFERENCES partsltd_prod.Shop_Customer_Sales_Order(id_order)
REFERENCES demo.Shop_Customer_Sales_Order(id_order)
, date_purchased DATETIME NOT NULL
, date_received DATETIME
, id_location_storage INT NOT NULL
, CONSTRAINT FK_Shop_Stock_Item_id_location_storage
FOREIGN KEY (id_location_storage)
REFERENCES partsltd_prod.Shop_Storage_Location(id_location)
REFERENCES demo.Shop_Storage_Location(id_location)
, id_currency_cost INT NOT NULL
, CONSTRAINT FK_Shop_Stock_Item_id_currency
FOREIGN KEY (id_currency_cost)
REFERENCES partsltd_prod.Shop_Currency(id_currency)
REFERENCES demo.Shop_Currency(id_currency)
, cost_local_VAT_incl FLOAT
, cost_local_VAT_excl FLOAT
, is_sealed BIT NOT NULL DEFAULT 1
@@ -47,5 +47,5 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item (
, id_change_set INT
, CONSTRAINT FK_Shop_Stock_Item_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES partsltd_prod.Shop_Product_Change_Set(id_change_set)
REFERENCES demo.Shop_Product_Change_Set(id_change_set)
);

View File

@@ -1,8 +1,8 @@
# Manufacturing Purchase Order Product Link
-- DROP TABLE partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Audit
-- DROP TABLE partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link
-- DROP TABLE demo.Shop_Manufacturing_Purchase_Order_Product_Link_Audit
-- DROP TABLE demo.Shop_Manufacturing_Purchase_Order_Product_Link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Manufacturing_Purchase_Order_Product_Link';
@@ -11,11 +11,11 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link (
, id_order INT NOT NULL
, CONSTRAINT FK_Manufacturing_Purchase_Order_Product_Link_id_order
FOREIGN KEY (id_order)
REFERENCES partsltd_prod.Shop_Manufacturing_Purchase_Order(id_order)
REFERENCES demo.Shop_Manufacturing_Purchase_Order(id_order)
, id_permutation INT NOT NULL
, CONSTRAINT FK_Manufacturing_Purchase_Order_Product_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES partsltd_prod.Shop_Product_Permutation(id_permutation)
REFERENCES demo.Shop_Product_Permutation(id_permutation)
, cost_unit_local_VAT_excl FLOAT NULL
, cost_unit_local_VAT_incl FLOAT NULL
, price_unit_local_VAT_excl FLOAT NULL
@@ -23,13 +23,13 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link (
, id_unit_quantity INT NOT NULL
, CONSTRAINT FK_Manufacturing_Purchase_Order_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES partsltd_prod.Shop_Unit_Measurement(id_unit_measurement)
REFERENCES demo.Shop_Unit_Measurement(id_unit_measurement)
, quantity_used FLOAT NULL
, quantity_produced FLOAT NULL
, id_unit_latency_manufacture INT NULL
, CONSTRAINT FK_MPO_id_unit_latency_manufacture
FOREIGN KEY (id_unit_latency_manufacture)
REFERENCES partsltd_prod.Shop_Unit_Measurement(id_unit_measurement)
REFERENCES demo.Shop_Unit_Measurement(id_unit_measurement)
, latency_manufacture INT NULL
, display_order INT NOT NULL
, active BIT NOT NULL
@@ -40,5 +40,5 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link (
, id_change_set INT NULL
, CONSTRAINT FK_Manufacturing_Purchase_Order_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES partsltd_prod.Shop_Sales_And_Purchasing_Change_Set(id_change_set)
REFERENCES demo.Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -1,6 +1,6 @@
# Calc User Staging
-- USE partsltd_prod;
-- USE demo;
-- DROP TABLE IF EXISTS Shop_Calc_User_Temp;
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Calc_User_Temp';
@@ -12,12 +12,12 @@ CREATE TABLE Shop_Calc_User_Temp (
id_permission_required INT NOT NULL,
CONSTRAINT FK_Shop_Calc_User_Temp_id_permission_required
FOREIGN KEY (id_permission_required)
REFERENCES partsltd_prod.Shop_Permission (id_permission),
REFERENCES demo.Shop_Permission (id_permission),
priority_access_level_required INT NOT NULL,
id_product INT NULL,
CONSTRAINT FK_Shop_Calc_User_Temp_id_product
FOREIGN KEY (id_product)
REFERENCES partsltd_prod.Shop_Product (id_product),
REFERENCES demo.Shop_Product (id_product),
is_super_user BIT NULL,
priority_access_level_user INT NULL,
can_view BIT,

View File

@@ -14,7 +14,7 @@ FOR EACH ROW
BEGIN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
-- SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
IF NOT EXISTS (SELECT * FROM partsltd_prod.Shop_User U WHERE U.id_user = NEW.created_by LIMIT 1) THEN
IF NOT EXISTS (SELECT * FROM demo.Shop_User U WHERE U.id_user = NEW.created_by LIMIT 1) THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Valid created by User ID must be provided.';
END IF;

View File

@@ -1,4 +1,4 @@
-- USE partsltd_prod;
-- USE demo;
-- Clear previous proc
DROP PROCEDURE IF EXISTS p_debug_timing_reporting;
@@ -37,7 +37,7 @@ END //
DELIMITER ;
/*
CALL partsltd_prod.p_debug_timing_reporting (
CALL demo.p_debug_timing_reporting (
CURRENT_TIMESTAMP(6)
);
*/

View File

@@ -46,9 +46,9 @@ BEGIN
IF v_id_permutation IS NULL THEN
-- First iteration: find initial v_id_permutations
SELECT PPVL.id_permutation INTO v_id_permutation
FROM partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation
INNER JOIN partsltd_prod.Shop_Variation PV ON PPVL.id_variation = PV.id_variation
FROM demo.Shop_Product_Permutation_Variation_Link PPVL
INNER JOIN demo.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation
INNER JOIN demo.Shop_Variation PV ON PPVL.id_variation = PV.id_variation
WHERE 1=1
AND PP.id_product = a_id_product
AND PPVL.id_variation = v_id_variation
@@ -57,9 +57,9 @@ BEGIN
ELSE
-- Subsequent iterations: narrow down the v_id_permutation
SELECT PPVL.id_permutation INTO v_id_permutation_tmp
FROM partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation
INNER JOIN partsltd_prod.Shop_Variation PV ON PPVL.id_variation = PV.id_variation
FROM demo.Shop_Product_Permutation_Variation_Link PPVL
INNER JOIN demo.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation
INNER JOIN demo.Shop_Variation PV ON PPVL.id_variation = PV.id_variation
WHERE 1=1
AND PP.id_product = a_id_product
AND PPVL.v_id_permutation = v_id_permutation
@@ -98,7 +98,7 @@ WHERE v_id_permutation IS NULL;
*/
/*
select * from partsltd_prod.Shop_Variation
select * from demo.Shop_Variation
DROP PROCEDURE IF EXISTS p_shop_get_id_product_permutation_from_variation_csv_list;

View File

@@ -55,7 +55,7 @@ BEGIN
END IF;
END WHILE;
INSERT INTO partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp (
INSERT INTO demo.Shop_Product_Permutation_Variation_Link_Temp (
id_link
, id_permutation
, id_variation
@@ -71,7 +71,7 @@ BEGIN
, 1 AS active
, a_guid
FROM tmp_Get_Variation_From_Csv_Variations t_V
LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON t_V.id_variation = PPVL.id_variation
LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON t_V.id_variation = PPVL.id_variation
;
DROP TEMPORARY TABLE tmp_Get_Variation_From_Csv_Variations;
@@ -85,18 +85,18 @@ DELIMITER ;
/*
SELECT
partsltd_prod.fn_shop_get_product_variations_from_id_csv_list(
demo.fn_shop_get_product_variations_from_id_csv_list(
1 -- a_id_permutation
, '1:1' -- a_variation_csv
, 'NIPPLENIPPLENIPPLENIPPLENIPPLENIPPLE' -- a_guid
)
;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp
FROM demo.Shop_Product_Permutation_Variation_Link_Temp
WHERE GUID = 'NIPPLENIPPLENIPPLENIPPLENIPPLENIPPLE'
;
DELETE
FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp
FROM demo.Shop_Product_Permutation_Variation_Link_Temp
WHERE GUID = 'NIPPLENIPPLENIPPLENIPPLENIPPLENIPPLE'
;
*/

View File

@@ -23,11 +23,11 @@ BEGIN
SEPARATOR ','
)
END
FROM partsltd_prod.Shop_Product_Permutation PP
LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product
LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation
LEFT JOIN partsltd_prod.Shop_Variation PV ON PPVL.id_variation = PV.id_variation
LEFT JOIN partsltd_prod.Shop_Variation_Type PVT ON PV.id_type = PVT.id_type
FROM demo.Shop_Product_Permutation PP
LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product
LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation
LEFT JOIN demo.Shop_Variation PV ON PPVL.id_variation = PV.id_variation
LEFT JOIN demo.Shop_Variation_Type PVT ON PV.id_type = PVT.id_type
WHERE PP.id_permutation = id_product_permutation
GROUP BY P.id_product, P.has_variations, PVT.display_order, PVT.name, PV.display_order, PV.name
LIMIT 1

View File

@@ -43,7 +43,7 @@ BEGIN
SET v_code_error_permission := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 2);
CALL partsltd_prod.p_validate_guid ( a_guid );
CALL demo.p_validate_guid ( a_guid );
SET a_ids_user := TRIM(IFNULL(a_ids_user, ''));
SET a_get_inactive_user := IFNULL(a_get_inactive_user, 0);
SET a_ids_permission := TRIM(IFNULL(a_ids_permission, ''));
@@ -124,10 +124,10 @@ BEGIN
*/
SET a_ids_product = REPLACE(a_ids_product, '|', ',');
SET v_has_filter_product = CASE WHEN a_ids_product = '' THEN 0 ELSE 1 END;
SET v_id_access_level_view = (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_priority_access_level_view = (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE id_access_level = v_id_access_level_view);
SET v_priority_access_level_edit = (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
SET v_priority_access_level_admin = (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1);
SET v_id_access_level_view = (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_priority_access_level_view = (SELECT priority FROM demo.Shop_Access_Level WHERE id_access_level = v_id_access_level_view);
SET v_priority_access_level_edit = (SELECT priority FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
SET v_priority_access_level_admin = (SELECT priority FROM demo.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1);
IF a_debug = 1 THEN
SELECT
@@ -139,7 +139,7 @@ BEGIN
# Access levels
IF v_has_filter_access_level THEN
CALL partsltd_prod.p_split(a_guid, a_ids_access_level, ',', a_debug);
CALL demo.p_split(a_guid, a_ids_access_level, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -155,13 +155,13 @@ BEGIN
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
CALL demo.p_clear_split_temp( a_guid );
# Invalid IDs
IF EXISTS (
SELECT t_S.substring
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level
LEFT JOIN demo.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level
WHERE
ISNULL(t_S.as_int)
OR ISNULL(AL.id_access_level)
@@ -179,7 +179,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive access level IDs: ', GROUP_CONCAT(t_S.substring SEPARATOR ', '))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level
LEFT JOIN demo.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level
WHERE
ISNULL(t_S.as_int)
OR ISNULL(AL.id_access_level)
@@ -190,7 +190,7 @@ BEGIN
SET v_id_access_level := (
SELECT AL.id_access_level
FROM tmp_Split t_S
INNER JOIN partsltd_prod.Shop_Access_Level AL
INNER JOIN demo.Shop_Access_Level AL
ON t_S.as_int = AL.id_access_level
AND AL.active
ORDER BY AL.priority ASC
@@ -199,14 +199,14 @@ BEGIN
ELSE
SET v_id_access_level = v_id_access_level_view;
END IF;
SET v_priority_access_level := (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE id_access_level = v_id_access_level LIMIT 1);
SET v_priority_access_level := (SELECT priority FROM demo.Shop_Access_Level WHERE id_access_level = v_id_access_level LIMIT 1);
END IF;
END IF;
DELETE FROM tmp_Split;
-- Permission IDs
IF v_has_filter_permission THEN
CALL partsltd_prod.p_split(a_guid, a_ids_permission, ',', a_debug);
CALL demo.p_split(a_guid, a_ids_permission, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -222,10 +222,10 @@ BEGIN
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
CALL demo.p_clear_split_temp( a_guid );
# Invalid or inactive
IF EXISTS (SELECT PERM.id_permission FROM tmp_Split t_S LEFT JOIN partsltd_prod.Shop_Permission PERM ON t_S.as_int = PERM.id_permission WHERE ISNULL(t_S.as_int) OR ISNULL(PERM.id_permission) OR PERM.active = 0) THEN
IF EXISTS (SELECT PERM.id_permission FROM tmp_Split t_S LEFT JOIN demo.Shop_Permission PERM ON t_S.as_int = PERM.id_permission WHERE ISNULL(t_S.as_int) OR ISNULL(PERM.id_permission) OR PERM.active = 0) THEN
INSERT INTO tmp_Msg_Error (
-- guid,
id_type,
@@ -238,7 +238,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive permission IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Permission PERM ON t_S.as_int = PERM.id_permission
LEFT JOIN demo.Shop_Permission PERM ON t_S.as_int = PERM.id_permission
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PERM.id_permission)
@@ -247,8 +247,8 @@ BEGIN
ELSE
SET v_id_permission_required := (
SELECT PERM.id_permission
FROM partsltd_prod.Shop_Permission PERM
INNER JOIN partsltd_prod.Shop_Access_Level AL ON PERM.id_access_level_required = AL.id_access_level
FROM demo.Shop_Permission PERM
INNER JOIN demo.Shop_Access_Level AL ON PERM.id_access_level_required = AL.id_access_level
ORDER BY AL.priority ASC
LIMIT 1
);
@@ -257,7 +257,7 @@ BEGIN
DELETE FROM tmp_Split;
# Users
CALL partsltd_prod.p_split(a_guid, a_ids_user, ',', a_debug);
CALL demo.p_split(a_guid, a_ids_user, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -273,10 +273,10 @@ BEGIN
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
CALL demo.p_clear_split_temp( a_guid );
# Invalid or inactive
IF EXISTS (SELECT U.id_user FROM tmp_Split t_S LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) OR (a_get_inactive_user = 0 AND U.active = 0)) THEN
IF EXISTS (SELECT U.id_user FROM tmp_Split t_S LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) OR (a_get_inactive_user = 0 AND U.active = 0)) THEN
INSERT INTO tmp_Msg_Error (
-- guid,
id_type,
@@ -289,7 +289,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive user IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user
LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user
WHERE
ISNULL(t_S.as_int)
OR ISNULL(U.id_user)
@@ -303,7 +303,7 @@ BEGIN
SET a_ids_user = (
SELECT U.id_user
FROM tmp_Split t_S
INNER JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user
INNER JOIN demo.Shop_User U ON t_S.as_int = U.id_user
);
SET v_has_filter_user = ISNULL(a_ids_user);
*/
@@ -329,14 +329,14 @@ BEGIN
-- , IFNULL(AL_U.id_access_level, v_id_access_level_view) AS id_access_level
, IFNULL(MIN(AL_U.priority), v_priority_access_level_view) AS priority_access_level
FROM tmp_Split t_S
INNER JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user
LEFT JOIN partsltd_prod.Shop_User_Role_Link URL
INNER JOIN demo.Shop_User U ON t_S.as_int = U.id_user
LEFT JOIN demo.Shop_User_Role_Link URL
ON U.id_user = URL.id_user
AND URL.active
LEFT JOIN partsltd_prod.Shop_Role_Permission_Link RPL
LEFT JOIN demo.Shop_Role_Permission_Link RPL
ON URL.id_role = RPL.id_role
AND RPL.active
LEFT JOIN partsltd_prod.Shop_Access_Level AL_U
LEFT JOIN demo.Shop_Access_Level AL_U
ON RPL.id_access_level = AL_U.id_access_level
AND AL_U.active
GROUP BY U.id_user
@@ -377,21 +377,21 @@ BEGIN
, CASE WHEN MIN(IFNULL(AL_U.priority, 0)) = 0 THEN v_priority_access_level_view ELSE MIN(IFNULL(AL_U.priority, 0)) END AS priority_access_level_user
, IFNULL(U.is_super_user, 0) AS is_super_user
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_User U
LEFT JOIN demo.Shop_User U
ON t_S.as_int = U.id_user
AND U.active
LEFT JOIN partsltd_prod.Shop_User_Role_Link URL
LEFT JOIN demo.Shop_User_Role_Link URL
ON U.id_user = URL.id_user
AND URL.active
LEFT JOIN partsltd_prod.Shop_Role_Permission_Link RPL
LEFT JOIN demo.Shop_Role_Permission_Link RPL
ON URL.id_role = RPL.id_role
AND RPL.active
LEFT JOIN partsltd_prod.Shop_Access_Level AL_U
LEFT JOIN demo.Shop_Access_Level AL_U
ON RPL.id_access_level = AL_U.id_access_level
AND AL_U.active
*
CROSS JOIN tmp_Product_Calc_User t_P
LEFT JOIN partsltd_prod.Shop_Access_Level AL_P
LEFT JOIN demo.Shop_Access_Level AL_P
ON t_P.id_access_level_required = AL_P.id_access_level
AND AL_P.active
*
@@ -405,7 +405,7 @@ BEGIN
# Products
IF v_has_filter_product = 1 THEN
CALL partsltd_prod.p_split(a_guid, a_ids_product, ',', a_debug);
CALL demo.p_split(a_guid, a_ids_product, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -421,10 +421,10 @@ BEGIN
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
CALL demo.p_clear_split_temp( a_guid );
# Invalid product IDs
IF EXISTS (SELECT * FROM tmp_Split t_S LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product)) THEN
IF EXISTS (SELECT * FROM tmp_Split t_S LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product)) THEN
INSERT INTO tmp_Msg_Error (
-- guid,
id_type,
@@ -437,7 +437,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid Product IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product
LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product
WHERE
ISNULL(t_S.as_int)
OR ISNULL(P.id_product)
@@ -457,12 +457,12 @@ BEGIN
CASE WHEN AL_P.priority < AL_C.priority THEN AL_P.id_access_level ELSE AL_C.id_access_level END AS id_access_level_required,
CASE WHEN AL_P.priority < AL_C.priority THEN AL_P.priority ELSE AL_C.priority END AS priority_access_level_required
FROM tmp_Split t_S
INNER JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product # Shop_Product_Permutation PP
INNER JOIN partsltd_prod.Shop_Access_Level AL_P
INNER JOIN demo.Shop_Product P ON t_S.as_int = P.id_product # Shop_Product_Permutation PP
INNER JOIN demo.Shop_Access_Level AL_P
ON P.id_access_level_required = AL_P.id_access_level
AND AL_P.active
INNER JOIN partsltd_prod.Shop_Product_Category C ON P.id_category = C.id_category
INNER JOIN partsltd_prod.Shop_Access_Level AL_C
INNER JOIN demo.Shop_Product_Category C ON P.id_category = C.id_category
INNER JOIN demo.Shop_Access_Level AL_C
ON C.id_access_level_required = AL_C.id_access_level
AND AL_C.active
;
@@ -470,9 +470,9 @@ BEGIN
SET v_has_filter_product = EXISTS (SELECT * FROM tmp_Product_Calc_User);
/*
UPDATE tmp_Product_Calc_User t_P
INNER JOIN partsltd_prod.Shop_Product P ON t_P.id_product = P.id_product
INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category
INNER JOIN partsltd_prod.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level
INNER JOIN demo.Shop_Product P ON t_P.id_product = P.id_product
INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category
INNER JOIN demo.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level
SET
t_P.id_access_level_required = CASE WHEN t_P.priority_access_level_required <= AL.priority THEN t_P.id_access_level_required ELSE AL.id_access_level END
, t_P.priority_access_level_required = LEAST(t_P.priority_access_level_required, AL.priority)
@@ -511,7 +511,7 @@ BEGIN
, t_U.priority_access_level AS priority_access_level_user
FROM tmp_User_Calc_User t_U
CROSS JOIN tmp_Product_Calc_User t_P
LEFT JOIN partsltd_prod.Shop_Access_Level AL ON t_P.id_access_level_required = AL.id_access_level
LEFT JOIN demo.Shop_Access_Level AL ON t_P.id_access_level_required = AL.id_access_level
;
-- Calculated fields
@@ -525,7 +525,7 @@ BEGIN
-- Export data to staging table
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
START TRANSACTION;
INSERT INTO partsltd_prod.Shop_Calc_User_Temp (
INSERT INTO demo.Shop_Calc_User_Temp (
guid
, id_user
, id_permission_required
@@ -558,8 +558,8 @@ BEGIN
SELECT * FROM tmp_Calc_User;
SELECT * FROM tmp_User_Calc_User;
SELECT * FROM tmp_Product_Calc_User;
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid;
CALL partsltd_prod.p_shop_clear_calc_user ( a_guid, a_debug );
SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid;
CALL demo.p_shop_clear_calc_user ( a_guid, a_debug );
END IF;
-- Clean up
@@ -571,14 +571,14 @@ BEGIN
DELETE FROM tmp_Split;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting( v_time_start );
CALL demo.p_debug_timing_reporting( v_time_start );
END IF;
END //
DELIMITER ;
/*
CALL partsltd_prod.p_shop_calc_user (
CALL demo.p_shop_calc_user (
'chips '
, 1
, 0
@@ -587,7 +587,7 @@ CALL partsltd_prod.p_shop_calc_user (
, '1,2,3,4,5'
, 0
);
CALL partsltd_prod.p_shop_calc_user (
CALL demo.p_shop_calc_user (
'chips '
, 1
, 0
@@ -596,14 +596,14 @@ CALL partsltd_prod.p_shop_calc_user (
, NULL
, 0
);
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips ';
DELETE FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips ';
SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips ';
DELETE FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips ';
-- SELECT * FROM partsltd_prod.Shop_Calc_User_Temp;
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips ';
CALL partsltd_prod.p_shop_clear_calc_user ( 'chips ', 0 );
-- SELECT * FROM partsltd_prod.Shop_Calc_User_Temp;
-- SELECT * FROM demo.Shop_Calc_User_Temp;
SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips ';
CALL demo.p_shop_clear_calc_user ( 'chips ', 0 );
-- SELECT * FROM demo.Shop_Calc_User_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error;
CALL p_shop_calc_user(
@@ -615,11 +615,11 @@ DROP TABLE IF EXISTS tmp_Msg_Error;
, '' -- a_ids_product
, 0 -- a_debug
);
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips ';
CALL partsltd_prod.p_shop_clear_calc_user ( 'chips ', 0 );
SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips ';
CALL demo.p_shop_clear_calc_user ( 'chips ', 0 );
DROP TABLE IF EXISTS tmp_Msg_Error;
SELECT * FROM partsltd_prod.shop_user_role_link;
SELECT * FROM partsltd_prod.shop_role_permission_link;
SELECT * FROM demo.shop_user_role_link;
SELECT * FROM demo.shop_role_permission_link;
*/

View File

@@ -25,7 +25,7 @@ BEGIN
COMMIT;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting( v_time_start );
CALL demo.p_debug_timing_reporting( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -47,7 +47,7 @@ BEGIN
MET.id_type
, @errno
, @text
FROM partsltd_prod.Shop_Msg_Error_Type MET
FROM demo.Shop_Msg_Error_Type MET
WHERE MET.code = 'MYSQL_ERROR'
;
SELECT *
@@ -109,8 +109,8 @@ BEGIN
, IFNULL(PC_T.display_order, PC.display_order) AS display_order
, IFNULL(PC_T.name, IFNULL(PC.name, IFNULL(PC_T.code, IFNULL(PC.code, IFNULL(PC_T.id_category, '(No Product Category)'))))) AS name_error
, CASE WHEN IFNULL(PC_T.id_category, 0) < 1 THEN 1 ELSE 0 END AS is_new
FROM partsltd_prod.Shop_Product_Category_Temp PC_T
LEFT JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category
FROM demo.Shop_Product_Category_Temp PC_T
LEFT JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category
WHERE PC_T.guid = a_guid
;
@@ -165,7 +165,7 @@ BEGIN
-- Permissions
SET v_ids_product_permission := (
SELECT GROUP_CONCAT(P.id_product SEPARATOR ',')
FROM partsltd_prod.Shop_Product P
FROM demo.Shop_Product P
INNER JOIN tmp_Category t_C
ON P.id_category = t_C.id_category
AND t_C.is_new = 0
@@ -185,7 +185,7 @@ BEGIN
;
END IF;
CALL partsltd_prod.p_shop_calc_user(
CALL demo.p_shop_calc_user(
a_guid
, a_id_user
, FALSE -- a_get_inactive_user
@@ -196,8 +196,8 @@ BEGIN
);
UPDATE tmp_Category t_C
INNER JOIN partsltd_prod.Shop_Product P ON t_C.id_category = P.id_product
INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T
INNER JOIN demo.Shop_Product P ON t_C.id_category = P.id_product
INNER JOIN demo.Shop_Calc_User_Temp UE_T
ON P.id_product = UE_T.id_product
AND UE_T.GUID = a_guid
SET
@@ -223,7 +223,7 @@ BEGIN
;
END IF;
IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0 LIMIT 1) THEN
IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0 LIMIT 1) THEN
DELETE t_ME
FROM tmp_Msg_Error t_ME
WHERE t_ME.id_type <> v_id_type_error_no_permission
@@ -241,7 +241,7 @@ BEGIN
;
END IF;
CALL partsltd_prod.p_shop_clear_calc_user(
CALL demo.p_shop_clear_calc_user(
a_guid
, 0 -- a_debug
);
@@ -249,13 +249,13 @@ BEGIN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
START TRANSACTION;
INSERT INTO partsltd_prod.Shop_Product_Change_Set ( comment )
INSERT INTO demo.Shop_Product_Change_Set ( comment )
VALUES ( a_comment )
;
SET v_id_change_set := LAST_INSERT_ID();
UPDATE partsltd_prod.Shop_Product_Category PC
UPDATE demo.Shop_Product_Category PC
INNER JOIN tmp_Category t_C
ON PC.id_category = t_C.id_category
AND t_C.is_new = 0
@@ -270,7 +270,7 @@ BEGIN
, PC.id_change_set = v_id_change_set
;
INSERT INTO partsltd_prod.Shop_Product_Category (
INSERT INTO demo.Shop_Product_Category (
code
, name
, description
@@ -301,7 +301,7 @@ BEGIN
START TRANSACTION;
DELETE FROM partsltd_prod.Shop_Product_Category_Temp
DELETE FROM demo.Shop_Product_Category_Temp
WHERE GUID = a_guid;
COMMIT;
@@ -309,7 +309,7 @@ BEGIN
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
@@ -320,7 +320,7 @@ BEGIN
DROP TEMPORARY TABLE tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
@@ -330,13 +330,13 @@ select
*
-- COUNT(*)
-- delete
from partsltd_prod.Shop_Product_Category_Temp
from demo.Shop_Product_Category_Temp
;
CALL partsltd_prod.p_shop_save_product_category (
CALL demo.p_shop_save_product_category (
'nipples'
, (SELECT GUID FROM partsltd_prod.Shop_Product_Category_Temp ORDER BY id_temp DESC LIMIT 1)
, (SELECT GUID FROM demo.Shop_Product_Category_Temp ORDER BY id_temp DESC LIMIT 1)
, 1
, 1
);
@@ -345,7 +345,7 @@ select
*
-- COUNT(*)
-- delete
from partsltd_prod.Shop_Product_Category_Temp
from demo.Shop_Product_Category_Temp
;
*/

View File

@@ -1,6 +1,6 @@
-- Clear previous proc
DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_category_test;
DROP PROCEDURE IF EXISTS demo.p_shop_save_product_category_test;
DELIMITER //
@@ -14,15 +14,15 @@ BEGIN
SET v_guid := 'nips';
SELECT *
FROM partsltd_prod.Shop_Product_Category
FROM demo.Shop_Product_Category
;
SELECT *
FROM partsltd_prod.Shop_Product_Category_Temp
FROM demo.Shop_Product_Category_Temp
;
START TRANSACTION;
INSERT INTO partsltd_prod.Shop_Product_Category_Temp (
INSERT INTO demo.Shop_Product_Category_Temp (
id_category
, name
, code
@@ -44,11 +44,11 @@ BEGIN
COMMIT;
SELECT *
FROM partsltd_prod.Shop_Product_Category_Temp
FROM demo.Shop_Product_Category_Temp
WHERE GUID = v_guid
;
CALL partsltd_prod.p_shop_save_product_category (
CALL demo.p_shop_save_product_category (
'Test save product category' -- comment
, v_guid -- guid
, 1 -- id_user
@@ -56,20 +56,20 @@ BEGIN
);
SELECT *
FROM partsltd_prod.Shop_Product_Category
FROM demo.Shop_Product_Category
;
SELECT *
FROM partsltd_prod.Shop_Product_Category_Temp
FROM demo.Shop_Product_Category_Temp
;
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END //
DELIMITER ;
/*
CALL partsltd_prod.p_shop_save_product_category_test ();
CALL demo.p_shop_save_product_category_test ();
DELETE FROM partsltd_prod.Shop_Product_Category_Temp;
DELETE FROM demo.Shop_Product_Category_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error;
*/

View File

@@ -52,7 +52,7 @@ BEGIN
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
@@ -128,8 +128,8 @@ BEGIN
, IFNULL(P_T.display_order, P.display_order) AS display_order
, IFNULL(P_T.name, IFNULL(P.name, IFNULL(P_T.id_product, '(No Product)'))) AS name_error
, CASE WHEN IFNULL(P_T.id_product, 0) < 1 THEN 1 ELSE 0 END AS is_new
FROM partsltd_prod.Shop_Product_Temp P_T
LEFT JOIN partsltd_prod.Shop_Product P ON P_T.id_product = P.id_product
FROM demo.Shop_Product_Temp P_T
LEFT JOIN demo.Shop_Product P ON P_T.id_product = P.id_product
;
-- Validation
@@ -220,7 +220,7 @@ BEGIN
SET v_id_permission_product = (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1);
CALL partsltd_prod.p_shop_calc_user(
CALL demo.p_shop_calc_user(
a_guid
, a_id_user
, FALSE -- get_inactive_users
@@ -231,7 +231,7 @@ BEGIN
);
UPDATE tmp_Product t_P
INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T
INNER JOIN demo.Shop_Calc_User_Temp UE_T
ON t_P.id_product = UE_T.id_product
AND UE_T.GUID = a_guid
SET
@@ -257,7 +257,7 @@ BEGIN
;
END IF;
IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN
IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN
DELETE t_ME
FROM tmp_Msg_Error t_ME
WHERE t_ME.id_type <> v_id_type_error_no_permission
@@ -275,7 +275,7 @@ BEGIN
;
END IF;
CALL partsltd_prod.p_shop_clear_calc_user(
CALL demo.p_shop_clear_calc_user(
a_guid
, 0 -- debug
);
@@ -283,13 +283,13 @@ BEGIN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
START TRANSACTION;
INSERT INTO partsltd_prod.Shop_Product_Change_Set ( comment )
INSERT INTO demo.Shop_Product_Change_Set ( comment )
VALUES ( a_comment )
;
SET v_id_change_set := LAST_INSERT_ID();
UPDATE partsltd_prod.Shop_Product P
UPDATE demo.Shop_Product P
INNER JOIN tmp_Product t_P ON P.id_product = t_P.id_product
SET
P.id_category = t_P.id_category
@@ -301,7 +301,7 @@ BEGIN
, P.id_change_set = v_id_change_set
;
INSERT INTO partsltd_prod.Shop_Product (
INSERT INTO demo.Shop_Product (
id_category
, name
, has_variations
@@ -327,21 +327,21 @@ BEGIN
START TRANSACTION;
DELETE FROM partsltd_prod.Shop_Product_Temp
DELETE FROM demo.Shop_Product_Temp
WHERE GUID = a_guid;
COMMIT;
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
DROP TEMPORARY TABLE IF EXISTS tmp_Product;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -1,7 +1,7 @@
-- Clear previous proc
DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_test;
DROP PROCEDURE IF EXISTS demo.p_shop_save_product_test;
DELIMITER //
@@ -15,15 +15,15 @@ BEGIN
SET v_guid := 'nips';
SELECT *
FROM partsltd_prod.Shop_Product
FROM demo.Shop_Product
;
SELECT *
FROM partsltd_prod.Shop_Product_Temp
FROM demo.Shop_Product_Temp
;
START TRANSACTION;
INSERT INTO partsltd_prod.Shop_Product_Temp (
INSERT INTO demo.Shop_Product_Temp (
id_product
, id_category
, name
@@ -62,11 +62,11 @@ BEGIN
COMMIT;
SELECT *
FROM partsltd_prod.Shop_Product_Temp
FROM demo.Shop_Product_Temp
WHERE GUID = v_guid
;
CALL partsltd_prod.p_shop_save_product (
CALL demo.p_shop_save_product (
'Test save product' -- comment
, v_guid -- guid
, 1 -- id_user
@@ -74,20 +74,20 @@ BEGIN
);
SELECT *
FROM partsltd_prod.Shop_Product
FROM demo.Shop_Product
;
SELECT *
FROM partsltd_prod.Shop_Product_Temp
FROM demo.Shop_Product_Temp
;
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END //
DELIMITER ;
/*
CALL partsltd_prod.p_shop_save_product_test ();
CALL demo.p_shop_save_product_test ();
DELETE FROM partsltd_prod.Shop_Product_Temp;
DELETE FROM demo.Shop_Product_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error;
*/

View File

@@ -1,4 +1,4 @@
-- USE partsltd_prod;
-- USE demo;
-- Clear previous proc
DROP PROCEDURE IF EXISTS p_shop_calc_product_permutation;
@@ -24,7 +24,7 @@ BEGIN
PROCEDURE p_shop_calc_product_permutation
Shared filtering for product permutations
select * FROM partsltd_prod.Shop_msg_error_type;
select * FROM demo.Shop_msg_error_type;
*/
DECLARE v_has_filter_product_category BIT;
DECLARE v_has_filter_product BIT;
@@ -40,7 +40,7 @@ BEGIN
DECLARE v_code_type_error_bad_data VARCHAR(50);
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW');
SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW');
SELECT
MET.id_type
@@ -48,7 +48,7 @@ BEGIN
INTO
v_id_type_error_bad_data
, v_code_type_error_bad_data
FROM partsltd_prod.Shop_Msg_Error_Type MET
FROM demo.Shop_Msg_Error_Type MET
WHERE MET.code = 'BAD_DATA'
;
@@ -139,7 +139,7 @@ BEGIN
-- Categories
IF TRUE THEN -- NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
CALL partsltd_prod.p_split(a_guid, a_ids_product_category, ',', a_debug);
CALL demo.p_split(a_guid, a_ids_product_category, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -148,21 +148,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = a_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
CALL demo.p_clear_split_temp( a_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Category PC ON t_S.as_int = PC.id_category
LEFT JOIN demo.Shop_Product_Category PC ON t_S.as_int = PC.id_category
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PC.id_category)
@@ -183,7 +183,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive category IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Category PC ON t_S.as_int = PC.id_category
LEFT JOIN demo.Shop_Product_Category PC ON t_S.as_int = PC.id_category
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PC.id_category)
@@ -199,7 +199,7 @@ BEGIN
SELECT
PC.id_category
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Product_Category PC ON t_S.as_int = PC.id_category
RIGHT JOIN demo.Shop_Product_Category PC ON t_S.as_int = PC.id_category
WHERE (
a_get_all_product_category = 1
OR (
@@ -219,7 +219,7 @@ BEGIN
-- Products
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
CALL partsltd_prod.p_split(a_guid, a_ids_product, ',', a_debug);
CALL demo.p_split(a_guid, a_ids_product, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -228,21 +228,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = a_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
CALL demo.p_clear_split_temp( a_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product
LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product
WHERE
ISNULL(t_S.as_int)
OR ISNULL(P.id_product)
@@ -263,7 +263,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive product IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product
LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product
WHERE
ISNULL(t_S.as_int)
OR ISNULL(P.id_product)
@@ -281,7 +281,7 @@ BEGIN
P.id_category
, P.id_product
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product
RIGHT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product
INNER JOIN tmp_Category_calc t_C ON P.id_category = t_C.id_category
WHERE (
a_get_all_product = 1
@@ -302,7 +302,7 @@ BEGIN
-- Permutations
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
CALL partsltd_prod.p_split(a_guid, a_ids_product, ',', a_debug);
CALL demo.p_split(a_guid, a_ids_product, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -311,21 +311,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = a_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( a_guid );
CALL demo.p_clear_split_temp( a_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PP.id_permutation)
@@ -342,7 +342,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PP.id_permutation)
@@ -362,7 +362,7 @@ BEGIN
-- P.id_category,
, PP.id_product
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
RIGHT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
INNER JOIN tmp_Product_calc t_P ON PP.id_product = t_P.id_product
WHERE 1=1
AND (
@@ -389,7 +389,7 @@ BEGIN
-- Permissions
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (SELECT * FROM tmp_Product_calc LIMIT 1) THEN
SET v_id_permission_product := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1);
SET v_id_permission_product := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1);
SET v_ids_product_permission := (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM tmp_Product_calc WHERE NOT ISNULL(id_product));
IF a_debug = 1 THEN
@@ -415,7 +415,7 @@ BEGIN
UPDATE tmp_Product_calc t_P
INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T
INNER JOIN demo.Shop_Calc_User_Temp UE_T
ON t_P.id_product = UE_T.id_product
AND UE_T.GUID = a_guid
SET t_P.can_view = UE_T.can_view,
@@ -425,7 +425,7 @@ BEGIN
IF a_debug = 1 THEN
SELECT *
FROM partsltd_prod.Shop_Calc_User_Temp
FROM demo.Shop_Calc_User_Temp
WHERE GUID = a_guid
;
END IF;
@@ -506,7 +506,7 @@ BEGIN
, MIN(IFNULL(t_P.can_admin, 0)) AS can_admin
, a_guid
FROM tmp_Category_calc t_C
INNER JOIN partsltd_prod.Shop_Product_Category PC ON t_C.id_category = PC.id_category
INNER JOIN demo.Shop_Product_Category PC ON t_C.id_category = PC.id_category
LEFT JOIN tmp_Product_calc t_P ON t_C.id_category = t_P.id_product
GROUP BY PC.id_category
;
@@ -538,9 +538,9 @@ BEGIN
, t_P.can_admin
, a_guid
FROM tmp_Product_calc t_P
INNER JOIN partsltd_prod.Shop_Product P ON t_P.id_product = P.id_product
INNER JOIN demo.Shop_Product P ON t_P.id_product = P.id_product
INNER JOIN tmp_Category_calc t_C ON t_P.id_category = t_C.id_category
INNER JOIN partsltd_prod.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level
INNER JOIN demo.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level
GROUP BY P.id_product, t_P.can_view, t_P.can_edit, t_P.can_admin
;
@@ -599,15 +599,15 @@ BEGIN
, IFNULL(t_P.can_admin, 0) AS can_admin
, a_guid
FROM tmp_Permutation_calc t_PP
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation
INNER JOIN demo.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation
INNER JOIN tmp_Product_calc t_P ON t_PP.id_product = t_P.id_product
INNER JOIN partsltd_prod.Shop_Product P ON t_PP.id_product = P.id_product
INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category
LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement
INNER JOIN partsltd_prod.Shop_Currency C ON PP.id_currency_cost = C.id_currency
INNER JOIN demo.Shop_Product P ON t_PP.id_product = P.id_product
INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category
LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation
LEFT JOIN demo.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement
INNER JOIN demo.Shop_Currency C ON PP.id_currency_cost = C.id_currency
GROUP BY PP.id_permutation, t_P.can_view, t_P.can_edit, t_P.can_admin
;
@@ -625,7 +625,7 @@ BEGIN
MET.name,
MET.description
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET
INNER JOIN demo.Shop_Msg_Error_Type MET
ON t_ME.id_type = MET.id_type
WHERE guid = a_guid
;
@@ -637,15 +637,15 @@ BEGIN
;
SELECT *
FROM partsltd_prod.Shop_Product_Category_Temp
FROM demo.Shop_Product_Category_Temp
WHERE GUID = a_guid
;
SELECT *
FROM partsltd_prod.Shop_Product_Temp
FROM demo.Shop_Product_Temp
WHERE GUID = a_guid
;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Temp
FROM demo.Shop_Product_Permutation_Temp
WHERE GUID = a_guid
;
@@ -659,7 +659,7 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Category_calc;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
@@ -667,7 +667,7 @@ DELIMITER ;
/*
CALL partsltd_prod.p_shop_calc_product_permutation (
CALL demo.p_shop_calc_product_permutation (
1 #'auth0|6582b95c895d09a70ba10fef', # a_id_user
, 1 # a_get_all_product_category
, 0 # a_get_inactive_product_category
@@ -685,30 +685,30 @@ CALL partsltd_prod.p_shop_calc_product_permutation (
SELECT *
FROM partsltd_prod.Shop_Product_Category_Temp
FROM demo.Shop_Product_Category_Temp
WHERE GUID = 'NIPS '
;
SELECT *
FROM partsltd_prod.Shop_Product_Temp
FROM demo.Shop_Product_Temp
WHERE GUID = 'NIPS '
;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Temp
FROM demo.Shop_Product_Permutation_Temp
WHERE GUID = 'NIPS '
;
CALL p_shop_clear_calc_product_permutation ( 'NIPS ' );
SELECT *
FROM partsltd_prod.Shop_Product_Category_Temp
FROM demo.Shop_Product_Category_Temp
WHERE GUID = 'NIPS '
;
SELECT *
FROM partsltd_prod.Shop_Product_Temp
FROM demo.Shop_Product_Temp
WHERE GUID = 'NIPS '
;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Temp
FROM demo.Shop_Product_Permutation_Temp
WHERE GUID = 'NIPS '
;

View File

@@ -1,5 +1,5 @@
--
USE partsltd_prod;
USE demo;
-- Clear previous proc
DROP PROCEDURE IF EXISTS p_shop_get_many_product;
@@ -44,7 +44,7 @@ BEGIN
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_guid := UUID();
SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW');
SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW');
-- Argument validation + default values
@@ -146,7 +146,7 @@ BEGIN
-- select v_has_filter_product, v_has_filter_permutation;
CALL partsltd_prod.p_shop_calc_product_permutation (
CALL demo.p_shop_calc_product_permutation (
a_id_user
, a_get_all_product_category
, a_get_inactive_product_category
@@ -175,8 +175,8 @@ BEGIN
PC.active,
*/
, PC.display_order
FROM (SELECT * FROM partsltd_prod.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T
INNER JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category
FROM (SELECT * FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T
INNER JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category
;
INSERT INTO tmp_Product (
@@ -192,8 +192,8 @@ BEGIN
, P.id_category
-- P.active,
, P.display_order
FROM (SELECT * FROM partsltd_prod.Shop_Product_Temp WHERE GUID = v_guid) P_T
INNER JOIN partsltd_prod.Shop_Product P ON P.id_product = P_T.id_product
FROM (SELECT * FROM demo.Shop_Product_Temp WHERE GUID = v_guid) P_T
INNER JOIN demo.Shop_Product P ON P.id_product = P_T.id_product
;
INSERT INTO tmp_Permutation (
@@ -209,13 +209,13 @@ BEGIN
, PP.id_product
-- , PP.active
-- , RANK() OVER (ORDER BY VT.display_order, V.display_order)
FROM (SELECT * FROM partsltd_prod.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation
FROM (SELECT * FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T
INNER JOIN demo.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation
;
# Product Images
IF (v_has_filter_image = 1 AND NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1)) THEN
CALL partsltd_prod.p_split(v_guid, a_ids_image, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_image, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -224,21 +224,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Image I ON t_S.as_int = I.id_image
LEFT JOIN demo.Shop_Product_Image I ON t_S.as_int = I.id_image
WHERE
ISNULL(t_S.as_int)
OR ISNULL(I.id_image)
@@ -255,7 +255,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive image IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Image I ON t_S.as_int = I.id_image
LEFT JOIN demo.Shop_Product_Image I ON t_S.as_int = I.id_image
WHERE
ISNULL(t_S.as_int)
OR ISNULL(I.id_image)
@@ -270,7 +270,7 @@ BEGIN
I.id_image
, I.id_permutation
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Product_Image I ON t_S.as_int = I.id_image
RIGHT JOIN demo.Shop_Product_Image I ON t_S.as_int = I.id_image
INNER JOIN tmp_Permutation t_PP ON I.id_permutation = t_PP.id_permutation
WHERE
(
@@ -303,9 +303,9 @@ BEGIN
, MIN(t_P.can_edit) AS can_edit
, MIN(t_P.can_admin) AS can_admin
FROM tmp_Category t_C
INNER JOIN partsltd_prod.Shop_Product_Category PC ON t_C.id_category = PC.id_category
INNER JOIN demo.Shop_Product_Category PC ON t_C.id_category = PC.id_category
LEFT JOIN tmp_Product t_P ON t_C.id_category = t_P.id_product
INNER JOIN partsltd_prod.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level
INNER JOIN demo.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level
GROUP BY t_C.id_category -- , t_P.id_product
ORDER BY PC.display_order
;
@@ -324,9 +324,9 @@ BEGIN
t_P.can_edit,
t_P.can_admin
FROM tmp_Product t_P
INNER JOIN partsltd_prod.Shop_Product P ON t_P.id_product = P.id_product
INNER JOIN demo.Shop_Product P ON t_P.id_product = P.id_product
INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category
INNER JOIN partsltd_prod.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level
INNER JOIN demo.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level
GROUP BY t_P.id_category, t_C.display_order, t_P.id_product, t_P.can_view, t_P.can_edit, t_P.can_admin
ORDER BY t_C.display_order, P.display_order
;
@@ -375,15 +375,15 @@ BEGIN
IFNULL(t_P.can_edit, 0) AS can_edit,
IFNULL(t_P.can_admin, 0) AS can_admin
FROM tmp_Permutation t_PP
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation
INNER JOIN demo.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation
INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product
INNER JOIN partsltd_prod.Shop_Product P ON t_PP.id_product = P.id_product
INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category
LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement
INNER JOIN partsltd_prod.Shop_Currency C ON PP.id_currency_cost = C.id_currency
INNER JOIN demo.Shop_Product P ON t_PP.id_product = P.id_product
INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category
LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation
LEFT JOIN demo.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement
INNER JOIN demo.Shop_Currency C ON PP.id_currency_cost = C.id_currency
GROUP BY PC.id_category, P.id_product, PP.id_permutation, t_P.can_view, t_P.can_edit, t_P.can_admin
ORDER BY PC.display_order, P.display_order -- , t_PP.display_order
;
@@ -404,9 +404,9 @@ BEGIN
, t_P.id_product
, t_PP.id_permutation
, t_C.id_category
FROM partsltd_prod.Shop_Variation V
INNER JOIN partsltd_prod.Shop_Variation_Type VT ON V.id_type = VT.id_type
INNER JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation
FROM demo.Shop_Variation V
INNER JOIN demo.Shop_Variation_Type VT ON V.id_type = VT.id_type
INNER JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation
INNER JOIN tmp_Permutation t_PP ON PPVL.id_permutation = t_PP.id_permutation
INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product
INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category
@@ -425,7 +425,7 @@ BEGIN
I.active,
I.display_order
FROM tmp_Image t_I
INNER JOIN partsltd_prod.Shop_Product_Image I ON t_I.id_image = I.id_image
INNER JOIN demo.Shop_Product_Image I ON t_I.id_image = I.id_image
INNER JOIN tmp_Permutation t_PP ON t_I.id_permutation = t_PP.id_permutation
INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product
INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category
@@ -444,7 +444,7 @@ BEGIN
MET.description
*/
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
-- WHERE guid = v_guid
;
@@ -461,10 +461,10 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Permutation;
DROP TEMPORARY TABLE IF EXISTS tmp_Product;
CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid );
CALL demo.p_shop_clear_calc_product_permutation ( v_guid );
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
@@ -472,7 +472,7 @@ DELIMITER ;
/*
CALL partsltd_prod.p_shop_get_many_product (
CALL demo.p_shop_get_many_product (
1 #'auth0|6582b95c895d09a70ba10fef', # a_id_user
, 1 # a_get_all_product_category
, 0 # a_get_inactive_product_category
@@ -490,21 +490,21 @@ CALL partsltd_prod.p_shop_get_many_product (
, 0 # a_debug
);
select * FROM partsltd_prod.Shop_Calc_User_Temp;
select * FROM demo.Shop_Calc_User_Temp;
select * FROM partsltd_prod.Shop_Product_Category;
select * FROM partsltd_prod.Shop_Product_Permutation;
select * FROM partsltd_prod.Shop_product_change_set;
select * FROM demo.Shop_Product_Category;
select * FROM demo.Shop_Product_Permutation;
select * FROM demo.Shop_product_change_set;
insert into shop_product_change_set ( comment ) values ('set stock quantities below minimum for testing');
update shop_product_permutation
set quantity_stock = 0,
id_change_set = (select id_change_set FROM partsltd_prod.Shop_product_change_set order by id_change_set desc limit 1)
id_change_set = (select id_change_set FROM demo.Shop_product_change_set order by id_change_set desc limit 1)
where id_permutation < 5
DROP TABLE IF EXISTS tmp_Msg_Error;
select * FROM partsltd_prod.Shop_image;
select * FROM partsltd_prod.Shop_product;
select * FROM demo.Shop_image;
select * FROM demo.Shop_product;
select * from TMP_MSG_ERROR;
DROP TABLE TMP_MSG_ERROR;
@@ -512,11 +512,11 @@ insert into shop_product_change_set (comment)
values ('set product not subscription - test bool output to python');
update shop_product
set is_subscription = 0,
id_change_set = (select id_change_set FROM partsltd_prod.Shop_product_change_set order by id_change_set desc limit 1)
id_change_set = (select id_change_set FROM demo.Shop_product_change_set order by id_change_set desc limit 1)
where id_product = 1
select * FROM partsltd_prod.Shop_Calc_User_Temp;
select * FROM demo.Shop_Calc_User_Temp;
select distinct guid
-- DELETE
FROM partsltd_prod.Shop_Calc_User_Temp;
FROM demo.Shop_Calc_User_Temp;
*/

View File

@@ -51,7 +51,7 @@ BEGIN
MET.id_type
, @errno
, @text
FROM partsltd_prod.Shop_Msg_Error_Type MET
FROM demo.Shop_Msg_Error_Type MET
WHERE MET.code = 'MYSQL_ERROR'
LIMIT 1
;
@@ -178,7 +178,7 @@ BEGIN
;
SELECT
partsltd_prod.fn_shop_get_product_variations_from_id_csv_list(
demo.fn_shop_get_product_variations_from_id_csv_list(
t_PP.id_permutation -- a_id_permutation
, t_PP.csv_id_pairs_variation -- a_variation_csv
, a_guid -- a_guid
@@ -202,8 +202,8 @@ BEGIN
, PPVL_T.display_order
, NOT ISNULL(PPVL_T.id_link) AS active
, IFNULL(PPVL_T.id_link, 0) < 1 AS is_new
FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp PPVL_T
LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PPVL_T.id_link = PPVL.id_variation
FROM demo.Shop_Product_Permutation_Variation_Link_Temp PPVL_T
LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PPVL_T.id_link = PPVL.id_variation
LEFT JOIN tmp_Permutation t_PP ON PPVL_T.id_permutation = t_PP.id_permutation
WHERE PPVL_T.GUID = a_guid
;
@@ -432,7 +432,7 @@ BEGIN
IF a_debug = 1 THEN
SELECT *
FROM partsltd_prod.Shop_Calc_User_Temp
FROM demo.Shop_Calc_User_Temp
WHERE GUID = a_guid
;
SELECT *
@@ -457,7 +457,7 @@ BEGIN
;
END IF;
IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN
IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN
DELETE FROM tmp_Msg_Error
WHERE id_type <> v_id_type_error_no_permission
;
@@ -482,7 +482,7 @@ BEGIN
IF a_debug = 1 THEN
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp
FROM demo.Shop_Product_Permutation_Variation_Link_Temp
WHERE GUID = a_guid
;
END IF;
@@ -582,7 +582,7 @@ BEGIN
;
UPDATE tmp_Permutation t_PP
INNER JOIN partsltd_prod.Shop_Product_Permutation PP
INNER JOIN demo.Shop_Product_Permutation PP
ON t_PP.id_permutation_temp = PP.id_permutation_temp
AND PP.id_change_set = v_id_change_set
SET
@@ -594,7 +594,7 @@ BEGIN
t_PPVL.id_permutation = t_PP.id_permutation
;
INSERT INTO partsltd_prod.Shop_Product_Permutation_Variation_Link (
INSERT INTO demo.Shop_Product_Permutation_Variation_Link (
id_permutation
, id_variation
, display_order
@@ -611,7 +611,7 @@ BEGIN
AND t_PPVL.active = 1
;
UPDATE partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL
UPDATE demo.Shop_Product_Permutation_Variation_Link PPVL
INNER JOIN tmp_Permutation_Variation_Link t_PPVL
ON PPVL.id_link = t_PPVL.id_link
AND t_PPVL.is_new = 1
@@ -632,7 +632,7 @@ BEGIN
WHERE GUID = a_guid
;
DELETE FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp
DELETE FROM demo.Shop_Product_Permutation_Variation_Link_Temp
WHERE GUID = a_guid
;
@@ -641,7 +641,7 @@ BEGIN
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
@@ -654,7 +654,7 @@ BEGIN
DROP TEMPORARY TABLE tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -1,7 +1,7 @@
-- Clear previous proc
DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_permutation_test;
DROP PROCEDURE IF EXISTS demo.p_shop_save_product_permutation_test;
DELIMITER //
@@ -15,18 +15,18 @@ BEGIN
SET v_guid := 'nips';
SELECT *
FROM partsltd_prod.Shop_Product_Permutation
FROM demo.Shop_Product_Permutation
;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Variation_Link
FROM demo.Shop_Product_Permutation_Variation_Link
;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Temp
FROM demo.Shop_Product_Permutation_Temp
;
START TRANSACTION;
INSERT INTO partsltd_prod.Shop_Product_Permutation_Temp (
INSERT INTO demo.Shop_Product_Permutation_Temp (
id_permutation
, id_product
, csv_id_pairs_variation
@@ -122,11 +122,11 @@ BEGIN
COMMIT;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Temp
FROM demo.Shop_Product_Permutation_Temp
WHERE GUID = v_guid
;
CALL partsltd_prod.p_shop_save_product_permutation (
CALL demo.p_shop_save_product_permutation (
'Test save product' -- comment
, v_guid -- guid
, 1 -- id_user
@@ -134,38 +134,38 @@ BEGIN
);
SELECT *
FROM partsltd_prod.Shop_Product_Permutation
FROM demo.Shop_Product_Permutation
;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Variation_Link
FROM demo.Shop_Product_Permutation_Variation_Link
;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Temp
FROM demo.Shop_Product_Permutation_Temp
;
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END //
DELIMITER ;
/*
CALL partsltd_prod.p_shop_save_product_permutation_test ();
CALL demo.p_shop_save_product_permutation_test ();
DELETE FROM partsltd_prod.Shop_Product_Permutation_Temp;
DELETE FROM demo.Shop_Product_Permutation_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error;
DELETE FROM partsltd_prod.Shop_Product_Permutation_Variation_Link
DELETE FROM demo.Shop_Product_Permutation_Variation_Link
WHERE id_link >= 3
;
DELETE FROM partsltd_prod.Shop_Product_Permutation
DELETE FROM demo.Shop_Product_Permutation
WHERE id_permutation >= 7
;
SELECT *
FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp
FROM demo.Shop_Product_Permutation_Variation_Link_Temp
;
SELECT *
FROM partsltd_prod.Shop_Variation
FROM demo.Shop_Variation
;
*/

View File

@@ -92,7 +92,7 @@ BEGIN
-- select v_has_filter_product, v_has_filter_permutation;
IF v_has_filter_variation_type THEN -- NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
CALL partsltd_prod.p_split(v_guid, a_ids_variation_type, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_variation_type, ',', a_debug);
DELETE FROM tmp_Split;
@@ -103,21 +103,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON t_S.as_int = VT.id_type
LEFT JOIN demo.Shop_Variation_Type VT ON t_S.as_int = VT.id_type
WHERE
ISNULL(t_S.as_int)
OR ISNULL(VT.id_type)
@@ -134,7 +134,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive variation type IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON t_S.as_int = VT.id_type
LEFT JOIN demo.Shop_Variation_Type VT ON t_S.as_int = VT.id_type
WHERE
ISNULL(t_S.as_int)
OR ISNULL(VT.id_type)
@@ -146,7 +146,7 @@ BEGIN
SELECT
DISTINCT VT.id_type
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Variation_Type VT ON t_S.as_int = VT.id_type
RIGHT JOIN demo.Shop_Variation_Type VT ON t_S.as_int = VT.id_type
WHERE
(
a_get_all_variation_type = 1
@@ -166,7 +166,7 @@ BEGIN
DELETE FROM tmp_Split;
IF (v_has_filter_variation AND NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1)) THEN -- NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
CALL partsltd_prod.p_split(v_guid, a_ids_variation, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_variation, ',', a_debug);
DELETE FROM tmp_Split;
@@ -177,21 +177,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Variation V ON t_S.as_int = V.id_variation
LEFT JOIN demo.Shop_Variation V ON t_S.as_int = V.id_variation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(V.id_variation)
@@ -208,7 +208,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive variation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Variation V ON t_S.as_int = V.id_variation
LEFT JOIN demo.Shop_Variation V ON t_S.as_int = V.id_variation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(VT.id_type)
@@ -222,7 +222,7 @@ BEGIN
DISTINCT V.id_variation
, V.id_type
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Variation V ON t_S.as_int = V.id_variation
RIGHT JOIN demo.Shop_Variation V ON t_S.as_int = V.id_variation
WHERE
(
a_get_all_variation = 1
@@ -345,10 +345,10 @@ BEGIN
DROP TABLE IF EXISTS tmp_Variation;
DROP TABLE IF EXISTS tmp_Variation_Type;
CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid );
CALL demo.p_shop_clear_calc_product_permutation ( v_guid );
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -52,7 +52,7 @@ BEGIN
MET.id_type
, @errno
, @text
FROM partsltd_prod.Shop_Msg_Error_Type MET
FROM demo.Shop_Msg_Error_Type MET
WHERE code = 'MYSQL_ERROR'
LIMIT 1
;
@@ -62,14 +62,14 @@ BEGIN
END;
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_code_type_error_warning := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1);
SET v_id_type_error_warning := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1);
SET v_ids_permission_product_variation := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_PRODUCT'));
SET v_id_access_level_edit := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_code_type_error_warning := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1);
SET v_id_type_error_warning := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1);
SET v_ids_permission_product_variation := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_PRODUCT'));
SET v_id_access_level_edit := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
CALL p_validate_guid ( a_guid );
SET a_comment := TRIM(IFNULL(a_comment, ''));
@@ -157,8 +157,8 @@ BEGIN
, IFNULL(VT_T.name, '(No Name)')
)
END AS name_error
FROM partsltd_prod.Shop_Variation_Type_Temp VT_T
LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON VT_T.id_type = VT.id_type
FROM demo.Shop_Variation_Type_Temp VT_T
LEFT JOIN demo.Shop_Variation_Type VT ON VT_T.id_type = VT.id_type
WHERE VT_T.GUID = a_guid
;
@@ -204,9 +204,9 @@ BEGIN
, IFNULL(V_T.name, '(No Name)')
)
END AS name_error
FROM partsltd_prod.Shop_Variation_Temp V_T
LEFT JOIN partsltd_prod.Shop_Variation V ON V_T.id_variation = V.id_variation
-- LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON V_T.id_type = VT.id_type
FROM demo.Shop_Variation_Temp V_T
LEFT JOIN demo.Shop_Variation V ON V_T.id_variation = V.id_variation
-- LEFT JOIN demo.Shop_Variation_Type VT ON V_T.id_type = VT.id_type
LEFT JOIN tmp_Variation_Type t_VT ON V_T.id_type = t_VT.id_type
WHERE V_T.GUID = a_guid
;
@@ -243,7 +243,7 @@ BEGIN
, ' - '
, IFNULL(VT.name, '(No Name)')
) AS name_error
FROM partsltd_prod.Shop_Variation_Type VT
FROM demo.Shop_Variation_Type VT
INNER JOIN tmp_Variation t_V
ON VT.id_type = t_V.id_type
AND t_V.has_type = 0
@@ -262,7 +262,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Variation_Type t_VT
INNER JOIN partsltd_prod.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type
INNER JOIN demo.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type
WHERE 1=1
AND t_VT.id_type > 0
AND ISNULL(VT.id_type)
@@ -281,7 +281,7 @@ BEGIN
, GROUP_CONCAT(t_VT.name_error SEPARATOR ', ')
) AS msg
FROM tmp_Variation_Type t_VT
INNER JOIN partsltd_prod.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type
INNER JOIN demo.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type
WHERE 1=1
AND t_VT.id_type > 0
AND ISNULL(VT.id_type)
@@ -292,7 +292,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Variation t_V
INNER JOIN partsltd_prod.Shop_Variation V ON t_V.id_variation = V.id_variation
INNER JOIN demo.Shop_Variation V ON t_V.id_variation = V.id_variation
WHERE 1=1
AND t_V.id_variation > 0
AND ISNULL(V.id_variation)
@@ -311,7 +311,7 @@ BEGIN
, GROUP_CONCAT(t_V.name_error SEPARATOR ', ')
) AS msg
FROM tmp_Variation t_V
INNER JOIN partsltd_prod.Shop_Variation V ON t_V.id_variation = V.id_variation
INNER JOIN demo.Shop_Variation V ON t_V.id_variation = V.id_variation
WHERE 1=1
AND t_V.id_variation > 0
AND ISNULL(V.id_variation)
@@ -354,7 +354,7 @@ BEGIN
, 0 -- a_debug
;
SELECT *
FROM partsltd_prod.Shop_Calc_User_Temp
FROM demo.Shop_Calc_User_Temp
WHERE GUID = a_guid
;
END IF;
@@ -370,10 +370,10 @@ BEGIN
);
IF a_debug = 1 THEN
SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid;
SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid;
END IF;
IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN
IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN
DELETE FROM tmp_Msg_Error;
INSERT INTO tmp_Msg_Error (
@@ -388,15 +388,15 @@ BEGIN
'You do not have edit permissions for '
, GROUP_CONCAT(name SEPARATOR ', ')
)
FROM partsltd_prod.Shop_Permission PERM
INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T
FROM demo.Shop_Permission PERM
INNER JOIN demo.Shop_Calc_User_Temp UE_T
ON PERM.id_permission = UE_T.id_permission
AND UE_T.GUID = a_guid
AND IFNULL(UE_T.can_view, 0) = 0
;
END IF;
CALL partsltd_prod.p_shop_clear_calc_user(
CALL demo.p_shop_clear_calc_user(
a_guid
, 0 -- a_debug
);
@@ -422,7 +422,7 @@ BEGIN
SET v_id_change_set := LAST_INSERT_ID();
INSERT INTO partsltd_prod.Shop_Variation_Type (
INSERT INTO demo.Shop_Variation_Type (
id_type_temp
, code
, name
@@ -446,7 +446,7 @@ BEGIN
;
UPDATE tmp_Variation_Type t_VT
INNER JOIN partsltd_prod.Shop_Variation_Type VT ON t_VT.id_type_temp = VT.id_type_temp
INNER JOIN demo.Shop_Variation_Type VT ON t_VT.id_type_temp = VT.id_type_temp
SET
t_VT.id_type = VT.id_type
WHERE t_VT.is_new = 1
@@ -460,7 +460,7 @@ BEGIN
t_V.id_type = t_VT.id_type
;
INSERT INTO partsltd_prod.Shop_Variation (
INSERT INTO demo.Shop_Variation (
id_type
, code
, name
@@ -481,7 +481,7 @@ BEGIN
WHERE t_V.is_new = 1
;
UPDATE partsltd_prod.Shop_Variation_Type VT
UPDATE demo.Shop_Variation_Type VT
INNER JOIN tmp_Variation_Type t_VT
ON VT.id_type = t_VT.id_type
AND t_VT.is_new = 0
@@ -497,7 +497,7 @@ BEGIN
, VT.id_change_set = v_id_change_set
;
UPDATE partsltd_prod.Shop_Variation V
UPDATE demo.Shop_Variation V
INNER JOIN tmp_Variation t_V
ON V.id_variation = t_V.id_variation
AND t_V.is_new = 0
@@ -517,11 +517,11 @@ BEGIN
START TRANSACTION;
DELETE VT_T
FROM partsltd_prod.Shop_Variation_Type_Temp VT_T
FROM demo.Shop_Variation_Type_Temp VT_T
WHERE VT_T.GUID = a_guid
;
DELETE V_T
FROM partsltd_prod.Shop_Variation_Temp V_T
FROM demo.Shop_Variation_Temp V_T
WHERE V_T.GUID = a_guid
;
@@ -530,7 +530,7 @@ BEGIN
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
@@ -543,7 +543,7 @@ BEGIN
DROP TEMPORARY TABLE tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -1,7 +1,7 @@
-- Clear previous proc
DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_variation_test;
DROP PROCEDURE IF EXISTS demo.p_shop_save_product_variation_test;
DELIMITER //
@@ -15,24 +15,24 @@ BEGIN
SET v_guid := 'nips';
SELECT *
FROM partsltd_prod.Shop_Variation_Type
FROM demo.Shop_Variation_Type
;
SELECT *
FROM partsltd_prod.Shop_Variation_Type_Temp
FROM demo.Shop_Variation_Type_Temp
;
SELECT *
FROM partsltd_prod.Shop_Variation
FROM demo.Shop_Variation
;
SELECT *
FROM partsltd_prod.Shop_Variation_Temp
FROM demo.Shop_Variation_Temp
;
START TRANSACTION;
DELETE FROM partsltd_prod.Shop_Variation_Type_Temp;
DELETE FROM partsltd_prod.Shop_Variation_Temp;
DELETE FROM demo.Shop_Variation_Type_Temp;
DELETE FROM demo.Shop_Variation_Temp;
INSERT INTO partsltd_prod.Shop_Variation_Type_Temp (
INSERT INTO demo.Shop_Variation_Type_Temp (
id_type
-- , id_type_temp
, code
@@ -64,11 +64,11 @@ BEGIN
, display_order
, active
, v_guid AS GUID
FROM partsltd_prod.Shop_Variation_Type
FROM demo.Shop_Variation_Type
WHERE id_type = 1
;
INSERT INTO partsltd_prod.Shop_Variation_Temp (
INSERT INTO demo.Shop_Variation_Temp (
id_variation
, id_type
, code
@@ -108,7 +108,7 @@ BEGIN
, display_order
, active
, v_guid AS GUID
FROM partsltd_prod.Shop_Variation
FROM demo.Shop_Variation
WHERE id_variation = 2
UNION
SELECT
@@ -124,16 +124,16 @@ BEGIN
COMMIT;
SELECT *
FROM partsltd_prod.Shop_Variation_Type_Temp
FROM demo.Shop_Variation_Type_Temp
WHERE GUID = v_guid
;
SELECT *
FROM partsltd_prod.Shop_Variation_Temp
FROM demo.Shop_Variation_Temp
WHERE GUID = v_guid
;
CALL partsltd_prod.p_shop_save_product_variation (
CALL demo.p_shop_save_product_variation (
'Test save Variations - add + edit' -- comment
, v_guid -- guid
, 1 -- id_user
@@ -141,27 +141,27 @@ BEGIN
);
SELECT *
FROM partsltd_prod.Shop_Variation_Type_Temp
FROM demo.Shop_Variation_Type_Temp
;
SELECT *
FROM partsltd_prod.Shop_Variation_Temp
FROM demo.Shop_Variation_Temp
;
SELECT *
FROM partsltd_prod.Shop_Variation_Type
FROM demo.Shop_Variation_Type
;
SELECT *
FROM partsltd_prod.Shop_Variation
FROM demo.Shop_Variation
;
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END //
DELIMITER ;
/*
CALL partsltd_prod.p_shop_save_product_variation_test ();
CALL demo.p_shop_save_product_variation_test ();
DELETE FROM partsltd_prod.Shop_Variation_Type_Temp;
DELETE FROM partsltd_prod.Shop_Variation_Temp;
DELETE FROM demo.Shop_Variation_Type_Temp;
DELETE FROM demo.Shop_Variation_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error;
@@ -181,6 +181,6 @@ delete
where id_type = -1
;
Cannot add or update a child row: a foreign key constraint fails (`partsltd_prod`.`shop_variation_type`, CONSTRAINT `FK_Shop_Variation_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`))
Cannot add or update a child row: a foreign key constraint fails (`demo`.`shop_variation_type`, CONSTRAINT `FK_Shop_Variation_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`))
*/

View File

@@ -48,7 +48,7 @@ BEGIN
DECLARE v_time_start TIMESTAMP(6);
SET v_guid := UUID();
SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW');
SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW');
SET v_time_start := CURRENT_TIMESTAMP(6);
@@ -174,7 +174,7 @@ BEGIN
-- select v_has_filter_product, v_has_filter_permutation;
CALL partsltd_prod.p_shop_calc_product_permutation (
CALL demo.p_shop_calc_product_permutation (
a_id_user
, 1 -- a_get_all_product_category
, 0 -- a_get_inactive_product_category
@@ -198,8 +198,8 @@ BEGIN
SELECT
PC.id_category
, PC.display_order
FROM (SELECT * FROM partsltd_prod.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T
INNER JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category
FROM (SELECT * FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T
INNER JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category
;
INSERT INTO tmp_Product (
@@ -211,8 +211,8 @@ BEGIN
P.id_product
, P.id_category
, P.display_order
FROM (SELECT * FROM partsltd_prod.Shop_Product_Temp WHERE GUID = v_guid) P_T
INNER JOIN partsltd_prod.Shop_Product P ON P.id_product = P_T.id_product
FROM (SELECT * FROM demo.Shop_Product_Temp WHERE GUID = v_guid) P_T
INNER JOIN demo.Shop_Product P ON P.id_product = P_T.id_product
;
INSERT INTO tmp_Permutation (
@@ -228,12 +228,12 @@ BEGIN
, PP_T.can_view
, PP_T.can_edit
, PP_T.can_admin
FROM (SELECT * FROM partsltd_prod.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation
FROM (SELECT * FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T
INNER JOIN demo.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation
;
# Stock Items
CALL partsltd_prod.p_split(v_guid, a_ids_stock_item, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_stock_item, ',', a_debug);
DELETE FROM tmp_Split;
@@ -244,21 +244,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock
LEFT JOIN demo.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock
WHERE
ISNULL(t_S.as_int)
OR ISNULL(SI.id_stock)
@@ -275,7 +275,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive stock item IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock
LEFT JOIN demo.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock
WHERE
ISNULL(t_S.as_int)
OR ISNULL(SI.id_stock)
@@ -293,7 +293,7 @@ BEGIN
, t_PP.id_product
, SI.id_location_storage
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock
RIGHT JOIN demo.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock
INNER JOIN tmp_Permutation t_PP ON SI.id_permutation = t_PP.id_permutation
WHERE
(
@@ -343,7 +343,7 @@ BEGIN
-- Storage Regions
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
CALL partsltd_prod.p_split(v_guid, a_ids_region_storage, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_region_storage, ',', a_debug);
DELETE FROM tmp_Split;
@@ -354,21 +354,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region
LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region
WHERE
ISNULL(t_S.as_int)
OR ISNULL(R.id_region)
@@ -385,7 +385,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive region IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region
LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region
WHERE
ISNULL(t_S.as_int)
OR ISNULL(R.id_region)
@@ -399,7 +399,7 @@ BEGIN
R.id_region AS id_region_parent,
NULL AS id_region_child
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Region R
RIGHT JOIN demo.Shop_Region R
ON t_S.as_int = R.id_region
AND (
a_get_all_region_storage = 1
@@ -414,15 +414,15 @@ BEGIN
A.id_region
FROM tmp_Stock_Item t_SI
-- INNER JOIN tmp_Stock_Item t_SI ON SL.id_location = t_SI.id_location_storage
INNER JOIN partsltd_prod.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location
INNER JOIN partsltd_prod.Shop_Plant P ON SL.id_plant = P.id_plant
INNER JOIN partsltd_prod.Shop_Address A ON P.id_address = A.id_address
INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location
INNER JOIN demo.Shop_Plant P ON SL.id_plant = P.id_plant
INNER JOIN demo.Shop_Address A ON P.id_address = A.id_address
) A_SI ON R.id_region = A_SI.id_region
UNION
SELECT
RB.id_region_parent,
RB.id_region_child
FROM partsltd_prod.Shop_Region_Branch RB
FROM demo.Shop_Region_Branch RB
INNER JOIN Recursive_CTE_Region_Storage r_RS
ON RB.id_region_parent = r_RS.id_region_child
AND (
@@ -432,7 +432,7 @@ BEGIN
)
SELECT
DISTINCT R.id_region
FROM partsltd_prod.Shop_Region R
FROM demo.Shop_Region R
INNER JOIN Recursive_CTE_Region_Storage r_RS
ON R.id_region = r_RS.id_region_parent
OR R.id_region = r_RS.id_region_child
@@ -451,14 +451,14 @@ BEGIN
DISTINCT P.id_plant
, A.id_region
FROM tmp_Stock_Item t_SI
INNER JOIN partsltd_prod.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location
INNER JOIN partsltd_prod.Shop_Plant P ON SL.id_plant = P.id_plant
INNER JOIN partsltd_prod.Shop_Address A ON P.id_address = A.id_address
INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location
INNER JOIN demo.Shop_Plant P ON SL.id_plant = P.id_plant
INNER JOIN demo.Shop_Address A ON P.id_address = A.id_address
;
-- Storage Locations
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
CALL partsltd_prod.p_split(v_guid, a_ids_location_storage, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_location_storage, ',', a_debug);
DELETE FROM tmp_Split;
@@ -469,21 +469,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region
LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region
WHERE
ISNULL(t_S.as_int)
OR ISNULL(R.id_region)
@@ -500,7 +500,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive region IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region
LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region
WHERE
ISNULL(t_S.as_int)
OR ISNULL(R.id_region)
@@ -515,7 +515,7 @@ BEGIN
SL.id_location AS id_location_parent,
NULL AS id_location_child
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Storage_Location SL
RIGHT JOIN demo.Shop_Storage_Location SL
ON t_S.as_int = SL.id_location
AND (
a_get_all_location_storage = 1
@@ -530,7 +530,7 @@ BEGIN
SELECT
SLB.id_location_parent,
SLB.id_location_child
FROM partsltd_prod.Shop_Storage_Location_Branch SLB
FROM demo.Shop_Storage_Location_Branch SLB
INNER JOIN Recursive_CTE_Location_Storage r_LS
ON SLB.id_location_parent = r_LS.id_location_child
AND (
@@ -541,7 +541,7 @@ BEGIN
SELECT
DISTINCT SL.id_location
, SL.id_plant
FROM partsltd_prod.Shop_Storage_Location SL
FROM demo.Shop_Storage_Location SL
INNER JOIN Recursive_CTE_Location_Storage r_LS
ON SL.id_location = r_LS.id_location_parent
OR SL.id_location = r_LS.id_location_child
@@ -554,12 +554,12 @@ BEGIN
/*
-- Permissions
IF EXISTS (SELECT * FROM tmp_Stock_Item LIMIT 1) THEN
SET v_id_permission_product := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1);
SET v_id_permission_product := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1);
SET v_ids_product_permission := (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM tmp_Permutation WHERE NOT ISNULL(id_product));
-- SET v_ids_permutation_permission := (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') FROM tmp_Shop_Product WHERE NOT ISNULL(id_permutation));
-- SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_product_permission;
-- select * FROM partsltd_prod.Shop_Calc_User_Temp;
-- select * FROM demo.Shop_Calc_User_Temp;
CALL p_shop_calc_user(
v_guid
@@ -571,10 +571,10 @@ BEGIN
, 0 -- a_debug
);
-- select * FROM partsltd_prod.Shop_Calc_User_Temp;
-- select * FROM demo.Shop_Calc_User_Temp;
UPDATE tmp_Stock_Item t_SI
INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T
INNER JOIN demo.Shop_Calc_User_Temp UE_T
ON t_SI.id_product = UE_T.id_product
AND UE_T.GUID = v_guid
SET t_SI.can_view = UE_T.can_view,
@@ -585,7 +585,7 @@ BEGIN
DELETE t_SI
FROM tmp_Stock_Item t_SI
/ *
LEFT JOIN partsltd_prod.Shop_Calc_User_Temp UE_T
LEFT JOIN demo.Shop_Calc_User_Temp UE_T
ON t_SI.id_product = UE_T.id_product
AND UE_T.GUID = v_guid
* /
@@ -593,8 +593,8 @@ BEGIN
/ *
FIND_IN_SET(t_SI.id_product, (
SELECT GROUP_CONCAT(UET.id_product SEPARATOR ',')
FROM partsltd_prod.Shop_Calc_User_Temp UET)
) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM partsltd_prod.Shop_Calc_User_Temp), '%');
FROM demo.Shop_Calc_User_Temp UET)
) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM demo.Shop_Calc_User_Temp), '%');
* /
/ *
ISNULL(UE_T.id_product)
@@ -602,7 +602,7 @@ BEGIN
* /
t_SI.id_product NOT IN (
SELECT id_product
FROM partsltd_prod.Shop_Calc_User_Temp UE_T
FROM demo.Shop_Calc_User_Temp UE_T
WHERE
GUID = v_guid
AND IFNULL(can_view, 0) = 1
@@ -611,14 +611,14 @@ BEGIN
# CALL p_shop_clear_calc_user(v_guid);
# DROP TABLE IF EXISTS Shop_Calc_User_Temp;
DELETE FROM partsltd_prod.Shop_Calc_User_Temp
DELETE FROM demo.Shop_Calc_User_Temp
WHERE GUID = v_guid
;
END IF;
*/
/*
select * FROM partsltd_prod.Shop_stock_item;
select * FROM demo.Shop_stock_item;
select * from tmp_Stock_Item;
select * from tmp_Permutation;
select * from tmp_Location_Storage;
@@ -665,16 +665,16 @@ BEGIN
t_PP.can_edit,
t_PP.can_admin
FROM tmp_Stock_Item t_SI
INNER JOIN partsltd_prod.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock
INNER JOIN demo.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock
INNER JOIN tmp_Permutation t_PP ON t_SI.id_permutation = t_PP.id_permutation
INNER JOIN partsltd_prod.Shop_Product P ON t_PP.id_product = P.id_product
INNER JOIN demo.Shop_Product P ON t_PP.id_product = P.id_product
INNER JOIN tmp_Location_Storage t_LS ON t_SI.id_location_storage = t_LS.id_location
INNER JOIN tmp_Plant_Storage t_PS ON t_LS.id_plant = t_PS.id_plant
INNER JOIN partsltd_prod.Shop_Plant PLANT ON t_PS.id_plant = PLANT.id_plant
INNER JOIN partsltd_prod.Shop_Address A ON PLANT.id_address = A.id_address
INNER JOIN demo.Shop_Plant PLANT ON t_PS.id_plant = PLANT.id_plant
INNER JOIN demo.Shop_Address A ON PLANT.id_address = A.id_address
INNER JOIN tmp_Region_Storage t_RS ON A.id_region = t_RS.id_region
INNER JOIN partsltd_prod.Shop_Storage_Location SL ON t_LS.id_location = SL.id_location
INNER JOIN partsltd_prod.Shop_Currency CURRENCY ON SI.id_currency_cost = CURRENCY.id_currency
INNER JOIN demo.Shop_Storage_Location SL ON t_LS.id_location = SL.id_location
INNER JOIN demo.Shop_Currency CURRENCY ON SI.id_currency_cost = CURRENCY.id_currency
WHERE
IFNULL(t_PP.can_view, 0) = 1
;
@@ -689,7 +689,7 @@ BEGIN
MET.name,
MET.description
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET
INNER JOIN demo.Shop_Msg_Error_Type MET
ON t_ME.id_type = MET.id_type
-- WHERE guid = v_guid
;
@@ -719,10 +719,10 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Permutation;
-- DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid );
CALL demo.p_shop_clear_calc_product_permutation ( v_guid );
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
@@ -761,8 +761,8 @@ CALL p_shop_get_many_stock_item (
DROP TABLE IF EXISTS tmp_Msg_Error;
select * FROM partsltd_prod.Shop_Storage_Location;
select * FROM partsltd_prod.Shop_product;
select * FROM demo.Shop_Storage_Location;
select * FROM demo.Shop_product;
select * from TMP_MSG_ERROR;
DROP TABLE TMP_MSG_ERROR;
@@ -770,6 +770,6 @@ insert into shop_product_change_set (comment)
values ('set product not subscription - test bool output to python');
update shop_product
set is_subscription = 0,
id_change_set = (select id_change_set FROM partsltd_prod.Shop_product_change_set order by id_change_set desc limit 1)
id_change_set = (select id_change_set FROM demo.Shop_product_change_set order by id_change_set desc limit 1)
where id_product = 1
*/

View File

@@ -63,7 +63,7 @@ BEGIN
SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_id_access_level_edit := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
CALL partsltd_prod.p_validate_guid ( a_guid );
CALL demo.p_validate_guid ( a_guid );
DROP TEMPORARY TABLE IF EXISTS tmp_Stock_Item;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
@@ -146,9 +146,9 @@ BEGIN
, IFNULL(IFNULL(SI_T.active, SI.active), 1) AS active
# , fn_shop_get_product_permutation_name(SI_T.id_permutation)
, CASE WHEN IFNULL(SI_T.id_stock, 0) < 1 THEN 1 ELSE 0 END AS is_new
FROM partsltd_prod.Shop_Stock_Item_Temp SI_T
LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON SI_T.id_stock = SI.id_stock
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON SI_T.id_permutation = PP.id_permutation
FROM demo.Shop_Stock_Item_Temp SI_T
LEFT JOIN demo.Shop_Stock_Item SI ON SI_T.id_stock = SI.id_stock
LEFT JOIN demo.Shop_Product_Permutation PP ON SI_T.id_permutation = PP.id_permutation
-- LEFT JOIN Shop_Product P ON PP.id_product = P.id_product
WHERE SI_T.guid = a_guid
;
@@ -156,7 +156,7 @@ BEGIN
-- Missing Permutation IDs for setting new permutation for stock item
-- With variations
UPDATE tmp_Stock_Item t_SI
INNER JOIN partsltd_prod.Shop_Product P ON t_SI.id_product = P.id_product
INNER JOIN demo.Shop_Product P ON t_SI.id_product = P.id_product
SET t_SI.id_permutation = IFNULL(fn_shop_get_id_product_permutation_from_variation_csv_list ( t_SI.id_product, t_SI.id_pairs_variations ), 0)
WHERE 1=1
AND t_SI.id_permutation = 0
@@ -165,7 +165,7 @@ BEGIN
-- Without variations
UPDATE tmp_Stock_Item t_SI
-- INNER JOIN Shop_Product P ON t_SI.id_product = P.id_product
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_product = PP.id_product
INNER JOIN demo.Shop_Product_Permutation PP ON t_SI.id_product = PP.id_product
SET t_SI.id_permutation = IFNULL(PP.id_permutation, 0)
WHERE 1=1
AND t_SI.id_permutation = 0
@@ -174,8 +174,8 @@ BEGIN
-- Add stock item error names
UPDATE tmp_Stock_Item t_SI
INNER JOIN partsltd_prod.Shop_Product P ON t_SI.id_product = P.id_product
INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category
INNER JOIN demo.Shop_Product P ON t_SI.id_product = P.id_product
INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category
-- INNER JOIN Shop_Product_Permutation PP ON t_SI.id_product = PP.id_product
SET t_SI.name_error = CONCAT(
PC.name,
@@ -195,7 +195,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Stock_Item t_SI
LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock
LEFT JOIN demo.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock
WHERE 1=1
AND t_SI.id_stock > 0
AND ISNULL(SI.id_stock)
@@ -220,7 +220,7 @@ BEGIN
)
) AS msg
FROM tmp_Stock_Item t_SI
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation
WHERE 1=1
AND t_SI.id_stock > 0
AND ISNULL(SI.id_stock)
@@ -245,7 +245,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Stock_Item t_SI
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation
WHERE 1=1
AND (
t_SI.id_permutation = 0
@@ -263,7 +263,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('A valid permutation could not be found for the variations selected for the following stock item(s): ', GROUP_CONCAT(IFNULL(t_SI.name_error, 'NULL') SEPARATOR ', ')) AS msg
FROM tmp_Stock_Item t_SI
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation
WHERE 1=1
AND (
t_SI.id_permutation = 0
@@ -290,7 +290,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Stock_Item t_SI
INNER JOIN partsltd_prod.Shop_Storage_Location SL
INNER JOIN demo.Shop_Storage_Location SL
ON t_SI.id_location_storage = SL.id_location
AND SL.active = 1
WHERE ISNULL(SL.id_location)
@@ -306,7 +306,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('The following stock item(s) do not have a valid storage location: ', GROUP_CONCAT(IFNULL(t_SI.name_error, 'NULL') SEPARATOR ', ')) AS msg
FROM tmp_Stock_Item t_SI
INNER JOIN partsltd_prod.Shop_Storage_Location SL
INNER JOIN demo.Shop_Storage_Location SL
ON t_SI.id_location_storage = SL.id_location
AND SL.active = 1
WHERE ISNULL(SL.id_location)
@@ -316,7 +316,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Stock_Item t_SI
INNER JOIN partsltd_prod.Shop_Currency C
INNER JOIN demo.Shop_Currency C
ON t_SI.id_currency_cost = C.id_currency
AND C.active = 1
WHERE ISNULL(C.id_currency)
@@ -332,7 +332,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('The following stock item(s) do not have a valid cost currency: ', GROUP_CONCAT(IFNULL(t_SI.name_error, 'NULL') SEPARATOR ', ')) AS msg
FROM tmp_Stock_Item t_SI
INNER JOIN partsltd_prod.Shop_Currency C
INNER JOIN demo.Shop_Currency C
ON t_SI.id_currency_cost = C.id_currency
AND C.active = 1
WHERE ISNULL(C.id_currency)
@@ -529,8 +529,8 @@ BEGIN
SET v_id_change_set := LAST_INSERT_ID();
-- select * from partsltd_prod.Shop_Stock_Item
UPDATE partsltd_prod.Shop_Stock_Item SI
-- select * from demo.Shop_Stock_Item
UPDATE demo.Shop_Stock_Item SI
INNER JOIN tmp_Stock_Item t_SI
ON SI.id_stock = t_SI.id_stock
SET
@@ -551,7 +551,7 @@ BEGIN
;
END IF;
INSERT INTO partsltd_prod.Shop_Stock_Item (
INSERT INTO demo.Shop_Stock_Item (
id_permutation
, date_purchased
, date_received
@@ -595,7 +595,7 @@ BEGIN
START TRANSACTION;
DELETE FROM partsltd_prod.Shop_Stock_Item_Temp
DELETE FROM demo.Shop_Stock_Item_Temp
WHERE GUID = a_guid;
COMMIT;
@@ -603,7 +603,7 @@ BEGIN
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
@@ -614,7 +614,7 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -1,7 +1,7 @@
-- Clear previous proc
DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_stock_item_test;
DROP PROCEDURE IF EXISTS demo.p_shop_save_stock_item_test;
DELIMITER //
@@ -15,15 +15,15 @@ BEGIN
SET v_guid := 'nips';
SELECT *
FROM partsltd_prod.Shop_Stock_Item
FROM demo.Shop_Stock_Item
;
SELECT *
FROM partsltd_prod.Shop_Stock_Item_Temp
FROM demo.Shop_Stock_Item_Temp
;
START TRANSACTION;
INSERT INTO partsltd_prod.Shop_Stock_Item_Temp (
INSERT INTO demo.Shop_Stock_Item_Temp (
id_stock
-- id_category
, id_product
@@ -69,11 +69,11 @@ BEGIN
COMMIT;
SELECT *
FROM partsltd_prod.Shop_Stock_Item_Temp
FROM demo.Shop_Stock_Item_Temp
WHERE GUID = v_guid
;
CALL partsltd_prod.p_shop_save_Stock_Item (
CALL demo.p_shop_save_Stock_Item (
'Test save Stock_Item' -- comment
, v_guid -- guid
, 1 -- id_user
@@ -81,20 +81,20 @@ BEGIN
);
SELECT *
FROM partsltd_prod.Shop_Stock_Item
FROM demo.Shop_Stock_Item
;
SELECT *
FROM partsltd_prod.Shop_Stock_Item_Temp
FROM demo.Shop_Stock_Item_Temp
;
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END //
DELIMITER ;
/*
CALL partsltd_prod.p_shop_save_stock_item_test ();
CALL demo.p_shop_save_stock_item_test ();
DELETE FROM partsltd_prod.Shop_Stock_Item_Temp;
DELETE FROM demo.Shop_Stock_Item_Temp;
update shop_product p set p.has_variations = 0 where id_product = 4
DROP TABLE IF EXISTS tmp_Msg_Error;

View File

@@ -1,4 +1,4 @@
-- USE partsltd_prod;
-- USE demo;
-- Clear previous proc
DROP PROCEDURE IF EXISTS p_shop_get_many_product_price_and_discount_and_delivery_option;
@@ -188,7 +188,7 @@ BEGIN
;
END IF;
CALL partsltd_prod.p_shop_calc_product_permutation (
CALL demo.p_shop_calc_product_permutation (
a_id_user
, 1 -- a_get_all_product_category
, 0 -- a_get_inactive_product_category
@@ -212,8 +212,8 @@ BEGIN
SELECT
PC.id_category
, PC.display_order
FROM (SELECT * FROM partsltd_prod.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T
INNER JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category
FROM (SELECT * FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T
INNER JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category
;
INSERT INTO tmp_Product (
@@ -225,8 +225,8 @@ BEGIN
P.id_product
, P.id_category
, P.display_order
FROM (SELECT * FROM partsltd_prod.Shop_Product_Temp WHERE GUID = v_guid) P_T
INNER JOIN partsltd_prod.Shop_Product P ON P.id_product = P_T.id_product
FROM (SELECT * FROM demo.Shop_Product_Temp WHERE GUID = v_guid) P_T
INNER JOIN demo.Shop_Product P ON P.id_product = P_T.id_product
;
INSERT INTO tmp_Permutation (
@@ -242,12 +242,12 @@ BEGIN
, PP_T.can_view
, PP_T.can_edit
, PP_T.can_admin
FROM (SELECT * FROM partsltd_prod.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation
FROM (SELECT * FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T
INNER JOIN demo.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation
;
# Product Prices
CALL partsltd_prod.p_split(v_guid, a_ids_product_price, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_product_price, ',', a_debug);
DELETE FROM tmp_Split;
@@ -258,21 +258,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price
LEFT JOIN demo.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PRICE.id_price)
@@ -289,7 +289,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive product price IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price
LEFT JOIN demo.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PRICE.id_price)
@@ -303,7 +303,7 @@ BEGIN
PRICE.id_price
, PRICE.id_permutation
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price
RIGHT JOIN demo.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price
INNER JOIN tmp_Permutation t_PP ON SI.id_permutation = t_PP.id_permutation
WHERE
(
@@ -948,10 +948,10 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Product;
CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid );
CALL demo.p_shop_clear_calc_product_permutation ( v_guid );
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
@@ -959,7 +959,7 @@ DELIMITER ;
/*
CALL partsltd_prod.p_shop_get_many_product_price_and_discount_and_delivery_option (
CALL demo.p_shop_get_many_product_price_and_discount_and_delivery_option (
IN a_id_user INT,
IN a_get_all_product_permutation BIT,
IN a_get_inactive_product_permutation BIT,

View File

@@ -45,7 +45,7 @@ BEGIN
MET.id_type
, @errno
, @text
FROM partsltd_prod.Shop_Msg_Error_Type MET
FROM demo.Shop_Msg_Error_Type MET
WHERE MET.code = 'MYSQL_ERROR'
;
SELECT *
@@ -112,7 +112,7 @@ BEGIN
, IFNULL(U_T.is_included_VAT_default, U.is_included_VAT_default) AS is_included_VAT_default
, IFNULL(IFNULL(U_T.active, U.active), 1) AS active
, IFNULL(U_T.display_order, PC.display_order) AS display_order
FROM partsltd_prod.Shop_User_Temp U_T
FROM demo.Shop_User_Temp U_T
LEFT JOIN Shop_User U ON U_T.id_user = U.id_user
WHERE U_T.guid = a_guid
;
@@ -194,7 +194,7 @@ BEGIN
SET v_can_admin_user := (
SELECT IFNULL(UE_T.can_edit, 0) = 1
FROM partsltd_prod.Shop_User_Eval_Temp UE_T
FROM demo.Shop_User_Eval_Temp UE_T
WHERE
UE_T.GUID = a_guid
AND UE_T.id_user = a_id_user
@@ -261,7 +261,7 @@ BEGIN
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
@@ -272,7 +272,7 @@ BEGIN
DROP TABLE IF EXISTS tmp_User;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -33,13 +33,13 @@ BEGIN
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_guid := UUID();
SET v_id_access_level_admin := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1);
SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_id_permission_store_admin := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_ADMIN' LIMIT 1);
SET v_id_permission_user := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_USER' LIMIT 1);
SET v_id_permission_user_admin := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_USER_ADMIN' LIMIT 1);
SET v_code_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_error_bad_data LIMIT 1);
SET v_id_access_level_admin := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1);
SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_id_permission_store_admin := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_ADMIN' LIMIT 1);
SET v_id_permission_user := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_USER' LIMIT 1);
SET v_id_permission_user_admin := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_USER_ADMIN' LIMIT 1);
SET v_code_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_error_bad_data LIMIT 1);
SET v_ids_permission_required := CONCAT(v_id_permission_user, ',', v_id_permission_user_admin, ',', v_id_permission_store_admin);
SET v_is_new := FALSE;
@@ -87,12 +87,12 @@ BEGIN
);
IF ISNULL(a_id_user) AND NOT ISNULL(a_id_user_auth0) THEN
SET a_id_user := (SELECT U.id_user FROM partsltd_prod.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); -- LIKE CONCAT('%', a_id_user_auth0, '%') LIMIT 1);
SET a_id_user := (SELECT U.id_user FROM demo.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); -- LIKE CONCAT('%', a_id_user_auth0, '%') LIMIT 1);
END IF;
IF ISNULL(a_id_user) THEN
IF NOT ISNULL(a_id_user_auth0) THEN
INSERT INTO partsltd_prod.Shop_User (
INSERT INTO demo.Shop_User (
id_user_auth0
, is_super_user
, active
@@ -103,7 +103,7 @@ BEGIN
, 1 -- active
)
;
SET a_id_user := (SELECT U.id_user FROM partsltd_prod.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1);
SET a_id_user := (SELECT U.id_user FROM demo.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1);
SET v_is_new := TRUE;
ELSE
INSERT INTO tmp_Msg_Error (
@@ -132,7 +132,7 @@ BEGIN
-- User IDs
IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user = 1) THEN
CALL partsltd_prod.p_split(v_guid, a_ids_user, ',', FALSE);
CALL demo.p_split(v_guid, a_ids_user, ',', FALSE);
DELETE FROM tmp_Split;
@@ -143,21 +143,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user = 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user
LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user
WHERE
ISNULL(t_S.as_int)
OR ISNULL(U.id_user)
@@ -174,7 +174,7 @@ BEGIN
v_code_error_bad_data,
CONCAT('Invalid or inactive User IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user
LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user
WHERE
ISNULL(t_S.as_int)
OR ISNULL(U.id_user)
@@ -188,7 +188,7 @@ BEGIN
U.id_user
, RANK() OVER (ORDER BY U.id_user DESC) AS rank_user
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user
RIGHT JOIN demo.Shop_User U ON t_S.as_int = U.id_user
WHERE
(
a_get_all_user = 1
@@ -207,7 +207,7 @@ BEGIN
-- Auth0 User IDs
IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user_auth0 = 1) THEN
CALL partsltd_prod.p_split(v_guid, a_ids_user_auth0, ',', FALSE);
CALL demo.p_split(v_guid, a_ids_user_auth0, ',', FALSE);
DELETE FROM tmp_Split;
@@ -216,21 +216,21 @@ BEGIN
)
SELECT
substring
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user_auth0 = 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_User U ON t_S.substring = U.id_user_auth0
LEFT JOIN demo.Shop_User U ON t_S.substring = U.id_user_auth0
WHERE
ISNULL(t_S.substring)
OR ISNULL(U.id_user_auth0)
@@ -247,7 +247,7 @@ BEGIN
v_code_error_bad_data,
CONCAT('Invalid or inactive Auth0 User IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_User U ON t_S.substring = U.id_user_auth0
LEFT JOIN demo.Shop_User U ON t_S.substring = U.id_user_auth0
WHERE
ISNULL(t_S.substring)
OR ISNULL(U.id_user_auth0)
@@ -263,7 +263,7 @@ BEGIN
U.id_user
, v_rank_max + (RANK() OVER (ORDER BY U.id_user DESC)) AS rank_user
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_User U ON t_S.substring = U.id_user_auth0
RIGHT JOIN demo.Shop_User U ON t_S.substring = U.id_user_auth0
WHERE
(
a_get_all_user = 1
@@ -311,10 +311,10 @@ BEGIN
, '' -- ids_product
, 0 -- a_debug
;
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp;
SELECT * FROM demo.Shop_Calc_User_Temp;
END IF;
CALL partsltd_prod.p_shop_calc_user(
CALL demo.p_shop_calc_user(
v_guid -- guid
, a_id_user -- ids_user
, FALSE -- get_inactive_user
@@ -325,17 +325,17 @@ BEGIN
);
IF a_debug = 1 THEN
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = v_guid;
SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid;
END IF;
UPDATE tmp_User t_U
INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT
INNER JOIN demo.Shop_Calc_User_Temp CUT
ON CUT.GUID = v_guid
AND t_U.id_user = CUT.id_user
SET t_U.can_admin_store = CUT.can_admin
;
CALL partsltd_prod.p_shop_clear_calc_user( v_guid, FALSE );
CALL demo.p_shop_clear_calc_user( v_guid, FALSE );
END IF;
-- Can admin user
@@ -350,10 +350,10 @@ BEGIN
, '' -- ids_product
, 0 -- a_debug
;
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp;
SELECT * FROM demo.Shop_Calc_User_Temp;
END IF;
CALL partsltd_prod.p_shop_calc_user(
CALL demo.p_shop_calc_user(
v_guid -- guid
, a_id_user -- ids_user
, FALSE -- get_inactive_user
@@ -364,17 +364,17 @@ BEGIN
);
IF a_debug = 1 THEN
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = v_guid;
SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid;
END IF;
UPDATE tmp_User t_U
INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT
INNER JOIN demo.Shop_Calc_User_Temp CUT
ON CUT.GUID = v_guid
AND t_U.id_user = CUT.id_user
SET t_U.can_admin_user = CUT.can_admin
;
CALL partsltd_prod.p_shop_clear_calc_user( v_guid, FALSE );
CALL demo.p_shop_clear_calc_user( v_guid, FALSE );
END IF;
-- Permissions
@@ -389,10 +389,10 @@ BEGIN
, '' -- ids_product
, 0 -- a_debug
;
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp;
SELECT * FROM demo.Shop_Calc_User_Temp;
END IF;
CALL partsltd_prod.p_shop_calc_user(
CALL demo.p_shop_calc_user(
v_guid -- guid
, a_id_user -- ids_user
, FALSE -- get_inactive_user
@@ -403,12 +403,12 @@ BEGIN
);
IF a_debug = 1 THEN
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = v_guid;
SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid;
END IF;
IF NOT EXISTS (
SELECT can_view
FROM partsltd_prod.Shop_Calc_User_Temp CUT
FROM demo.Shop_Calc_User_Temp CUT
WHERE 1=1
AND CUT.GUID = v_guid
AND can_view = 1
@@ -422,9 +422,9 @@ BEGIN
VALUES (
v_id_type_error_bad_data,
v_code_error_bad_data,
-- CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_id_permission_user LIMIT 1))
-- CONCAT('You do not have view permissions for ', (SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM partsltd_prod.Shop_Permission WHERE FIND_IN_SET(v_id_permission_user, id_permission) > 0))
CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission P INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT ON P.id_permission = CUT.id_permission_required WHERE GUID = v_guid AND IFNULL(can_view, 0) = 0 LIMIT 1)) -- WHERE IFNULL(CUT.can_view, 0) = 0
-- CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission WHERE id_permission = v_id_permission_user LIMIT 1))
-- CONCAT('You do not have view permissions for ', (SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM demo.Shop_Permission WHERE FIND_IN_SET(v_id_permission_user, id_permission) > 0))
CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission P INNER JOIN demo.Shop_Calc_User_Temp CUT ON P.id_permission = CUT.id_permission_required WHERE GUID = v_guid AND IFNULL(can_view, 0) = 0 LIMIT 1)) -- WHERE IFNULL(CUT.can_view, 0) = 0
)
;
ELSE
@@ -432,7 +432,7 @@ BEGIN
SET a_debug := a_debug;
END IF;
CALL partsltd_prod.p_shop_clear_calc_user( v_guid, FALSE );
CALL demo.p_shop_clear_calc_user( v_guid, FALSE );
END IF;
@@ -460,7 +460,7 @@ BEGIN
, t_U.can_admin_user
, v_is_new AS is_new
FROM tmp_User t_U
INNER JOIN partsltd_prod.Shop_User U ON t_U.id_user = U.id_user
INNER JOIN demo.Shop_User U ON t_U.id_user = U.id_user
;
# Errors
@@ -471,7 +471,7 @@ BEGIN
MET.name,
MET.description
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET
INNER JOIN demo.Shop_Msg_Error_Type MET
ON t_ME.id_type = MET.id_type
;
@@ -485,12 +485,12 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
/*
DELETE FROM partsltd_prod.Shop_Calc_User_Temp
DELETE FROM demo.Shop_Calc_User_Temp
WHERE GUID = v_guid;
*/
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
@@ -519,11 +519,11 @@ CALL p_get_many_user (
);*/
/*
select * FROM partsltd_prod.Shop_Calc_User_Temp;
delete FROM partsltd_prod.Shop_Calc_User_Temp;
select * FROM demo.Shop_Calc_User_Temp;
delete FROM demo.Shop_Calc_User_Temp;
SELECT *
FROM partsltd_prod.Shop_USER;
FROM demo.Shop_USER;
CALL p_get_many_user(
NULL -- :a_id_user,

View File

@@ -48,7 +48,7 @@ BEGIN
id_type
, @errno
, @text
FROM partsltd_prod.Shop_Msg_Error_Type MET
FROM demo.Shop_Msg_Error_Type MET
WHERE code = 'MYSQL_ERROR'
;
SELECT *
@@ -57,12 +57,12 @@ BEGIN
END;
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_id_permission_supplier := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1);
SET v_id_access_level_EDIT := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_id_permission_supplier := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1);
SET v_id_access_level_EDIT := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
CALL p_validate_guid ( a_guid );
SET a_comment := TRIM(IFNULL(a_comment, ''));
@@ -138,7 +138,7 @@ BEGIN
, S_T.active
, IFNULL(S_T.name_company, IFNULL(S_T.email, IFNULL(S_T.website, IFNULL(S_T.name_contact, '(No Supplier)'))))
, IFNULL(S_T.id_supplier, 0) < 1
FROM partsltd_prod.Shop_Supplier_Temp S_T
FROM demo.Shop_Supplier_Temp S_T
WHERE GUID = a_guid
;
@@ -167,7 +167,7 @@ BEGIN
, SA_T.active
, IFNULL(SA_T.postcode, IFNULL(SA_T.city, IFNULL(SA_T.county, IFNULL(SA_T.address_line_1, IFNULL(SA_T.address_line_2, '(No Supplier)'))))) AS name_error
, IFNULL(SA_T.id_address, 0) < 1 AS is_new
FROM partsltd_prod.Shop_Supplier_Address_Temp SA_T
FROM demo.Shop_Supplier_Address_Temp SA_T
WHERE GUID = a_guid
;
@@ -178,7 +178,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Address A ON t_S.id_address = A.id_address
LEFT JOIN demo.Shop_Address A ON t_S.id_address = A.id_address
WHERE 1=1
AND (
t_S.id_address = 0
@@ -199,7 +199,7 @@ BEGIN
, GROUP_CONCAT(t_S.name_error SEPARATOR ', ')
) AS msg
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Address A ON t_S.id_address = A.id_address
LEFT JOIN demo.Shop_Address A ON t_S.id_address = A.id_address
WHERE 1=1
AND (
t_S.id_address = 0
@@ -212,7 +212,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Currency C ON t_S.id_currency = C.id_currency
LEFT JOIN demo.Shop_Currency C ON t_S.id_currency = C.id_currency
WHERE 1=1
AND (
t_S.id_currency = 0
@@ -233,7 +233,7 @@ BEGIN
, GROUP_CONCAT(t_S.name_error SEPARATOR ', ')
) AS msg
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Currency C ON t_S.id_currency = C.id_currency
LEFT JOIN demo.Shop_Currency C ON t_S.id_currency = C.id_currency
WHERE 1=1
AND (
t_S.id_currency = 0
@@ -293,7 +293,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Supplier_Address t_SA
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier
LEFT JOIN demo.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier
WHERE 1=1
AND (
t_SA.id_supplier = 0
@@ -314,7 +314,7 @@ BEGIN
, GROUP_CONCAT(t_S.name_error SEPARATOR ', ')
) AS msg
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier
LEFT JOIN demo.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier
WHERE 1=1
AND (
t_SA.id_supplier = 0
@@ -326,7 +326,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Supplier_Address t_SA
LEFT JOIN partsltd_prod.Shop_Region R ON t_SA.id_region = R.id_region
LEFT JOIN demo.Shop_Region R ON t_SA.id_region = R.id_region
WHERE 1=1
AND (
t_SA.id_region = 0
@@ -347,7 +347,7 @@ BEGIN
, GROUP_CONCAT(t_S.name_error SEPARATOR ', ')
) AS msg
FROM tmp_Supplier t_S
LEFT JOIN partsltd_prod.Shop_Region R ON t_SA.id_region = R.id_region
LEFT JOIN demo.Shop_Region R ON t_SA.id_region = R.id_region
WHERE 1=1
AND (
t_SA.id_region = 0
@@ -383,7 +383,7 @@ BEGIN
, '' -- ids_product
, 0 -- a_debug
;
SELECT * from partsltd_prod.Shop_Calc_User_Temp;
SELECT * from demo.Shop_Calc_User_Temp;
END IF;
CALL p_shop_calc_user(
@@ -397,10 +397,10 @@ BEGIN
);
IF a_debug = 1 THEN
SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid;
SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid;
END IF;
IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid) THEN
IF NOT EXISTS (SELECT can_view FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid) THEN
DELETE FROM tmp_Msg_Error;
INSERT INTO tmp_Msg_Error (
@@ -411,12 +411,12 @@ BEGIN
VALUES (
v_id_type_error_no_permission
, v_code_type_error_no_permission
, CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_id_permission_supplier LIMIT 1))
, CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission WHERE id_permission = v_id_permission_supplier LIMIT 1))
)
;
END IF;
CALL partsltd_prod.p_shop_clear_calc_user(
CALL demo.p_shop_clear_calc_user(
a_guid
, 0 -- a_debug
);
@@ -429,7 +429,7 @@ BEGIN
-- Transaction
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN
START TRANSACTION;
INSERT INTO partsltd_prod.Shop_User_Change_Set (
INSERT INTO demo.Shop_User_Change_Set (
comment
, updated_last_by
, updated_last_on
@@ -442,7 +442,7 @@ BEGIN
SET v_id_change_set := LAST_INSERT_ID();
INSERT INTO partsltd_prod.Shop_Supplier (
INSERT INTO demo.Shop_Supplier (
id_supplier_temp
, id_currency
, name_company
@@ -472,7 +472,7 @@ BEGIN
;
UPDATE tmp_Supplier t_S
INNER JOIN partsltd_prod.Shop_Supplier S ON t_S.id_supplier_temp = S.id_supplier_temp
INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier_temp = S.id_supplier_temp
SET
t_S.id_supplier = S.id_supplier
WHERE t_S.is_new = 1
@@ -485,7 +485,7 @@ BEGIN
WHERE t_S.is_new = 1
;
UPDATE partsltd_prod.Shop_Supplier S
UPDATE demo.Shop_Supplier S
INNER JOIN tmp_Supplier t_S
ON S.id_supplier = t_S.id_supplier
AND t_S.is_new = 0
@@ -515,7 +515,7 @@ BEGIN
*/
;
INSERT INTO partsltd_prod.Shop_Supplier_Address (
INSERT INTO demo.Shop_Supplier_Address (
id_supplier
, id_region
, postcode
@@ -540,7 +540,7 @@ BEGIN
WHERE t_SA.is_new = 1
;
UPDATE partsltd_prod.Shop_Supplier_Address SA
UPDATE demo.Shop_Supplier_Address SA
INNER JOIN tmp_Supplier_Address t_SA
ON SA.id_address = t_SA.id_address
AND t_SA.is_new = 0
@@ -559,16 +559,16 @@ BEGIN
END IF;
START TRANSACTION;
DELETE FROM partsltd_prod.Shop_Supplier_Temp
DELETE FROM demo.Shop_Supplier_Temp
WHERE GUID = a_guid;
DELETE FROM partsltd_prod.Shop_Supplier_Address_Temp
DELETE FROM demo.Shop_Supplier_Address_Temp
WHERE GUID = a_guid;
COMMIT;
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
@@ -582,7 +582,7 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -1,7 +1,7 @@
-- Clear previous proc
DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_supplier_test;
DROP PROCEDURE IF EXISTS demo.p_shop_save_supplier_test;
DELIMITER //
@@ -15,21 +15,21 @@ BEGIN
SET v_guid := 'nips';
SELECT *
FROM partsltd_prod.Shop_Supplier
FROM demo.Shop_Supplier
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Temp
FROM demo.Shop_Supplier_Temp
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Address
FROM demo.Shop_Supplier_Address
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Address_Temp
FROM demo.Shop_Supplier_Address_Temp
;
START TRANSACTION;
INSERT INTO partsltd_prod.Shop_Supplier_Temp (
INSERT INTO demo.Shop_Supplier_Temp (
id_supplier
, id_currency
, name_company
@@ -70,12 +70,12 @@ BEGIN
, website
, active
, v_guid
FROM partsltd_prod.Shop_Supplier S
FROM demo.Shop_Supplier S
WHERE S.id_supplier = 2
;
/*
INSERT INTO partsltd_prod.Shop_Supplier_Address_Temp (
INSERT INTO demo.Shop_Supplier_Address_Temp (
id_address
, id_supplier
, id_region
@@ -113,7 +113,7 @@ BEGIN
, county
, active
, v_guid
FROM partsltd_prod.Shop_Supplier_Address SA
FROM demo.Shop_Supplier_Address SA
WHERE SA.id_supplier = 2
;
*/
@@ -121,16 +121,16 @@ BEGIN
COMMIT;
SELECT *
FROM partsltd_prod.Shop_Supplier_Temp
FROM demo.Shop_Supplier_Temp
WHERE GUID = v_guid
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Address_Temp
FROM demo.Shop_Supplier_Address_Temp
WHERE GUID = v_guid
;
CALL partsltd_prod.p_shop_save_supplier (
CALL demo.p_shop_save_supplier (
'Test save Supplier' -- comment
, v_guid -- guid
, 1 -- id_user
@@ -138,30 +138,30 @@ BEGIN
);
SELECT *
FROM partsltd_prod.Shop_Supplier_Temp
FROM demo.Shop_Supplier_Temp
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Address_Temp
FROM demo.Shop_Supplier_Address_Temp
;
SELECT *
FROM partsltd_prod.Shop_Supplier
FROM demo.Shop_Supplier
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Address
FROM demo.Shop_Supplier_Address
;
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END //
DELIMITER ;
/*
CALL partsltd_prod.p_shop_save_supplier_test ();
CALL demo.p_shop_save_supplier_test ();
DELETE FROM partsltd_prod.Shop_Supplier_Temp;
DELETE FROM partsltd_prod.Shop_Supplier_Address_Temp;
DELETE FROM demo.Shop_Supplier_Temp;
DELETE FROM demo.Shop_Supplier_Address_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error;
Cannot add or update a child row: a foreign key constraint fails (`partsltd_prod`.`shop_supplier`, CONSTRAINT `FK_Shop_Supplier_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_sales_and_purchasing_change_set` (`id_change_set`))
Cannot add or update a child row: a foreign key constraint fails (`demo`.`shop_supplier`, CONSTRAINT `FK_Shop_Supplier_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_sales_and_purchasing_change_set` (`id_change_set`))
*/

View File

@@ -23,12 +23,12 @@ BEGIN
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_guid := UUID();
SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION');
SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission);
SET v_id_permission_supplier := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1);
SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION');
SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission);
SET v_id_permission_supplier := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1);
SET a_get_all_supplier := IFNULL(a_get_all_supplier, 0);
SET a_get_inactive_supplier := IFNULL(a_get_inactive_supplier, 0);
@@ -67,7 +67,7 @@ BEGIN
-- Suppliers
IF v_has_filter_supplier = 1 THEN
CALL partsltd_prod.p_split(v_guid, a_ids_supplier, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_supplier, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -76,21 +76,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier
LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier
WHERE
ISNULL(t_S.as_int)
OR ISNULL(S.id_supplier)
@@ -109,7 +109,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive Supplier IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier
LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier
WHERE
ISNULL(t_S.as_int)
OR ISNULL(S.id_supplier)
@@ -125,7 +125,7 @@ BEGIN
SELECT
S.id_supplier
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier
RIGHT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier
WHERE (
a_get_all_supplier = 1
OR (
@@ -207,8 +207,8 @@ BEGIN
S.website,
S.active
FROM tmp_Supplier t_S
INNER JOIN partsltd_prod.Shop_Supplier S ON t_S.id_supplier = S.id_supplier
LEFT JOIN partsltd_prod.Shop_Currency C ON S.id_currency = C.id_currency
INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier = S.id_supplier
LEFT JOIN demo.Shop_Currency C ON S.id_currency = C.id_currency
;
# Supplier Addresses
@@ -224,15 +224,15 @@ BEGIN
, SA.county
, SA.active
FROM tmp_Supplier t_S
INNER JOIN partsltd_prod.Shop_Supplier S ON t_S.id_supplier = S.id_supplier
INNER JOIN partsltd_prod.Shop_Supplier_Address SA ON S.id_supplier = SA.id_supplier
LEFT JOIN partsltd_prod.Shop_Region R ON SA.id_region = R.id_region
INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier = S.id_supplier
INNER JOIN demo.Shop_Supplier_Address SA ON S.id_supplier = SA.id_supplier
LEFT JOIN demo.Shop_Region R ON SA.id_region = R.id_region
;
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN

View File

@@ -53,7 +53,7 @@ BEGIN
MET.id_type
, @errno
, @text
FROM partsltd_prod.Shop_Msg_Error_Type MET
FROM demo.Shop_Msg_Error_Type MET
WHERE code = 'MYSQL_ERROR'
;
SELECT *
@@ -62,14 +62,14 @@ BEGIN
END;
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_code_type_error_warning := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1);
SET v_id_type_error_warning := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1);
SET v_id_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT'));
SET v_id_access_level_edit := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_code_type_error_warning := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1);
SET v_id_type_error_warning := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1);
SET v_id_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT'));
SET v_id_access_level_edit := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
CALL p_validate_guid ( a_guid );
SET a_comment := TRIM(IFNULL(a_comment, ''));
@@ -145,10 +145,10 @@ BEGIN
, ' '
, IFNULL(IFNULL(SPO.cost_total_local_vat_excl, SPO.cost_total_local_vat_incl), '(No cost)')
) AS name_error
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp SPO_T
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON SPO_T.id_order = SPO.id_order
LEFT JOIN partsltd_prod.Shop_Supplier S ON SPO_T.id_supplier_ordered = S.id_supplier
LEFT JOIN partsltd_prod.Shop_Currency C ON SPO_T.id_currency_cost = C.id_currency
FROM demo.Shop_Supplier_Purchase_Order_Temp SPO_T
LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON SPO_T.id_order = SPO.id_order
LEFT JOIN demo.Shop_Supplier S ON SPO_T.id_supplier_ordered = S.id_supplier
LEFT JOIN demo.Shop_Currency C ON SPO_T.id_currency_cost = C.id_currency
WHERE SPO_T.GUID = a_guid
;
@@ -178,7 +178,7 @@ BEGIN
IFNULL(
SPOPL_T.id_permutation
, CASE WHEN NOT ISNULL(SPOPL_T.id_product) AND NOT ISNULL(SPOPL_T.csv_list_variations) THEN
partsltd_prod.fn_shop_get_id_product_permutation_from_variation_csv_list(SPOPL_T.id_product, SPOPL_T.csv_list_variations)
demo.fn_shop_get_id_product_permutation_from_variation_csv_list(SPOPL_T.id_product, SPOPL_T.csv_list_variations)
ELSE NULL END
)
, SPOPL.id_permutation
@@ -200,20 +200,20 @@ BEGIN
, IFNULL(IFNULL(SPOPL_T.active, SPOPL.active), 1) AS active
, NOT ISNULL(t_SPO.id_order) AS has_order
, IFNULL(SPOPL_T.id_link, 0) < 1 AS is_new
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPOPL_T.id_link = SPOPL.id_link
FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T
LEFT JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPOPL_T.id_link = SPOPL.id_link
LEFT JOIN tmp_Supplier_Purchase_Order t_SPO ON SPOPL_T.id_order = t_SPO.id_order
WHERE SPOPL_T.GUID = a_guid
;
UPDATE tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T
LEFT JOIN demo.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T
ON t_SPOPL.id_link = SPOPL_T.id_link
AND t_SPOPL.GUID = a_guid
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation
LEFT JOIN partsltd_prod.Shop_Product P ON SPOPL_T.id_product = P.id_product
LEFT JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category
LEFT JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link
LEFT JOIN demo.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation
LEFT JOIN demo.Shop_Product P ON SPOPL_T.id_product = P.id_product
LEFT JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category
SET
t_SPOPL.id_product = IFNULL(P.id_product, SPOPL_T.id_product)
, t_SPOPL.name_error = CONCAT(
@@ -254,7 +254,7 @@ BEGIN
, IFNULL(SPO.id_currency_cost, 0) AS id_currency_cost
, SPO.active AS active
, 0 AS is_new
FROM partsltd_prod.Shop_Supplier_Purchase_Order SPO
FROM demo.Shop_Supplier_Purchase_Order SPO
INNER JOIN tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
ON SPO.id_order = t_SPOPL.id_order
AND t_SPOPL.has_order = 0
@@ -280,7 +280,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Supplier_Purchase_Order t_SPO
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order
LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order
WHERE 1=1
AND t_SPO.id_order > 0
AND ISNULL(SPO.id_order)
@@ -299,7 +299,7 @@ BEGIN
, GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)')) SEPARATOR ', ')
) AS msg
FROM tmp_Supplier_Purchase_Order t_SPO
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order
LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order
WHERE 1=1
AND t_SPO.id_stock > 0
AND ISNULL(SPO.id_stock)
@@ -309,7 +309,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Supplier_Purchase_Order t_SPO
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier
LEFT JOIN demo.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier
WHERE 1=1
AND (
ISNULL(S.id_supplier)
@@ -330,7 +330,7 @@ BEGIN
, GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)'), ' - ', t_SPO.id_supplier_ordered) SEPARATOR ', ')
) AS msg
FROM tmp_Supplier_Purchase_Order t_SPO
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier
LEFT JOIN demo.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier
WHERE 1=1
AND (
ISNULL(S.id_supplier)
@@ -342,7 +342,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Supplier_Purchase_Order t_SPO
LEFT JOIN partsltd_prod.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency
LEFT JOIN demo.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency
WHERE 1=1
AND (
ISNULL(C.id_currency)
@@ -363,7 +363,7 @@ BEGIN
, GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)'), ' - ', t_SPO.id_currency_cost) SEPARATOR ', ')
) AS msg
FROM tmp_Supplier_Purchase_Order t_SPO
LEFT JOIN partsltd_prod.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency
LEFT JOIN demo.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency
WHERE 1=1
AND (
ISNULL(C.id_currency)
@@ -375,7 +375,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement
WHERE 1=1
AND (
ISNULL(UM.id_unit_measurement)
@@ -396,7 +396,7 @@ BEGIN
, GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)'), ' - ', t_SPO.id_currency_cost) SEPARATOR ', ')
) AS msg
FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement
WHERE 1=1
AND (
ISNULL(UM.id_unit_measurement)
@@ -543,7 +543,7 @@ BEGIN
SELECT
GROUP_CONCAT(DISTINCT PP.id_product SEPARATOR ',')
FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation
INNER JOIN demo.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation
);
IF a_debug = 1 THEN
SELECT
@@ -555,7 +555,7 @@ BEGIN
, v_ids_product_permission -- ids_product
, 0 -- a_debug
;
SELECT * from partsltd_prod.Shop_Calc_User_Temp;
SELECT * from demo.Shop_Calc_User_Temp;
END IF;
CALL p_shop_calc_user(
@@ -569,11 +569,11 @@ BEGIN
);
IF a_debug = 1 THEN
SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid;
SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid;
END IF;
UPDATE tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT
INNER JOIN demo.Shop_Calc_User_Temp CUT
ON t_SPOPL.id_product = t_SPOPL.id_product
AND CUT.GUID = a_guid
SET
@@ -594,7 +594,7 @@ BEGIN
, GROUP_CONCAT(P.name SEPARATOR ', ')
) AS msg
FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
INNER JOIN partsltd_prod.Shop_Product P ON t_SPOPL.id_product = P.id_product
INNER JOIN demo.Shop_Product P ON t_SPOPL.id_product = P.id_product
WHERE
t_SPOPL.is_new = 0
AND t_SPOPL.can_view = 0
@@ -618,15 +618,15 @@ BEGIN
, ': '
, GROUP_CONCAT(PERM.name SEPARATOR ', ')
) AS msg
FROM partsltd_prod.Shop_Access_Level AL
CROSS JOIN partsltd_prod.Shop_Calc_User_Temp CU_T
FROM demo.Shop_Access_Level AL
CROSS JOIN demo.Shop_Calc_User_Temp CU_T
ON CU_T.GUID = a_guid
AND ISNULL(CU_T.id_product)
AND IFNULL(CU_T.can_edit, 0) = 0
;
END IF;
CALL partsltd_prod.p_shop_clear_calc_user(
CALL demo.p_shop_clear_calc_user(
a_guid
, 0 -- a_debug
);
@@ -634,8 +634,8 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link
INNER JOIN partsltd_prod.Shop_Stock_Item SI ON SPOPL.id_permutation = SI.id_permutation
INNER JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link
INNER JOIN demo.Shop_Stock_Item SI ON SPOPL.id_permutation = SI.id_permutation
WHERE
t_SPOPL.is_new = 0
AND t_SPOPL.quantity_received <> SPOPL.quantity_received
@@ -684,7 +684,7 @@ BEGIN
SET v_id_change_set := LAST_INSERT_ID();
INSERT INTO partsltd_prod.Shop_Supplier_Purchase_Order (
INSERT INTO demo.Shop_Supplier_Purchase_Order (
id_order_temp
, id_supplier_ordered
, id_currency_cost
@@ -711,7 +711,7 @@ BEGIN
GROUP BY t_SPO.id_order
;
UPDATE partsltd_prod.Shop_Supplier_Purchase_Order SPO
UPDATE demo.Shop_Supplier_Purchase_Order SPO
INNER JOIN tmp_Supplier_Purchase_Order t_SPO
ON SPO.id_order = t_SPO.id_order
AND t_SPO.is_new = 0
@@ -727,7 +727,7 @@ BEGIN
UPDATE tmp_Supplier_Purchase_Order t_SPO
INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO
INNER JOIN demo.Shop_Supplier_Purchase_Order SPO
ON t_SPO.id_order_temp = SPO.id_order_temp
AND SPO.id_change_set = v_id_change_set
SET
@@ -780,7 +780,7 @@ BEGIN
WHERE t_SPOPL.is_new = 1
;
UPDATE partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL
UPDATE demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL
INNER JOIN tmp_Supplier_Purchase_Order_Product_Link t_SPOPL
ON SPOPL.id_link = t_SPOPL.id_link
AND t_SPOPL.is_new = 0
@@ -819,7 +819,7 @@ BEGIN
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
@@ -832,7 +832,7 @@ BEGIN
DROP TEMPORARY TABLE tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -1,7 +1,7 @@
-- Clear previous proc
DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_supplier_purchase_order_test;
DROP PROCEDURE IF EXISTS demo.p_shop_save_supplier_purchase_order_test;
DELIMITER //
@@ -15,24 +15,24 @@ BEGIN
SET v_guid := 'nips';
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order
FROM demo.Shop_Supplier_Purchase_Order
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp
FROM demo.Shop_Supplier_Purchase_Order_Temp
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link
FROM demo.Shop_Supplier_Purchase_Order_Product_Link
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp
FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp
;
START TRANSACTION;
DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp;
DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp;
DELETE FROM demo.Shop_Supplier_Purchase_Order_Temp;
DELETE FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp;
INSERT INTO partsltd_prod.Shop_Supplier_Purchase_Order_Temp (
INSERT INTO demo.Shop_Supplier_Purchase_Order_Temp (
id_order
, id_supplier_ordered
, id_currency_cost
@@ -54,11 +54,11 @@ BEGIN
, id_currency_cost
, active
, v_guid
FROM partsltd_prod.Shop_Supplier_Purchase_Order
FROM demo.Shop_Supplier_Purchase_Order
WHERE id_order = 6
*/
;
INSERT INTO partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp (
INSERT INTO demo.Shop_Supplier_Purchase_Order_Product_Link_Temp (
id_link
, id_order
, id_permutation
@@ -101,7 +101,7 @@ BEGIN
, cost_total_local_VAT_excl
, cost_total_local_VAT_incl
, v_guid
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link
FROM demo.Shop_Supplier_Purchase_Order_Product_Link
WHERE id_order = 6
*/
;
@@ -109,16 +109,16 @@ BEGIN
COMMIT;
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp
FROM demo.Shop_Supplier_Purchase_Order_Temp
WHERE GUID = v_guid
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp
FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp
WHERE GUID = v_guid
;
CALL partsltd_prod.p_shop_save_supplier_purchase_order (
CALL demo.p_shop_save_supplier_purchase_order (
'Test save Supplier Purchase Order' -- comment
, v_guid -- guid
, 1 -- id_user
@@ -126,30 +126,30 @@ BEGIN
);
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp
FROM demo.Shop_Supplier_Purchase_Order_Temp
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp
FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order
FROM demo.Shop_Supplier_Purchase_Order
;
SELECT *
FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link
FROM demo.Shop_Supplier_Purchase_Order_Product_Link
;
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END //
DELIMITER ;
/*
CALL partsltd_prod.p_shop_save_supplier_purchase_order_test ();
CALL demo.p_shop_save_supplier_purchase_order_test ();
DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp;
DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp;
DELETE FROM demo.Shop_Supplier_Purchase_Order_Temp;
DELETE FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error;
Cannot add or update a child row: a foreign key constraint fails (`partsltd_prod`.`shop_supplier_address`, CONSTRAINT `FK_Shop_Supplier_Address_id_supplier` FOREIGN KEY (`id_supplier`) REFERENCES `shop_supplier` (`id_supplier`) ON UPDATE RESTRICT)
Cannot add or update a child row: a foreign key constraint fails (`demo`.`shop_supplier_address`, CONSTRAINT `FK_Shop_Supplier_Address_id_supplier` FOREIGN KEY (`id_supplier`) REFERENCES `shop_supplier` (`id_supplier`) ON UPDATE RESTRICT)
*/

View File

@@ -33,12 +33,12 @@ BEGIN
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_guid := UUID();
SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_ids_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT'));
SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_ids_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT'));
SET a_get_all_supplier := IFNULL(a_get_all_supplier, 1);
SET a_get_inactive_supplier := IFNULL(a_get_inactive_supplier, 0);
@@ -101,7 +101,7 @@ BEGIN
-- Permutations
IF v_has_filter_permutation = 1 THEN
CALL partsltd_prod.p_split(v_guid, a_ids_permutation, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_permutation, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -110,21 +110,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PP.id_permutation)
@@ -140,7 +140,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PP.id_permutation)
@@ -153,7 +153,7 @@ BEGIN
SELECT
PP.id_permutation
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
RIGHT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE (
v_has_filter_permutation = 0
OR NOT ISNULL(t_S.as_int)
@@ -166,7 +166,7 @@ BEGIN
-- Suppliers
IF v_has_filter_supplier = 1 THEN
CALL partsltd_prod.p_split(v_guid, a_ids_supplier, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_supplier, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -175,21 +175,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier
LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier
WHERE
ISNULL(t_S.as_int)
OR ISNULL(S.id_supplier)
@@ -208,7 +208,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive Supplier IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier
LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier
WHERE
ISNULL(t_S.as_int)
OR ISNULL(S.id_supplier)
@@ -224,7 +224,7 @@ BEGIN
SELECT
S.id_supplier
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier
RIGHT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier
WHERE (
a_get_all_supplier = 1
OR (
@@ -244,7 +244,7 @@ BEGIN
-- Supplier Purchase Orders
IF v_has_filter_order = 1 THEN
CALL partsltd_prod.p_split(v_guid, a_ids_order, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_order, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -253,21 +253,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order
LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order
WHERE
ISNULL(t_S.as_int)
OR ISNULL(SPO.id_order)
@@ -286,7 +286,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive Supplier Purchase Order IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order
LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order
WHERE
ISNULL(t_S.as_int)
OR ISNULL(SPO.id_order)
@@ -302,9 +302,9 @@ BEGIN
SELECT
SPO.id_order
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order
RIGHT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order
INNER JOIN tmp_Supplier t_SUPP ON SPO.id_supplier_ordered = t_SUPP.id_supplier
INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPO.id_order = SPOPL.id_order
INNER JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPO.id_order = SPOPL.id_order
INNER JOIN tmp_Permutation t_PP ON SPOPL.id_permutation = t_PP.id_permutation
WHERE (
a_get_all_order = 1
@@ -351,7 +351,7 @@ BEGIN
, '' -- ids_product
, 0 -- a_debug
;
SELECT * from partsltd_prod.Shop_Calc_User_Temp;
SELECT * from demo.Shop_Calc_User_Temp;
END IF;
CALL p_shop_calc_user(
@@ -365,10 +365,10 @@ BEGIN
);
IF a_debug = 1 THEN
SELECT * from partsltd_prod.Shop_Calc_User_Temp;
SELECT * from demo.Shop_Calc_User_Temp;
END IF;
IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN
IF NOT EXISTS (SELECT can_view FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN
DELETE FROM tmp_Msg_Error;
INSERT INTO tmp_Msg_Error (
@@ -379,7 +379,7 @@ BEGIN
VALUES (
v_id_type_error_no_permission
, v_code_type_error_no_permission
, CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_ids_permission_supplier_purchase_order LIMIT 1))
, CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission WHERE id_permission = v_ids_permission_supplier_purchase_order LIMIT 1))
)
;
END IF;
@@ -405,7 +405,7 @@ BEGIN
S.id_currency,
t_S.active
FROM tmp_Supplier t_S
INNER JOIN partsltd_prod.Shop_Supplier S
INNER JOIN demo.Shop_Supplier S
ON t_S.id_supplier = S.id_supplier
;
*/
@@ -428,9 +428,9 @@ BEGIN
, SPO.created_on
) AS name
FROM tmp_Supplier_Purchase_Order t_SPO
INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON SPO.id_order = t_SPO.id_order
LEFT JOIN partsltd_prod.Shop_Supplier S ON SPO.id_supplier_ordered = S.id_supplier
LEFT JOIN partsltd_prod.Shop_Currency C ON SPO.id_currency_cost = C.id_currency
INNER JOIN demo.Shop_Supplier_Purchase_Order SPO ON SPO.id_order = t_SPO.id_order
LEFT JOIN demo.Shop_Supplier S ON SPO.id_supplier_ordered = S.id_supplier
LEFT JOIN demo.Shop_Currency C ON SPO.id_currency_cost = C.id_currency
;
# Supplier Purchase Order Product Link
@@ -454,15 +454,15 @@ BEGIN
, SPOPL.cost_unit_local_VAT_incl
, SPOPL.active
FROM tmp_Supplier_Purchase_Order t_SPO
INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPO.id_order = SPOPL.id_order
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON SPOPL.id_permutation = PP.id_permutation
LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product
INNER JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPO.id_order = SPOPL.id_order
LEFT JOIN demo.Shop_Product_Permutation PP ON SPOPL.id_permutation = PP.id_permutation
LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product
;
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN

View File

@@ -1,7 +1,7 @@
-- Clear previous proc
DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_Manufacturing_purchase_order_test;
DROP PROCEDURE IF EXISTS demo.p_shop_save_Manufacturing_purchase_order_test;
DELIMITER //
@@ -15,24 +15,24 @@ BEGIN
SET v_guid := 'nips';
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order
FROM demo.Shop_Manufacturing_Purchase_Order
;
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp
FROM demo.Shop_Manufacturing_Purchase_Order_Temp
;
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link
FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link
;
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp
FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp
;
START TRANSACTION;
DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp;
DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Temp;
DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
INSERT INTO partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp (
INSERT INTO demo.Shop_Manufacturing_Purchase_Order_Temp (
id_order
, id_currency
, active
@@ -51,12 +51,12 @@ BEGIN
, id_currency
, active
, v_guid
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order
FROM demo.Shop_Manufacturing_Purchase_Order
WHERE id_order = 6
*/
;-- SELECT * FROM partsltd_prod.Shop_Unit_Measurement;
;-- SELECT * FROM demo.Shop_Unit_Measurement;
INSERT INTO partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp (
INSERT INTO demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp (
id_link
, id_order
, id_permutation
@@ -96,7 +96,7 @@ BEGIN
, display_order
, active
, v_guid
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link
FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link
WHERE id_order = 6
*/
;
@@ -104,16 +104,16 @@ BEGIN
COMMIT;
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp
FROM demo.Shop_Manufacturing_Purchase_Order_Temp
WHERE GUID = v_guid
;
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp
FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp
WHERE GUID = v_guid
;
CALL partsltd_prod.p_shop_save_Manufacturing_purchase_order (
CALL demo.p_shop_save_Manufacturing_purchase_order (
'Test save Manufacturing Purchase Order' -- comment
, v_guid -- guid
, 1 -- id_user
@@ -121,30 +121,30 @@ BEGIN
);
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp
FROM demo.Shop_Manufacturing_Purchase_Order_Temp
;
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp
FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp
;
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order
FROM demo.Shop_Manufacturing_Purchase_Order
;
SELECT *
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link
FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link
;
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END //
DELIMITER ;
/*
CALL partsltd_prod.p_shop_save_Manufacturing_purchase_order_test ();
CALL demo.p_shop_save_Manufacturing_purchase_order_test ();
DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp;
DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Temp;
DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error;
select * from partsltd_prod.Shop_User;
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'partsltd_prod.t_MPOPL.name_error' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
select * from demo.Shop_User;
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'demo.t_MPOPL.name_error' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
*/

View File

@@ -53,7 +53,7 @@ BEGIN
MET.id_type
, @errno
, @text
FROM partsltd_prod.Shop_Msg_Error_Type MET
FROM demo.Shop_Msg_Error_Type MET
WHERE code = 'MYSQL_ERROR'
;
SELECT *
@@ -62,14 +62,14 @@ BEGIN
END;
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_code_type_error_warning := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1);
SET v_id_type_error_warning := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1);
SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT'));
SET v_id_access_level_edit := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1);
SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1);
SET v_code_type_error_warning := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1);
SET v_id_type_error_warning := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1);
SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT'));
SET v_id_access_level_edit := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1);
CALL p_validate_guid ( a_guid );
SET a_comment := TRIM(IFNULL(a_comment, ''));
@@ -147,8 +147,8 @@ BEGIN
, IFNULL(IFNULL(MPO_T.id_currency, MPO.id_currency), '(No Currency)')
)
END AS name_error
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp MPO_T
LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON MPO_T.id_order = MPO.id_order
FROM demo.Shop_Manufacturing_Purchase_Order_Temp MPO_T
LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON MPO_T.id_order = MPO.id_order
WHERE MPO_T.GUID = a_guid
;
@@ -180,7 +180,7 @@ BEGIN
IFNULL(
MPOPL_T.id_permutation
, CASE WHEN NOT ISNULL(MPOPL_T.id_product) AND NOT ISNULL(MPOPL_T.csv_list_variations) THEN
partsltd_prod.fn_shop_get_id_product_permutation_from_variation_csv_list(MPOPL_T.id_product, MPOPL_T.csv_list_variations)
demo.fn_shop_get_id_product_permutation_from_variation_csv_list(MPOPL_T.id_product, MPOPL_T.csv_list_variations)
ELSE NULL END
)
, MPOPL.id_permutation
@@ -202,18 +202,18 @@ BEGIN
, IFNULL(MPOPL_T.price_unit_local_VAT_incl, MPOPL.price_unit_local_VAT_incl) AS price_unit_local_VAT_incl
, NOT ISNULL(t_MPO.id_order) AS has_order
, IFNULL(MPOPL_T.id_link, 0) < 1 AS is_new
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T
LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPOPL_T.id_link = MPOPL.id_link
FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T
LEFT JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPOPL_T.id_link = MPOPL.id_link
LEFT JOIN tmp_Manufacturing_Purchase_Order t_MPO ON MPOPL_T.id_order = t_MPO.id_order
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation
WHERE MPOPL_T.GUID = a_guid
;
UPDATE tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
-- INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T ON t_MPOPL.id_order = MPOPL_T.id_order
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation
LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product
LEFT JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category
-- INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T ON t_MPOPL.id_order = MPOPL_T.id_order
LEFT JOIN demo.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation
LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product
LEFT JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category
SET
name_error = CONCAT(
CASE WHEN ISNULL(t_MPOPL.id_permutation) THEN
@@ -261,7 +261,7 @@ BEGIN
, ' - '
, IFNULL(MPO.id_currency, '(No Currency)')
) AS name_error
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order MPO
FROM demo.Shop_Manufacturing_Purchase_Order MPO
INNER JOIN tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
ON MPO.id_order = t_MPOPL.id_order
AND t_MPOPL.has_order = 0
@@ -291,7 +291,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Manufacturing_Purchase_Order t_MPO
LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order
LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order
WHERE 1=1
AND t_MPO.id_order > 0
AND ISNULL(MPO.id_order)
@@ -310,7 +310,7 @@ BEGIN
, GROUP_CONCAT(t_MPO.name_error SEPARATOR ', ')
) AS msg
FROM tmp_Manufacturing_Purchase_Order t_MPO
LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order
LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order
WHERE 1=1
AND t_MPO.id_order > 0
AND ISNULL(MPO.id_order)
@@ -320,7 +320,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Manufacturing_Purchase_Order t_MPO
LEFT JOIN partsltd_prod.Shop_Currency C ON t_MPO.id_currency = C.id_currency
LEFT JOIN demo.Shop_Currency C ON t_MPO.id_currency = C.id_currency
WHERE 1=1
AND (
ISNULL(C.id_currency)
@@ -341,7 +341,7 @@ BEGIN
, GROUP_CONCAT(CONCAT(t_MPO.name_error, ' - ', t_MPO.id_currency) SEPARATOR ', ')
) AS msg
FROM tmp_Manufacturing_Purchase_Order t_MPO
LEFT JOIN partsltd_prod.Shop_Currency C ON t_MPO.id_currency = C.id_currency
LEFT JOIN demo.Shop_Currency C ON t_MPO.id_currency = C.id_currency
WHERE 1=1
AND (
ISNULL(C.id_currency)
@@ -353,7 +353,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement
WHERE 1=1
AND (
ISNULL(UM.id_unit_measurement)
@@ -374,7 +374,7 @@ BEGIN
, GROUP_CONCAT(CONCAT(t_MPOPL.name_error, ' - ', t_MPO.id_unit_quantity) SEPARATOR ', ')
) AS msg
FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement
WHERE 1=1
AND (
ISNULL(UM.id_unit_measurement)
@@ -434,7 +434,7 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement
WHERE
ISNULL(t_MPOPL.id_unit_latency_manufacture)
OR ISNULL(UM.id_unit_measurement)
@@ -454,7 +454,7 @@ BEGIN
, GROUP_CONCAT(CONCAT(t_MPOPL.name_error, ' - ', t_MPOPL.id_unit_latency_manufacture) SEPARATOR ', ')
) AS msg
FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement
LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement
WHERE
ISNULL(t_MPOPL.id_unit_latency_manufacture)
OR ISNULL(UM.id_unit_measurement)
@@ -656,7 +656,7 @@ BEGIN
SELECT
GROUP_CONCAT(DISTINCT PP.id_product SEPARATOR ',')
FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation
INNER JOIN demo.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation
);
IF a_debug = 1 THEN
SELECT
@@ -669,7 +669,7 @@ BEGIN
, 0 -- a_debug
;
SELECT *
FROM partsltd_prod.Shop_Calc_User_Temp
FROM demo.Shop_Calc_User_Temp
WHERE GUID = a_guid
;
END IF;
@@ -685,10 +685,10 @@ BEGIN
);
IF a_debug = 1 THEN
SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid;
SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid;
END IF;
IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN
IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN
DELETE FROM tmp_Msg_Error;
INSERT INTO tmp_Msg_Error (
@@ -703,15 +703,15 @@ BEGIN
'You do not have edit permissions for '
, GROUP_CONCAT(name SEPARATOR ', ')
)
FROM partsltd_prod.Shop_Permission PERM
INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T
FROM demo.Shop_Permission PERM
INNER JOIN demo.Shop_Calc_User_Temp UE_T
ON PERM.id_permission = UE_T.id_permission
AND UE_T.GUID = a_guid
AND IFNULL(UE_T.can_view, 0) = 0
;
END IF;
CALL partsltd_prod.p_shop_clear_calc_user(
CALL demo.p_shop_clear_calc_user(
a_guid
, 0 -- a_debug
);
@@ -720,8 +720,8 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link
INNER JOIN partsltd_prod.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation
INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link
INNER JOIN demo.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation
WHERE
t_MPOPL.is_new = 0
AND t_MPOPL.quantity_used <> MPOPL.quantity_used
@@ -752,8 +752,8 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link
INNER JOIN partsltd_prod.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation
INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link
INNER JOIN demo.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation
WHERE
t_MPOPL.is_new = 0
AND t_MPOPL.quantity_produced <> MPOPL.quantity_produced
@@ -802,7 +802,7 @@ BEGIN
SET v_id_change_set := LAST_INSERT_ID();
INSERT INTO partsltd_prod.Shop_Manufacturing_Purchase_Order (
INSERT INTO demo.Shop_Manufacturing_Purchase_Order (
id_order_temp
, id_currency
, cost_total_local_VAT_excl
@@ -831,7 +831,7 @@ BEGIN
;
UPDATE tmp_Manufacturing_Purchase_Order t_MPO
INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO
INNER JOIN demo.Shop_Manufacturing_Purchase_Order MPO
ON t_MPO.id_order_temp = MPO.id_order_temp
AND MPO.id_change_set = v_id_change_set
SET
@@ -885,7 +885,7 @@ BEGIN
WHERE t_MPOPL.is_new = 1
;
UPDATE partsltd_prod.Shop_Manufacturing_Purchase_Order MPO
UPDATE demo.Shop_Manufacturing_Purchase_Order MPO
INNER JOIN tmp_Manufacturing_Purchase_Order t_MPO
ON MPO.id_order = t_MPO.id_order
AND t_MPO.is_new = 0
@@ -900,7 +900,7 @@ BEGIN
, MPO.id_change_set = v_id_change_set
;
UPDATE partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL
UPDATE demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL
INNER JOIN tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL
ON MPOPL.id_link = t_MPOPL.id_link
AND t_MPOPL.is_new = 0
@@ -927,11 +927,11 @@ BEGIN
START TRANSACTION;
DELETE MPO_T
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp MPO_T
FROM demo.Shop_Manufacturing_Purchase_Order_Temp MPO_T
WHERE MPO_T.GUID = a_guid
;
DELETE MPOPL_T
FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T
FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T
WHERE MPOPL_T.GUID = a_guid
;
@@ -940,7 +940,7 @@ BEGIN
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
@@ -953,7 +953,7 @@ BEGIN
DROP TEMPORARY TABLE tmp_Msg_Error;
IF a_debug = 1 THEN
CALL partsltd_prod.p_debug_timing_reporting ( v_time_start );
CALL demo.p_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;

View File

@@ -29,12 +29,12 @@ BEGIN
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_guid := UUID();
SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION');
SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission);
SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT'));
SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1);
SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION');
SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission);
SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT'));
SET a_get_all_order := IFNULL(a_get_all_order, 1);
SET a_get_inactive_order := IFNULL(a_get_inactive_order, 0);
@@ -87,7 +87,7 @@ BEGIN
-- Permutations
IF v_has_filter_permutation = 1 THEN
CALL partsltd_prod.p_split(v_guid, a_ids_permutation, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_permutation, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -96,21 +96,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PP.id_permutation)
@@ -126,7 +126,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE
ISNULL(t_S.as_int)
OR ISNULL(PP.id_permutation)
@@ -139,7 +139,7 @@ BEGIN
SELECT
PP.id_permutation
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
RIGHT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation
WHERE (
v_has_filter_permutation = 0
OR NOT ISNULL(t_S.as_int)
@@ -152,7 +152,7 @@ BEGIN
-- Manufacturing Purchase Orders
IF v_has_filter_order = 1 THEN
CALL partsltd_prod.p_split(v_guid, a_ids_order, ',', a_debug);
CALL demo.p_split(v_guid, a_ids_order, ',', a_debug);
INSERT INTO tmp_Split (
substring
@@ -161,21 +161,21 @@ BEGIN
SELECT
substring
, CONVERT(substring, DECIMAL(10,0)) AS as_int
FROM partsltd_prod.Split_Temp
FROM demo.Split_Temp
WHERE 1=1
AND GUID = v_guid
AND NOT ISNULL(substring)
AND substring != ''
;
CALL partsltd_prod.p_clear_split_temp( v_guid );
CALL demo.p_clear_split_temp( v_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order
LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order
WHERE
ISNULL(t_S.as_int)
OR ISNULL(MPO.id_order)
@@ -194,7 +194,7 @@ BEGIN
v_code_type_error_bad_data,
CONCAT('Invalid or inactive Manufacturing Purchase Order IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split t_S
LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order
LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order
WHERE
ISNULL(t_S.as_int)
OR ISNULL(MPO.id_order)
@@ -210,8 +210,8 @@ BEGIN
SELECT
MPO.id_order
FROM tmp_Split t_S
RIGHT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order
INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPO.id_order = MPOPL.id_order
RIGHT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order
INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPO.id_order = MPOPL.id_order
INNER JOIN tmp_Permutation t_PP ON MPOPL.id_permutation = t_PP.id_permutation
WHERE (
a_get_all_order = 1
@@ -254,7 +254,7 @@ BEGIN
, '' -- ids_product
, 0 -- a_debug
;
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp;
SELECT * FROM demo.Shop_Calc_User_Temp;
END IF;
CALL p_shop_calc_user(
@@ -268,10 +268,10 @@ BEGIN
);
IF a_debug = 1 THEN
SELECT * FROM partsltd_prod.Shop_Calc_User_Temp;
SELECT * FROM demo.Shop_Calc_User_Temp;
END IF;
IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN
IF NOT EXISTS (SELECT can_view FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN
DELETE FROM tmp_Msg_Error;
INSERT INTO tmp_Msg_Error (
@@ -282,7 +282,7 @@ BEGIN
VALUES (
v_id_type_error_no_permission
, v_code_type_error_no_permission
, CONCAT('You do not have view permissions for ', IFNULL((SELECT IFNULL(name, '(No Permission Name)') FROM partsltd_prod.Shop_Permission WHERE FIND_IN_SET(id_permission, v_ids_permission_manufacturing_purchase_order) > 0 LIMIT 1), '(No Permissions Found)'))
, CONCAT('You do not have view permissions for ', IFNULL((SELECT IFNULL(name, '(No Permission Name)') FROM demo.Shop_Permission WHERE FIND_IN_SET(id_permission, v_ids_permission_manufacturing_purchase_order) > 0 LIMIT 1), '(No Permissions Found)'))
)
;
END IF;
@@ -308,7 +308,7 @@ BEGIN
S.id_currency,
t_S.active
FROM tmp_Manufacturing t_S
INNER JOIN partsltd_prod.Shop_Manufacturing S
INNER JOIN demo.Shop_Manufacturing S
ON t_S.id_manufacturing = S.id_manufacturing
;
*/
@@ -331,8 +331,8 @@ BEGIN
, MPO.created_on
) AS name
FROM tmp_Manufacturing_Purchase_Order t_MPO
INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON MPO.id_order = t_MPO.id_order
LEFT JOIN partsltd_prod.Shop_Currency C ON MPO.id_currency = C.id_currency
INNER JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON MPO.id_order = t_MPO.id_order
LEFT JOIN demo.Shop_Currency C ON MPO.id_currency = C.id_currency
;
# Manufacturing Purchase Order Product Link
@@ -356,15 +356,15 @@ BEGIN
, MPOPL.price_unit_local_VAT_incl
, MPOPL.active
FROM tmp_Manufacturing_Purchase_Order t_MPO
INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPO.id_order = MPOPL.id_order
LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation
LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product
INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPO.id_order = MPOPL.id_order
LEFT JOIN demo.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation
LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product
;
# Errors
SELECT *
FROM tmp_Msg_Error t_ME
INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
;
IF a_debug = 1 THEN
@@ -400,9 +400,9 @@ CALL p_shop_get_many_manufacturing_purchase_order (
select *
from partsltd_prod.shop_manufacturing_purchase_order
from demo.shop_manufacturing_purchase_order
;
select *
from partsltd_prod.shop_manufacturing_purchase_order_product_link
from demo.shop_manufacturing_purchase_order_product_link
;
*/

View File

@@ -631,12 +631,12 @@ VALUES
, (71, 2, '197g', '197 grams', 4, 197)
;
INSERT INTO partsltd_prod.Shop_Product_Change_Set (
INSERT INTO demo.Shop_Product_Change_Set (
comment
)
VALUES ( 'Update Variation Display Orders' )
;
UPDATE partsltd_prod.Shop_Variation V
UPDATE demo.Shop_Variation V
INNER JOIN (
SELECT
V.id_variation,
@@ -661,8 +661,8 @@ INNER JOIN (
, IFNULL(IFNULL(UM.symbol, UM.name_singular), '(No Unit of Measurement)')
)
) as new_order
FROM partsltd_prod.Shop_Variation V
INNER JOIN partsltd_prod.Shop_Unit_Measurement UM
FROM demo.Shop_Variation V
INNER JOIN demo.Shop_Unit_Measurement UM
ON V.id_unit_measurement = UM.id_unit_measurement
AND UM.active = 1
WHERE
@@ -670,7 +670,7 @@ INNER JOIN (
) AS RANKED ON V.id_variation = RANKED.id_variation
JOIN (
SELECT CS.id_change_set
FROM partsltd_prod.Shop_Product_Change_Set CS
FROM demo.Shop_Product_Change_Set CS
ORDER BY CS.id_change_set DESC
LIMIT 1
) AS CS

View File

@@ -1,824 +0,0 @@
/* Store */
# Drop dependencies
# DROP PROCEDURE IF EXISTS p_shop_user_eval;
DROP TABLE IF EXISTS User_Eval_Temp;
# Delete old tables
DROP TABLE IF EXISTS Shop_Address_Audit;
DROP TABLE IF EXISTS Shop_Address;
DROP TABLE IF EXISTS Shop_User_Role_Link_Audit;
DROP TABLE IF EXISTS Shop_User_Role_Link;
DROP TABLE IF EXISTS Shop_User_Audit;
DROP TABLE IF EXISTS Shop_User;
DROP TABLE IF EXISTS Shop_Role_Permission_Link_Audit;
DROP TABLE IF EXISTS Shop_Role_Permission_Link;
DROP TABLE IF EXISTS Shop_Role_Audit;
DROP TABLE IF EXISTS Shop_Role;
DROP TABLE IF EXISTS Shop_Permission_Audit;
DROP TABLE IF EXISTS Shop_Permission;
DROP TABLE IF EXISTS Shop_Permission_Group_Audit;
DROP TABLE IF EXISTS Shop_Permission_Group;
DROP TABLE IF EXISTS Shop_Access_Level_Audit;
DROP TABLE IF EXISTS Shop_Access_Level;
DROP TABLE IF EXISTS Shop_User_Change_Set;
# User Change Sets
CREATE TABLE Shop_User_Change_Set (
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(500),
updated_last_on DATETIME,
updated_last_by VARCHAR(100)
);
DELIMITER //
CREATE TRIGGER before_insert_Shop_User_Change_Set
BEFORE INSERT ON Shop_User_Change_Set
FOR EACH ROW
BEGIN
IF NEW.updated_last_on <=> NULL THEN
SET NEW.updated_last_on = NOW();
END IF;
IF NEW.updated_last_by <=> NULL THEN
SET NEW.updated_last_by = CURRENT_USER();
END IF;
END //
DELIMITER ;
SELECT * FROM Shop_User_Change_Set;
# Access Levels
CREATE TABLE Shop_Access_Level (
id_access_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(50),
name VARCHAR(255),
priority INT NOT NULL,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Access_Level_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);
DELIMITER //
CREATE TRIGGER before_insert_Shop_Access_Level
BEFORE INSERT ON Shop_Access_Level
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
CREATE TABLE Shop_Access_Level_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_access_level INT NOT NULL,
CONSTRAINT FK_Shop_Access_Level_Audit_id_access_level
FOREIGN KEY (id_access_level)
REFERENCES Shop_Access_Level(id_access_level)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Access_Level_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);
DELIMITER //
CREATE TRIGGER before_update_Shop_Access_Level
BEFORE UPDATE ON Shop_Access_Level
FOR EACH ROW
BEGIN
INSERT INTO Shop_Access_Level_Audit (
id_access_level,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed code
SELECT NEW.id_access_level, 'code', OLD.code, NEW.code, NEW.id_change_set
WHERE NOT (OLD.code <=> NEW.code)
UNION
# Changed name
SELECT NEW.id_access_level, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT (OLD.name <=> NEW.name)
UNION
# Changed priority
SELECT NEW.id_access_level, 'priority', CONVERT(OLD.priority, CHAR), CONVERT(NEW.priority, CHAR), NEW.id_change_set
WHERE NOT (OLD.priority <=> NEW.priority)
UNION
# Changed active
SELECT NEW.id_access_level, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;
INSERT INTO Shop_Access_Level (
display_order, code, name, priority
)
VALUES
(1, 'VIEW', 'View', 3),
(2, 'EDIT', 'Edit', 2),
(3, 'ADMIN', 'Admin', 1)
;
SELECT * FROM Shop_Access_Level;
SELECT * FROM Shop_Access_Level_Audit;
# Permission Groups
CREATE TABLE Shop_Permission_Group (
id_group INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(50),
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permission_Group_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);
DELIMITER //
CREATE TRIGGER before_insert_Shop_Permission_Group
BEFORE INSERT ON Shop_Permission_Group
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
CREATE TABLE Shop_Permission_Group_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_group INT NOT NULL,
CONSTRAINT FK_Shop_Permission_Group_Audit_id_group
FOREIGN KEY (id_group)
REFERENCES Shop_Permission_Group(id_group)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Permission_Group_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);
DELIMITER //
CREATE TRIGGER before_update_Shop_Permission_Group
BEFORE UPDATE ON Shop_Permission_Group
FOR EACH ROW
BEGIN
INSERT INTO Shop_Permission_Group_Audit (
id_group,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed code
SELECT NEW.id_group, 'code', OLD.code, NEW.code, NEW.id_change_set
WHERE NOT OLD.code <=> NEW.code
UNION
# Changed name
SELECT NEW.id_group, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT OLD.name <=> NEW.name
UNION
# Changed active
SELECT NEW.id_group, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;
INSERT INTO Shop_Permission_Group (
display_order, code, name
)
VALUES
(1, 'STORE', 'Store Home')
;
SELECT * FROM Shop_Permission_Group;
SELECT * FROM Shop_Permission_Group_Audit;
# Permissions
CREATE TABLE Shop_Permission (
id_permission INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(50),
name VARCHAR(255),
id_permission_group INT NOT NULL,
CONSTRAINT FK_Shop_Permission_id_permission_group
FOREIGN KEY (id_permission_group)
REFERENCES Shop_Permission_Group(id_group)
ON UPDATE RESTRICT,
required_access_level INT NOT NULL,
CONSTRAINT FK_Shop_Permission_id_access_level
FOREIGN KEY (required_access_level)
REFERENCES Shop_Access_Level(id_access_level),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Permission_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);
DELIMITER //
CREATE TRIGGER before_insert_Shop_Permission
BEFORE INSERT ON Shop_Permission
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
CREATE TABLE Shop_Permission_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_permission INT NOT NULL,
CONSTRAINT FK_Shop_Permission_Audit_id_permission
FOREIGN KEY (id_permission)
REFERENCES Shop_Permission(id_permission)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Permission_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);
DELIMITER //
CREATE TRIGGER before_update_Shop_Permission
BEFORE UPDATE ON Shop_Permission
FOR EACH ROW
BEGIN
INSERT INTO Shop_Permission_Audit (
id_permission,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed code
SELECT NEW.id_permission, 'code', OLD.code, NEW.code, NEW.id_change_set
WHERE NOT OLD.code <=> NEW.code
UNION
# Changed name
SELECT NEW.id_permission, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT OLD.name <=> NEW.name
UNION
# Changed id_permission_group
SELECT NEW.id_permission, 'id_permission_group', CONVERT(OLD.id_permission_group, CHAR), CONVERT(NEW.id_permission_group, CHAR), NEW.id_change_set
WHERE NOT OLD.id_permission_group <=> NEW.id_permission_group
UNION
# Changed required_access_level
SELECT NEW.id_permission, 'required_access_level', CONVERT(OLD.required_access_level, CHAR), CONVERT(NEW.required_access_level, CHAR), NEW.id_change_set
WHERE NOT OLD.required_access_level <=> NEW.required_access_level
UNION
# Changed active
SELECT NEW.id_permission, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;
INSERT INTO Shop_Permission (
display_order, code, name, id_permission_group, required_access_level
)
VALUES
(1, 'STORE_PRODUCT', 'Store Product Page', 1, 1),
(2, 'STORE_SERVICES', 'Store Services Page', 1, 1),
(3, 'CONTACT_US', 'Contact Us Page', 1, 1)
;
SELECT * FROM Shop_Permission;
SELECT * FROM Shop_Permission_Audit;
# Roles
CREATE TABLE Shop_Role (
id_role INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(50),
name VARCHAR(255),
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Role_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);
DELIMITER //
CREATE TRIGGER before_insert_Shop_Role
BEFORE INSERT ON Shop_Role
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
CREATE TABLE Shop_Role_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_role INT NOT NULL,
CONSTRAINT FK_Shop_Role_Audit_id_role
FOREIGN KEY (id_role)
REFERENCES Shop_Role(id_role)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Role_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);
DELIMITER //
CREATE TRIGGER before_update_Shop_Role
BEFORE UPDATE ON Shop_Role
FOR EACH ROW
BEGIN
INSERT INTO Shop_Role_Audit (
id_role,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed code
SELECT NEW.id_role, 'code', OLD.code, NEW.code, NEW.id_change_set
WHERE NOT OLD.code <=> NEW.code
UNION
# Changed name
SELECT NEW.id_role, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT OLD.name <=> NEW.name
UNION
# Changed active
SELECT NEW.id_role, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;
INSERT INTO Shop_Role (
display_order,
code,
name
)
VALUES
(1, 'DIRECTOR', 'Director'),
(2, 'USER', 'User')
;
SELECT * FROM Shop_Role;
SELECT * FROM Shop_Role_Audit;
# Role Permission link
CREATE TABLE Shop_Role_Permission_Link (
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_role INT,
CONSTRAINT FK_Shop_Role_Permission_Link_id_role
FOREIGN KEY (id_role)
REFERENCES Shop_Role(id_role)
ON UPDATE RESTRICT,
id_permission INT,
CONSTRAINT FK_Shop_Role_Permission_Link_id_permission
FOREIGN KEY (id_permission)
REFERENCES Shop_Permission(id_permission)
ON UPDATE RESTRICT,
id_access_level INT,
CONSTRAINT FK_Shop_Role_Permission_Link_id_access_level
FOREIGN KEY (id_access_level)
REFERENCES Shop_Access_Level(id_access_level)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);
DELIMITER //
CREATE TRIGGER before_insert_Shop_Role_Permission_Link
BEFORE INSERT ON Shop_Role_Permission_Link
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
CREATE TABLE Shop_Role_Permission_Link_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_link INT NOT NULL,
CONSTRAINT FK_Shop_Role_Permission_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Role_Permission_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Role_Permission_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);
DELIMITER //
CREATE TRIGGER before_update_Shop_Role_Permission_Link
BEFORE UPDATE ON Shop_Role_Permission_Link
FOR EACH ROW
BEGIN
INSERT INTO Shop_Role_Permission_Link_Audit (
id_link,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed id_role
SELECT NEW.id_link, 'id_role', CONVERT(OLD.id_role, CHAR), CONVERT(NEW.id_role, CHAR), NEW.id_change_set
WHERE NOT OLD.id_role <=> NEW.id_role
UNION
# Changed id_permission
SELECT NEW.id_link, 'id_permission', CONVERT(OLD.id_permission, CHAR), CONVERT(NEW.id_permission, CHAR), NEW.id_change_set
WHERE NOT OLD.id_permission <=> NEW.id_permission
UNION
# Changed id_access_level
SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set
WHERE NOT OLD.id_access_level <=> NEW.id_access_level
UNION
# Changed active
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;
INSERT INTO Shop_Role_Permission_Link (
id_role, id_permission, id_access_level
)
VALUES
(1, 1, 3),
(1, 2, 3),
(1, 3, 3),
(2, 1, 1),
(2, 2, 1),
(2, 3, 1)
;
SELECT * FROM Shop_Role_Permission_Link;
SELECT * FROM Shop_Role_Permission_Link_Audit;
# Users
CREATE TABLE Shop_User (
id_user INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
is_super_user BIT NOT NULL DEFAULT 0,
active BIT NOT NULL DEFAULT 1,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);
DELIMITER //
CREATE TRIGGER before_insert_Shop_User
BEFORE INSERT ON Shop_User
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
CREATE TABLE Shop_User_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_user INT NOT NULL,
CONSTRAINT FK_Shop_User_Audit_id_user
FOREIGN KEY (id_user)
REFERENCES Shop_User(id_user)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_User_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);
DELIMITER //
CREATE TRIGGER before_update_Shop_User
BEFORE UPDATE ON Shop_User
FOR EACH ROW
BEGIN
INSERT INTO Shop_User_Audit (
id_user,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed name
SELECT NEW.id_user, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT (OLD.name <=> NEW.name)
UNION
# Changed is_super_user
SELECT NEW.id_user, 'is_super_user', CONVERT(CONVERT(OLD.is_super_user, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_super_user, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.is_super_user <=> NEW.is_super_user)
UNION
# Changed active
SELECT NEW.id_user, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;
INSERT INTO Shop_User (
name,
is_super_user
)
VALUES (
'Teddy',
1
);
SELECT * FROM Shop_User;
SELECT * FROM Shop_User_Audit;
# User Role link
CREATE TABLE Shop_User_Role_Link (
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_user INT,
CONSTRAINT FK_Shop_User_Role_Link_id_user
FOREIGN KEY (id_user)
REFERENCES Shop_User(id_user)
ON UPDATE RESTRICT,
id_role INT,
CONSTRAINT FK_Shop_User_Role_Link_id_role
FOREIGN KEY (id_role)
REFERENCES Shop_Role(id_role)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Role_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);
DELIMITER //
CREATE TRIGGER before_insert_Shop_User_Role_Link
BEFORE INSERT ON Shop_User_Role_Link
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
CREATE TABLE Shop_User_Role_Link_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_link INT NOT NULL,
CONSTRAINT FK_Shop_User_Role_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_User_Role_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_User_Role_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);
DELIMITER //
CREATE TRIGGER before_update_Shop_User_Role_Link
BEFORE UPDATE ON Shop_User_Role_Link
FOR EACH ROW
BEGIN
INSERT INTO Shop_User_Role_Link_Audit (
id_link,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed active
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;
INSERT INTO Shop_User_Role_Link (
id_user, id_role
)
VALUES
(1, 1)
;
SELECT * FROM Shop_User_Role_Link;
SELECT * FROM Shop_User_Role_Link_Audit;
# Addresses
CREATE TABLE Shop_Address (
id_address INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_user INT NOT NULL,
CONSTRAINT FK_Shop_Address_id_user
FOREIGN KEY (id_user)
REFERENCES Shop_User(id_user)
ON UPDATE RESTRICT,
region VARCHAR(100) NOT NULL,
name_full VARCHAR(255) NOT NULL,
phone_number VARCHAR(20) NOT NULL,
postcode VARCHAR(20) NOT NULL,
address_line_1 VARCHAR(100) NOT NULL,
address_line_2 VARCHAR(100) NOT NULL,
city VARCHAR(50) NOT NULL,
county VARCHAR(100) NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Address_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);
DELIMITER //
CREATE TRIGGER before_insert_Shop_Address
BEFORE INSERT ON Shop_Address
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
CREATE TABLE Shop_Address_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_address INT NOT NULL,
CONSTRAINT FK_Shop_Address_Audit_id_address
FOREIGN KEY (id_address)
REFERENCES Shop_Address(id_address)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Address_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);
DELIMITER //
CREATE TRIGGER before_update_Shop_Address
BEFORE UPDATE ON Shop_Address
FOR EACH ROW
BEGIN
INSERT INTO Shop_Address_Audit (
id_address,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed region
SELECT NEW.id_address, 'region', OLD.region, NEW.region, NEW.id_change_set
WHERE NOT OLD.region <=> NEW.region
UNION
# Changed name_full
SELECT NEW.id_address, 'name_full', OLD.name_full, NEW.name_full, NEW.id_change_set
WHERE NOT OLD.name_full <=> NEW.name_full
UNION
# Changed phone_number
SELECT NEW.id_address, 'phone_number', OLD.phone_number, NEW.phone_number, NEW.id_change_set
WHERE NOT OLD.phone_number <=> NEW.phone_number
UNION
# Changed postcode
SELECT NEW.id_address, 'postcode', OLD.postcode, NEW.postcode, NEW.id_change_set
WHERE NOT OLD.postcode <=> NEW.postcode
UNION
# Changed address_line_1
SELECT NEW.id_address, 'address_line_1', OLD.address_line_1, NEW.address_line_1, NEW.id_change_set
WHERE NOT OLD.address_line_1 <=> NEW.address_line_1
UNION
# Changed address_line_2
SELECT NEW.id_address, 'address_line_2', OLD.address_line_2, NEW.address_line_2, NEW.id_change_set
WHERE NOT OLD.address_line_2 <=> NEW.address_line_2
UNION
# Changed city
SELECT NEW.id_address, 'city', OLD.city, NEW.city, NEW.id_change_set
WHERE NOT OLD.city <=> NEW.city
UNION
# Changed county
SELECT NEW.id_address, 'county', OLD.county, NEW.county, NEW.id_change_set
WHERE NOT OLD.county <=> NEW.county
UNION
# Changed active
SELECT NEW.id_address, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;
INSERT INTO Shop_Address (
id_user, region, name_full, phone_number, postcode, address_line_1, address_line_2, city, county
)
SELECT U.id_user, 'United Kingdom', U.name, '07375 571430', 'NN6 6EB', 'The Laurels', 'Cold Ashby Road', 'Cold Ashby', 'Northamptonshire'
FROM Shop_User U;
SELECT * FROM Shop_Address;
SELECT * FROM Shop_Address_Audit;

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +0,0 @@
# Recurrence Interval
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Interval_Recurrence';
CREATE TABLE IF NOT EXISTS Shop_Interval_Recurrence (
id_interval INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(50),
name VARCHAR(255),
name_plural VARCHAR(256),
active BIT NOT NULL DEFAULT 1,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Interval_Recurrence_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -1,22 +0,0 @@
# Recurrence Interval Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Interval_Recurrence_Audit';
CREATE TABLE IF NOT EXISTS Shop_Interval_Recurrence_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_interval INT NOT NULL,
CONSTRAINT FK_Shop_Interval_Recurrence_Audit_id_interval
FOREIGN KEY (id_interval)
REFERENCES Shop_Interval_Recurrence(id_interval)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(256),
value_new VARCHAR(256),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Interval_Recurrence_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -1,28 +0,0 @@
# Product Variation Type Link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Variation_Type_Link';
CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Type_Link (
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_product INT NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Type_Link_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product)
ON UPDATE RESTRICT,
id_variation_type INT NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Type_Link_id_variation_type
FOREIGN KEY (id_variation_type)
REFERENCES Shop_Variation_Type(id_type)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Variation_Type_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -1,23 +0,0 @@
# Product Variation Type Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Variation_Type_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Type_Link_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_link INT NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Type_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Product_Variation_Type_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Type_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -1,35 +0,0 @@
# Product Variation Link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Variation_Link';
CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Link (
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_product INT NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Link_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product)
ON UPDATE RESTRICT,
id_variation INT NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Link_id_variation
FOREIGN KEY (id_variation)
REFERENCES Shop_Variation(id_variation)
ON UPDATE RESTRICT,
/*
id_product_variation_type_link INT NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Link_id_product_variation_type_link
FOREIGN KEY (id_product_variation_type_link)
REFERENCES Shop_Product_Variation_Type_Link(id_link)
ON UPDATE RESTRICT,
*/
active BIT NOT NULL DEFAULT 1,
display_order INT NOT NULL,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Variation_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -1,23 +0,0 @@
# Product Variation Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Variation_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Link_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_link INT NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Product_Variation_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -1,32 +0,0 @@
# Product Delivery Option Link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Delivery_Region_Link';
CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Region_Link (
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_product INT NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product)
ON UPDATE RESTRICT,
id_permutation INT,
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation)
ON UPDATE RESTRICT,
id_region INT NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_region
FOREIGN KEY (id_region)
REFERENCES Shop_Delivery_Region(id_region)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -1,23 +0,0 @@
# Product Delivery Region Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Delivery_Region_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Region_Link_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_link INT NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Product_Delivery_Region_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -1,19 +0,0 @@
# ERP Order
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'ERP_Order';
CREATE TABLE IF NOT EXISTS ERP_Order (
id_order INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(50),
name VARCHAR(100),
extension VARCHAR(50),
created_on DATETIME,
created_by INT,
id_customer INT NOT NULL,
CONSTRAINT FK_ERP_Order_id_customer
FOREIGN KEY (id_customer)
REFERENCES ERP_Customer(id_customer)
);

View File

@@ -1,39 +0,0 @@
# User Order
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order';
CREATE TABLE IF NOT EXISTS Shop_User_Order (
id_order INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_user INT NOT NULL,
CONSTRAINT FK_Shop_User_Order_id_user
FOREIGN KEY (id_user)
REFERENCES Shop_User(id_user)
ON UPDATE RESTRICT,
value_total FLOAT,
id_order_status INT NOT NULL,
CONSTRAINT FK_Shop_User_Order_id_order_status
FOREIGN KEY (id_order_status)
REFERENCES Shop_User_Order_Status(id_status),
id_checkout_session VARCHAR(200) NOT NULL,
id_currency INT NOT NULL,
CONSTRAINT FK_Shop_User_Order_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
active BIT NOT NULL DEFAULT 1,
created_on DATETIME,
created_by INT,
id_change_set_user INT,
CONSTRAINT FK_Shop_User_Order_id_change_set_user
FOREIGN KEY (id_change_set_user)
REFERENCES Shop_User_Change_Set(id_change_set)
/*
id_change_set_product INT,
CONSTRAINT FK_Shop_User_Basket_id_change_set_product
FOREIGN KEY (id_change_set_product)
REFERENCES Shop_Product_Change_Set(id_change_set)
*/
);

View File

@@ -1,27 +0,0 @@
# User Order Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order_Audit';
CREATE TABLE IF NOT EXISTS Shop_User_Order_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_order INT NOT NULL,
CONSTRAINT FK_Shop_User_Order_Audit_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_User_Order(id_order)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set_user INT,
CONSTRAINT FK_Shop_User_Order_Audit_id_change_set_user
FOREIGN KEY (id_change_set_user)
REFERENCES Shop_User_Change_Set(id_change_set)
/*
id_change_set_product INT,
CONSTRAINT FK_Shop_User_Basket_Audit_id_change_set_product
FOREIGN KEY (id_change_set_product)
REFERENCES Shop_Product_Change_Set(id_change_set)
*/
);

View File

@@ -1,33 +0,0 @@
# User Order Product link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order_Product_Link';
CREATE TABLE IF NOT EXISTS Shop_User_Order_Product_Link (
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_order INT NOT NULL,
CONSTRAINT FK_Shop_User_Order_Product_Link_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_User_Order(id_order)
ON UPDATE RESTRICT,
id_product INT NOT NULL,
CONSTRAINT FK_Shop_User_Order_Product_Link_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product)
ON UPDATE RESTRICT,
id_permutation INT NULL,
CONSTRAINT FK_Shop_User_Order_Product_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation)
ON UPDATE RESTRICT,
quantity FLOAT NOT NULL,
active BIT NOT NULL DEFAULT 1,
created_on DATETIME,
created_by INT,
id_change_set INT,
CONSTRAINT FK_Shop_User_Order_Product_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -1,22 +0,0 @@
# User Order Product Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order_Product_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_User_Order_Product_Link_Audit (
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id_link INT NOT NULL,
CONSTRAINT FK_Shop_User_Order_Product_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_User_Order_Product_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(500),
value_new VARCHAR(500),
id_change_set INT NOT NULL,
CONSTRAINT FK_Shop_User_Order_Product_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -1,56 +0,0 @@
# Shop Recurrence Interval
DROP TRIGGER IF EXISTS before_insert_Shop_Interval_Recurrence;
DROP TRIGGER IF EXISTS before_update_Shop_Interval_Recurrence;
DELIMITER //
CREATE TRIGGER before_insert_Shop_Interval_Recurrence
BEFORE INSERT ON Shop_Interval_Recurrence
FOR EACH ROW
BEGIN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER before_update_Shop_Interval_Recurrence
BEFORE UPDATE ON Shop_Interval_Recurrence
FOR EACH ROW
BEGIN
IF OLD.id_change_set <=> NEW.id_change_set THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
END IF;
INSERT INTO Shop_Interval_Recurrence_Audit (
id_interval,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed code
SELECT NEW.id_interval, 'code', OLD.code, NEW.code, NEW.id_change_set
WHERE NOT OLD.code <=> NEW.code
UNION
# Changed name
SELECT NEW.id_interval, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT OLD.name <=> NEW.name
UNION
# Changed name_plural
SELECT NEW.id_interval, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set
WHERE NOT OLD.name_plural <=> NEW.name_plural
UNION
# Changed name
SELECT NEW.id_interval, 'active', OLD.active, NEW.active, NEW.id_change_set
WHERE NOT OLD.active <=> NEW.active
;
END //
DELIMITER ;

View File

@@ -1,61 +0,0 @@
# Shop Product Variation Link
DROP TRIGGER IF EXISTS before_insert_Shop_Product_Variation_Type_Link;
DROP TRIGGER IF EXISTS before_update_Shop_Product_Variation_Type_Link;
DELIMITER //
CREATE TRIGGER before_insert_Shop_Product_Variation_Type_Link
BEFORE INSERT ON Shop_Product_Variation_Type_Link
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER before_update_Shop_Product_Variation_Type_Link
BEFORE UPDATE ON Shop_Product_Variation_Type_Link
FOR EACH ROW
BEGIN
IF OLD.id_change_set <=> NEW.id_change_set THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
END IF;
INSERT INTO Shop_Product_Variation_Type_Link_Audit (
id_link,
name_field,
value_prev,
value_new,
id_change_set
)
/*
# Changed id_product
SELECT NEW.id_link, 'id_product', OLD.id_product, NEW.id_product, NEW.id_change_set
WHERE NOT OLD.id_product <=> NEW.id_product
UNION
# Changed id_variation
SELECT NEW.id_link, 'id_variation', OLD.id_variation, NEW.id_variation, NEW.id_change_set
WHERE NOT OLD.id_variation <=> NEW.id_variation
UNION
*/
# Changed active
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
UNION
# Changed display_order
SELECT NEW.id_link, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set
WHERE NOT (OLD.display_order <=> NEW.display_order)
;
END //
DELIMITER ;

View File

@@ -1,61 +0,0 @@
# Shop Product Variation Link
DROP TRIGGER IF EXISTS before_insert_Shop_Product_Variation_Link;
DROP TRIGGER IF EXISTS before_update_Shop_Product_Variation_Link;
DELIMITER //
CREATE TRIGGER before_insert_Shop_Product_Variation_Link
BEFORE INSERT ON Shop_Product_Variation_Link
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER before_update_Shop_Product_Variation_Link
BEFORE UPDATE ON Shop_Product_Variation_Link
FOR EACH ROW
BEGIN
IF OLD.id_change_set <=> NEW.id_change_set THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
END IF;
INSERT INTO Shop_Product_Variation_Link_Audit (
id_link,
name_field,
value_prev,
value_new,
id_change_set
)
/*
# Changed id_product
SELECT NEW.id_link, 'id_product', OLD.id_product, NEW.id_product, NEW.id_change_set
WHERE NOT OLD.id_product <=> NEW.id_product
UNION
# Changed id_variation
SELECT NEW.id_link, 'id_variation', OLD.id_variation, NEW.id_variation, NEW.id_change_set
WHERE NOT OLD.id_variation <=> NEW.id_variation
UNION
*/
# Changed active
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
UNION
# Changed display_order
SELECT NEW.id_link, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set
WHERE NOT (OLD.display_order <=> NEW.display_order)
;
END //
DELIMITER ;

View File

@@ -1,93 +0,0 @@
# Shop Product Currency Region Link
DROP TRIGGER IF EXISTS before_insert_Shop_Product_Currency_Region_Link;
DROP TRIGGER IF EXISTS before_update_Shop_Product_Currency_Region_Link;
DELIMITER //
CREATE TRIGGER before_insert_Shop_Product_Currency_Region_Link
BEFORE INSERT ON Shop_Product_Currency_Region_Link
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
/*
SET NEW.price_local = (
SELECT PP.price_GBP_full * C.factor_from_GBP
FROM Shop_Product_Permutation PP
INNER JOIN Shop_Product P ON PP.id_product = P.id_product
INNER JOIN Shop_Currency C ON NEW.id_currency = C.id_currency
WHERE NEW.id_product = P.id_product
LIMIT 1
);
*/
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER before_update_Shop_Product_Currency_Region_Link
BEFORE UPDATE ON Shop_Product_Currency_Region_Link
FOR EACH ROW
BEGIN
IF OLD.id_change_set <=> NEW.id_change_set THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
END IF;
/*
SET NEW.price_local = (
SELECT P.price_GBP_full * C.factor_from_GBP
FROM Shop_Product P
INNER JOIN Shop_Currency C ON NEW.id_currency = C.id_currency
WHERE NEW.id_product = P.id_product
LIMIT 1
);
*/
INSERT INTO Shop_Product_Currency_Region_Link_Audit (
id_link,
name_field,
value_prev,
value_new,
id_change_set
)
/*
# Changed id_product
SELECT NEW.id_link, 'id_product', CONVERT(OLD.id_product, CHAR), CONVERT(NEW.id_product, CHAR), NEW.id_change_set
WHERE NOT OLD.id_product <=> NEW.id_product
UNION
# Changed id_currency
SELECT NEW.id_link, 'id_currency', CONVERT(OLD.id_currency, CHAR), CONVERT(NEW.id_currency, CHAR), NEW.id_change_set
WHERE NOT OLD.id_currency <=> NEW.id_currency
UNION
# Changed price_local
SELECT NEW.id_link, 'price_local', OLD.price_local, NEW.price_local, NEW.id_change_set
WHERE NOT OLD.price_local <=> NEW.price_local
UNION
*/
# Changed price_local_VAT_incl
SELECT NEW.id_link, 'price_local_VAT_incl', OLD.price_local_VAT_incl, NEW.price_local_VAT_incl, NEW.id_change_set
WHERE NOT OLD.price_local_VAT_incl <=> NEW.price_local_VAT_incl
UNION
# Changed price_local_VAT_excl
SELECT NEW.id_link, 'price_local_VAT_excl', OLD.price_local_VAT_excl, NEW.price_local_VAT_excl, NEW.id_change_set
WHERE NOT OLD.price_local_VAT_excl <=> NEW.price_local_VAT_excl
UNION
# Changed id_stripe_price
SELECT NEW.id_link, 'id_stripe_price', OLD.id_stripe_price, NEW.id_stripe_price, NEW.id_change_set
WHERE NOT OLD.id_stripe_price <=> NEW.id_stripe_price
UNION
# Changed active
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;

View File

@@ -1,57 +0,0 @@
# Shop Product Delivery Region Link
DROP TRIGGER IF EXISTS before_insert_Shop_Product_Delivery_Region_Link;
DROP TRIGGER IF EXISTS before_update_Shop_Product_Delivery_Region_Link;
DELIMITER //
CREATE TRIGGER before_insert_Shop_Product_Delivery_Region_Link
BEFORE INSERT ON Shop_Product_Delivery_Region_Link
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER before_update_Shop_Product_Delivery_Region_Link
BEFORE UPDATE ON Shop_Product_Delivery_Region_Link
FOR EACH ROW
BEGIN
IF OLD.id_change_set <=> NEW.id_change_set THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
END IF;
INSERT INTO Shop_Product_Delivery_Region_Link_Audit (
id_link,
name_field,
value_prev,
value_new,
id_change_set
)
/*
# Changed id_product
SELECT NEW.id_link, 'id_product', CONVERT(OLD.id_product, CHAR), CONVERT(NEW.id_product, CHAR), NEW.id_change_set
WHERE NOT OLD.id_product <=> NEW.id_product
UNION
# Changed id_region
SELECT NEW.id_link, 'id_region', CONVERT(OLD.id_region, CHAR), CONVERT(NEW.id_region, CHAR), NEW.id_change_set
WHERE NOT OLD.id_region <=> NEW.id_region
UNION
*/
# Changed active
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;

View File

@@ -1,67 +0,0 @@
# Shop Product Variation Link
DROP TRIGGER IF EXISTS before_insert_Shop_User_Order;
DROP TRIGGER IF EXISTS before_update_Shop_User_Order;
DELIMITER //
CREATE TRIGGER before_insert_Shop_User_Order
BEFORE INSERT ON Shop_User_Order
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER before_update_Shop_User_Order
BEFORE UPDATE ON Shop_User_Order
FOR EACH ROW
BEGIN
IF OLD.id_change_set_user <=> NEW.id_change_set_user THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
END IF;
IF NOT (NEW.id_checkout_session <=> OLD.id_checkout_session) THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Checkout session ID must not change.';
END IF;
INSERT INTO Shop_User_Order_Audit (
id_order,
name_field,
value_prev,
value_new,
id_change_set_user
)
# Changed id_user
SELECT NEW.id_order, 'id_user', OLD.id_user, NEW.id_user, NEW.id_change_set_user
WHERE NOT OLD.id_user <=> NEW.id_user
UNION
# Changed value_total
SELECT NEW.id_order, 'value_total', CONVERT(OLD.value_total, CHAR), CONVERT(NEW.value_total, CHAR), NEW.id_change_set_user
WHERE NOT (OLD.value_total <=> NEW.value_total)
UNION
# Changed id_order_status
SELECT NEW.id_order, 'id_order_status', CONVERT(OLD.id_order_status, CHAR), CONVERT(NEW.id_order_status, CHAR), NEW.id_change_set_user
WHERE NOT (OLD.id_order_status <=> NEW.id_order_status)
UNION
# Changed id_checkout_session
SELECT NEW.id_order, 'id_checkout_session', OLD.id_checkout_session, NEW.id_checkout_session, NEW.id_change_set_user
WHERE NOT (OLD.id_checkout_session <=> NEW.id_checkout_session)
UNION
# Changed active
SELECT NEW.id_order, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set_user
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;

View File

@@ -1,55 +0,0 @@
# Shop User Order Product Link
DROP TRIGGER IF EXISTS before_insert_Shop_User_Order_Product_Link;
DROP TRIGGER IF EXISTS before_update_Shop_User_Order_Product_Link;
DELIMITER //
CREATE TRIGGER before_insert_Shop_User_Order_Product_Link
BEFORE INSERT ON Shop_User_Order_Product_Link
FOR EACH ROW
BEGIN
IF NEW.created_on <=> NULL THEN
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
END IF;
IF NEW.created_by <=> NULL THEN
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
END IF;
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER before_update_Shop_User_Order_Product_Link
BEFORE UPDATE ON Shop_User_Order_Product_Link
FOR EACH ROW
BEGIN
IF OLD.id_change_set <=> NEW.id_change_set THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
END IF;
INSERT INTO Shop_User_Order_Product_Link_Audit (
id_link,
name_field,
value_prev,
value_new,
id_change_set
)
# Changed id_product
SELECT NEW.id_link, 'active', CONVERT(OLD.id_product, CHAR), CONVERT(NEW.id_product, CHAR), NEW.id_change_set
WHERE NOT (OLD.id_product <=> NEW.id_product)
UNION
# Changed quantity
SELECT NEW.id_link, 'quantity', CONVERT(OLD.quantity, CHAR), CONVERT(NEW.quantity, CHAR), NEW.id_change_set
WHERE NOT (OLD.quantity <=> NEW.quantity)
UNION
# Changed active
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
;
END //
DELIMITER ;

View File

@@ -1,131 +0,0 @@
/*
THIS STRUCTURE DOES NOT WORK WITH MYSQL ??
CALL p_shop_get_many_role_permission (
'',
0,
'',
0,
0,
1,
'',
0,
0,
1
)
*/
-- Clear previous proc
DROP PROCEDURE IF EXISTS p_shop_get_many_role_permission;
/*
DROP TABLE IF EXISTS tmp_Shop_Image;
DROP TABLE IF EXISTS tmp_Shop_Product;
DROP TABLE IF EXISTS tmp_Shop_Variation;
DROP TABLE IF EXISTS tmp_Shop_Product_Category;
*/
DELIMITER //
CREATE PROCEDURE p_shop_get_many_role_permission (
a_ids_role NVARCHAR(500),
a_get_inactive_roles BIT
)
BEGIN
-- Variable declaration
DECLARE v_has_filter_role BIT;
DECLARE v_priority_view INT;
DECLARE v_priority_edit INT;
DECLARE v_priority_admin INT;
/*
DECLARE v_ids_product_permission VARCHAR(500);
DECLARE v_now DATETIME;
*/
-- Parse arguments + get default values
IF a_ids_role IS NULL THEN
SET a_ids_role = '';
ELSE
SET a_ids_role = TRIM(a_ids_role);
END IF;
IF a_get_inactive_roles IS NULL THEN
SET a_get_inactive_roles = 0;
END IF;
-- Temporary tables
CREATE TABLE tmp_Permission (
id_role INT NOT NULL,
CONSTRAINT FK_tmp_User_Permission_id_role
FOREIGN KEY (id_role)
REFERENCES Shop_Role(id_role),
id_permission INT,
CONSTRAINT FK_tmp_User_Permission_id_permission
FOREIGN KEY (id_permission)
REFERENCES Shop_Permission(id_permission),
id_access_level INT,
CONSTRAINT FK_tmp_User_Permission_id_access_level
FOREIGN KEY (id_user)
REFERENCES Shop_Access_Level(id_user),
can_view BIT,
can_edit BIT,
can_admin BIT
);
-- Parse filters
SET a_ids_role = REPLACE(a_ids_role, ',', '|');
SET v_has_filter_role = CASE WHEN a_ids_role = '' THEN 0 ELSE 1 END;
INSERT INTO tmp_User_Permission (
id_role,
id_permission,
id_access_level,
can_view,
can_edit,
can_admin
)
SELECT U.id_user,
U.is_super_user,
U.is_super_user,
U.is_super_user,
U.is_super_user
FROM Shop_Role R
INNER JOIN Shop_Role_Permission_Link RPL
ON R.id_role = RPL.id_role
AND RPL.active
INNER JOIN Shop_Permission PERM
ON RPL.id_permission = PERM.id_permission
AND PERM.active
INNER JOIN Shop_Permission_Group PG
ON PERM.id_permission_group = PG.id_group
AND PG.active
LEFT JOIN Shop_Access_Level AL
ON RPL.id_access_level = AL.id_access_level
AND AL.active
WHERE
R.id_role LIKE CONCAT('%', a_ids_role, '%')
AND (
PERM.required_access_level = 0
OR AL.priority >= PERM.required_access_level
)
;
UPDATE tmp_User_Permission t_UP
INNER JOIN Shop_Access_Level AL
ON AL.code = 'ADMIN'
SET t_UP.id_access_level = AL.id_access_level
WHERE t_UP.is_super_user
;
-- Clean up
DROP TABLE IF EXISTS tmp_Shop_Product_Category;
DROP TABLE IF EXISTS tmp_Shop_Product;
DROP TABLE IF EXISTS tmp_Shop_Image;
END //
DELIMITER ;

View File

@@ -1,285 +0,0 @@
/*
CALL p_shop_get_many_user_order (
'',
'',
1,
''
)
*/
-- Clear previous proc
DROP PROCEDURE IF EXISTS p_shop_get_many_user_order;
DELIMITER //
CREATE PROCEDURE p_shop_get_many_user_order (
IN a_id_user INT,
IN a_ids_order VARCHAR(4000),
IN a_n_order_max INT,
IN a_id_checkout_session VARCHAR(200)
)
BEGIN
-- Argument redeclaration
-- Variable declaration
DECLARE v_has_filter_user BIT;
DECLARE v_has_filter_order BIT;
DECLARE v_has_filter_session BIT;
DECLARE v_code_error_data VARCHAR(200);
DECLARE v_code_error_permission VARCHAR(200);
DECLARE v_guid BINARY(36);
SET v_code_error_data := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 1);
SET v_code_error_permission := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 2);
SET v_guid = UUID();
-- Argument validation + default values
IF a_id_user IS NULL THEN
SET a_id_user = '';
ELSE
SET a_id_user = TRIM(a_id_user);
END IF;
IF a_ids_order IS NULL THEN
SET a_ids_order = '';
ELSE
SET a_ids_order = TRIM(a_ids_order);
END IF;
IF a_n_order_max IS NULL THEN
SET a_n_order_max = 1;
END IF;
IF a_id_checkout_session IS NULL THEN
SET a_id_checkout_session = '';
ELSE
SET a_id_checkout_session = TRIM(a_id_checkout_session);
END IF;
-- Temporary tables
DROP TABLE IF EXISTS tmp_Shop_User;
DROP TABLE IF EXISTS tmp_Shop_Order;
CREATE TABLE tmp_Shop_User(
id_user INT NOT NULL PRIMARY KEY,
CONSTRAINT FK_tmp_Shop_User_id_user
FOREIGN KEY (id_user)
REFERENCES Shop_User(id_user),
active BIT NOT NULL
);
CREATE TABLE tmp_Shop_Order (
id_order INT NOT NULL PRIMARY KEY,
CONSTRAINT FK_tmp_Shop_Order_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_User_Order(id_order),
active BIT NOT NULL
);
CREATE TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
guid BINARY(36) NOT NULL,
# id_type INT NOT NULL,
# CONSTRAINT FK_tmp_Msg_Error_id_type FOREIGN KEY (id_type)
# REFERENCES Shop_Msg_Error_Type (id_type),
code VARCHAR(50),
msg VARCHAR(4000) NOT NULL
);
-- Parse filters
SET v_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END;
SET a_ids_order = REPLACE(a_ids_order, '|', ',');
SET v_has_filter_order = CASE WHEN a_ids_order = '' THEN 0 ELSE 1 END;
SET v_has_filter_session = CASE WHEN a_id_checkout_session = '' THEN 0 ELSE 1 END;
-- User
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF v_has_filter_user THEN
INSERT INTO tmp_Shop_User (
id_user,
active
)
SELECT id_user,
active
FROM Shop_User
WHERE id_user LIKE CONCAT('%', a_id_user, '%')
AND active
LIMIT 1
;
SET v_has_filter_user = EXISTS (SELECT id_user FROM tmp_Shop_User LIMIT 1);
SET a_id_user := (SELECT id_user FROM tmp_Shop_User LIMIT 1);
END IF;
END IF;
IF NOT v_has_filter_user THEN
INSERT INTO tmp_Msg_Error (
guid,
code,
msg
)
VALUES (
v_guid,
v_code_error_data,
'User ID not valid.'
)
;
END IF;
-- Permissions
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
CALL p_shop_user_eval (
v_guid, # a_guid
a_id_user, # a_id_user
0, # a_get_inactive_users
CONVERT((SELECT id_permission FROM Shop_Permission WHERE 'STORE_USER' = code), CHAR), # a_ids_permission
(SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW' AND active), # a_ids_access_level
'', # a_ids_product
'' # a_ids_permutation
);
IF NOT (SELECT can_edit FROM Shop_User_Eval_Temp WHERE guid = v_guid) THEN
INSERT INTO tmp_Msg_Error (
guid,
code,
msg
)
VALUES (
v_guid,
v_code_error_permission,
'User ID does not have permission to access orders.'
)
;
END IF;
DELETE FROM Shop_User_Eval_Temp
WHERE guid = v_guid
;
END IF;
-- Invalid Orders
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
# Invalid Order IDs
IF EXISTS (SELECT * FROM Shop_User_Order WHERE NOT (id_user = a_id_user) AND v_has_filter_order AND FIND_IN_SET(id_order, a_ids_order) > 0) THEN # id_order LIKE CONCAT('%', a_ids_order, '%') LIMIT 1) THEN
INSERT INTO tmp_Msg_Error (
guid,
code,
msg
)
VALUES (
v_guid,
v_code_error_data,
CONCAT('You do not have access to the following order IDs: ', (SELECT GROUP_CONCAT(id_order SEPARATOR ', ') FROM Shop_User_Order WHERE NOT (id_user = a_id_user) AND FIND_IN_SET(id_order, a_ids_order) > 0)) # id_order LIKE CONCAT('%', a_ids_order, '%'))) # AND v_has_filter_order # filtered by parent condition
)
;
END IF;
# Invalid Checkout Session IDs
IF EXISTS (SELECT * FROM Shop_User_Order WHERE NOT (id_user = a_id_user) AND v_has_filter_session AND id_checkout_session = a_id_checkout_session) THEN
INSERT INTO tmp_Msg_Error (
guid,
code,
msg
)
VALUES (
v_guid,
v_code_error_data,
CONCAT('You do not have access to the following checkout session IDs: ', (SELECT GROUP_CONCAT(id_order SEPARATOR ', ') FROM Shop_User_Order WHERE NOT (id_user = a_id_user) AND id_checkout_session = a_id_checkout_session)) # AND v_has_filter_order # filtered by parent condition
)
;
END IF;
END IF;
-- Valid Orders
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
INSERT INTO tmp_Shop_Order (
id_order,
active
)
SELECT UO.id_order,
UO.active
FROM Shop_User_Order UO
INNER JOIN tmp_Shop_User t_U
ON UO.id_user = t_U.id_user
AND t_U.active
WHERE ((NOT v_has_filter_order OR FIND_IN_SET(UO.id_order, a_ids_order) > 0) # UO.id_order LIKE CONCAT('%', a_ids_order, '%'))
OR (NOT v_has_filter_session OR UO.id_checkout_session = a_id_checkout_session))
AND UO.active
;
END IF;
-- Returns
/*
SELECT *
FROM tmp_Shop_User
;
*/
SELECT t_O.id_order,
UOPL.id_product,
UOPL.id_permutation,
UOPL.quantity
FROM tmp_Shop_Order t_O
INNER JOIN Shop_User_Order UO
ON t_O.id_order = UO.id_order
INNER JOIN Shop_User_Order_Product_Link UOPL
ON UO.id_order = UOPL.id_order
WHERE t_O.active
;
# Errors
SELECT *
FROM tmp_Msg_Error
WHERE guid = v_guid
;
/*
# Return arguments for test
SELECT
a_id_user,
a_ids_order,
a_n_order_max,
a_id_checkout_session
;
*/
-- Clean up
DROP TABLE IF EXISTS tmp_Shop_User;
DROP TABLE IF EXISTS tmp_Shop_Order;
END //
DELIMITER ;
/*
CALL p_shop_get_many_user_order (
'auth0|6582b95c895d09a70ba10fef',
'1',
0,
''
);
CALL p_shop_get_many_user_order (
'',
'1',
0,
''
);
insert into shop_product_change_set (comment)
values ('set product not subscription - test bool output to python');
update shop_product
set is_subscription = 0,
id_change_set = (select id_change_set from shop_product_change_set order by id_change_set desc limit 1)
where id_product = 1
select * from shop_User;
select * from shop_User_oRDER;
*/

View File

@@ -1,657 +0,0 @@
/*
CALL p_shop_get_product (
'', # a_id_user
1, # a_id_product
'', # a_ids_image
0, # a_get_first_image_only
1 # a_get_all_images
)
*/
-- Clear previous proc
DROP PROCEDURE IF EXISTS p_shop_get_product;
DELIMITER //
CREATE PROCEDURE p_shop_get_product (
IN a_id_user INT,
IN a_id_product INT,
IN a_ids_permutation VARCHAR(4000),
IN a_ids_image VARCHAR(500),
IN a_get_first_image_only BIT,
IN a_get_all_images BIT
)
BEGIN
-- Argument redeclaration
-- Variable declaration
DECLARE v_has_filter_product BIT;
DECLARE v_id_product_search VARCHAR(10);
DECLARE v_has_filter_permutation BIT;
DECLARE v_has_product_permutations BIT;
DECLARE v_guid BINARY(36);
# DECLARE v_id_user VARCHAR(100);
DECLARE v_id_permission_product INT;
DECLARE v_ids_product_permission VARCHAR(500);
DECLARE v_id_access_level_view INT;
DECLARE v_has_filter_image BIT;
DECLARE v_now DATETIME;
DECLARE v_id_minimum INT;
DECLARE v_code_error_data VARCHAR(50);
SET v_guid := UUID();
SET v_code_error_data := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 1);
SET v_id_access_level_view := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW');
-- Argument validation + default values
IF a_id_user IS NULL THEN
SET a_id_user = '';
ELSE
SET a_id_user = TRIM(a_id_user);
END IF;
IF a_ids_image IS NULL THEN
SET a_ids_image = '';
ELSE
SET a_ids_image = TRIM(a_ids_image);
END IF;
-- Temporary tables
DROP TABLE IF EXISTS tmp_Shop_Image;
DROP TABLE IF EXISTS tmp_Shop_Variation;
DROP TABLE IF EXISTS tmp_Shop_Product;
CREATE TABLE tmp_Shop_Product (
id_product INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Product_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product),
id_permutation INT NULL,
CONSTRAINT FK_tmp_Shop_Product_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
id_category INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Product_id_category
FOREIGN KEY (id_category)
REFERENCES Shop_Product_Category(id_category),
display_order INT,
can_view BIT,
can_edit BIT,
can_admin BIT
);
/*
CREATE TEMPORARY TABLE tmp_Shop_Variation (
id_variation INT NOT NULL,
id_product INT NOT NULL,
display_order INT NOT NULL
);
*/
CREATE TABLE tmp_Shop_Image (
id_product INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Image_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product),
id_permutation INT NULL,
CONSTRAINT FK_tmp_Shop_Image_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
id_image INT NOT NULL,
CONSTRAINT FK_tmp_Shop_Image_id_image
FOREIGN KEY (id_image)
REFERENCES Shop_Image(id_image),
display_order INT NOT NULL
);
CREATE TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
guid BINARY(36) NOT NULL,
# code VARCHAR(50) NOT NULL,
# CONSTRAINT chk_tmp_Msg_Error_code CHECK (code IN (SELECT code FROM Shop_Msg_Error_Type)),
id_type INT NOT NULL,
CONSTRAINT FK_tmp_Msg_Error_id_type
FOREIGN KEY (id_type)
REFERENCES Shop_Msg_Error_Type(id_type),
msg VARCHAR(4000) NOT NULL
);
-- Parse filters
# SET v_id_product_search = CONCAT('%', CAST(a_id_product AS CHAR), '%');
# select v_id_product_search;
SET v_has_filter_image = '';
# Products
INSERT INTO tmp_Shop_Product (
id_product, id_category, display_order
)
SELECT P.id_product, P.id_category, P.display_order
FROM Shop_Product P
# WHERE P.id_product LIKE v_id_product_search
WHERE P.id_product = a_id_product
AND NOT P.has_variations
AND P.active
;
# Product Permutations
INSERT INTO tmp_Shop_Product (
id_product, id_category, id_permutation, display_order
)
SELECT PP.id_product, P.id_category, PP.id_permutation, PP.display_order
FROM Shop_Product_Permutation PP
INNER JOIN Shop_Product P
ON PP.id_product = P.id_product
AND P.has_variations
AND P.active
# WHERE PP.id_product LIKE v_id_product_search
WHERE PP.id_product = a_id_product
AND PP.active
;
SET a_id_product := (SELECT id_product FROM tmp_Shop_Product LIMIT 1);
-- SET v_has_filter_product = NOT ISNULL(a_id_product);
SET v_has_product_permutations = EXISTS (SELECT id_permutation FROM tmp_Shop_Product WHERE NOT ISNULL(id_permutation));
IF ISNULL(a_id_product) THEN # NOT v_has_filter_product
INSERT INTO tmp_Msg_Error (
guid,
code,
msg
)
VALUES (
v_guid,
v_code_error_data,
'Valid product ID not provided.'
)
;
END IF;
# Permutations
IF v_has_filter_permutation THEN
DELETE FROM tmp_Shop_Product
WHERE FIND_IN_SET(id_permutation, a_ids_permutation) = 0
;
IF NOT EXISTS (SELECT * FROM tmp_Shop_Product) THEN
INSERT INTO tmp_Msg_Error (
guid,
code,
msg
)
VALUES (
v_guid,
v_code_error_data,
'Permutation IDs not associated with product ID.'
)
;
END IF;
END IF;
/*
# Variations
INSERT INTO tmp_Shop_Variation (
id_variation, id_product
)
SELECT P.id_variation, P.id_product
FROM Shop_Variation V
INNER JOIN tmp_Shop_Product t_P
ON V.id_product = t_P.id_product
WHERE V.active
;
*/
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid) THEN
# Product Images
INSERT INTO tmp_Shop_Image (
id_product, id_image, display_order
)
SELECT t_P.id_product, I.id_image, I.display_order
FROM Shop_Image I
INNER JOIN tmp_Shop_Product t_P
ON I.id_product = t_P.id_product
AND ISNULL(I.id_permutation)
INNER JOIN Shop_Product P
ON t_P.id_product = P.id_product
AND NOT P.has_variations
WHERE I.active
;
# Product Permutation Images
INSERT INTO tmp_Shop_Image (
id_product,
id_permutation,
id_image,
display_order
)
SELECT t_P.id_product,
t_P.id_permutation,
I.id_image,
ROW_NUMBER() OVER W AS display_order
FROM Shop_Image I
INNER JOIN Shop_Product_Permutation PP
ON I.id_permutation = PP.id_permutation
INNER JOIN Shop_Product P
ON PP.id_product = P.id_product
AND P.has_variations
INNER JOIN tmp_Shop_Product t_P
ON P.id_product = t_P.id_product
AND PP.id_permutation = t_P.id_permutation
WHERE I.active
WINDOW W AS (ORDER BY P.display_order, PP.display_order, I.display_order)
;
END IF;
-- Permissions
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid) AND EXISTS (SELECT * FROM tmp_Shop_Product LIMIT 1) THEN
# SET v_id_user := (SELECT id_user FROM Shop_User WHERE name = CURRENT_USER());
SET v_id_permission_product := (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1);
SET v_ids_product_permission := (SELECT GROUP_CONCAT(DISTINCT id_product SEPARATOR '|') FROM tmp_Shop_Product);
SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_product_permission;
CALL p_shop_user_eval(v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_product_permission);
select * from shop_user_eval_temp;
UPDATE tmp_Shop_Product t_P
INNER JOIN Shop_User_Eval_Temp UE_T
ON t_P.id_product = UE_T.id_product
AND UE_T.GUID = v_guid
SET t_P.can_view = UE_T.can_view,
t_P.can_edit = UE_T.can_edit,
t_P.can_admin = UE_T.can_admin;
DELETE FROM tmp_Shop_Product
WHERE FIND_IN_SET(id_product, (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM Shop_User_Eval_Temp)) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM Shop_User_Eval_Temp), '%');
;
# CALL p_shop_user_eval_clear_temp(v_guid);
# DROP TABLE IF EXISTS Shop_User_Eval_Temp;
DELETE FROM Shop_User_Eval_Temp
WHERE GUID = v_guid;
END IF;
-- Returns
SET v_now := NOW();
# Category
SELECT DISTINCT t_P.id_category,
C.name,
C.description,
C.display_order
FROM tmp_Shop_Product t_P
INNER JOIN Shop_Product_Category C
ON t_P.id_category = C.id_category
ORDER BY C.display_order
;
IF NOT v_has_product_permutations THEN
# Products
SELECT t_P.id_product,
NULL AS id_permutation,
P.name,
P.description,
P.price_GBP_full,
P.has_variations,
P.id_category,
P.latency_manuf,
P.quantity_min,
P.quantity_max,
P.quantity_step,
P.quantity_stock,
P.id_stripe_product,
P.is_subscription,
RI.name AS name_interval_recurrence,
RI.name_plural AS name_plural_interval_recurrence,
P.count_interval_recurrence
FROM tmp_Shop_Product t_P
INNER JOIN Shop_Product P
ON t_P.id_product = P.id_product
LEFT JOIN Shop_Interval_Recurrence RI
ON P.id_unit_measurement_interval_recurrence = RI.id_interval
WHERE ISNULL(t_P.id_permutation)
ORDER BY t_P.display_order
;
ELSE
# Permutations
SELECT t_P.id_product,
t_P.id_permutation,
P.name,
P.description,
P.price_GBP_full,
P.has_variations,
P.id_category,
P.latency_manuf,
P.quantity_min,
P.quantity_max,
P.quantity_step,
P.quantity_stock,
P.id_stripe_product,
P.is_subscription,
RI.name AS name_interval_recurrence,
RI.name_plural AS name_plural_interval_recurrence,
P.count_interval_recurrence
FROM tmp_Shop_Product t_P
INNER JOIN Shop_Product_Permutation PP
ON t_P.id_permutation = PP.id_permutation
AND PP.active
INNER JOIN Shop_Product P
ON PP.id_product = P.id_product
LEFT JOIN Shop_Interval_Recurrence RI
ON P.id_unit_measurement_interval_recurrence = RI.id_interval
WHERE NOT ISNULL(t_P.id_permutation)
ORDER BY t_P.display_order
;
END IF;
# Variations
IF v_has_product_permutations THEN
SELECT PPVL.id_variation,
t_P.id_product,
t_P.id_category,
VT.code AS code_variation_type,
VT.name AS name_variation_type,
V.code AS code_variation,
V.name AS name_variation
FROM Shop_Product_Permutation_Variation_Link PPVL
INNER JOIN tmp_Shop_Product t_P
ON PPVL.id_permutation = t_P.id_permutation
INNER JOIN Shop_Variation V
ON PPVL.id_variation = V.id_variation
INNER JOIN Shop_Variation_Type VT
ON V.id_type = VT.id_type
WHERE V.active
AND VT.active
AND PPVL.active
ORDER BY VT.display_order, V.display_order
;
ELSE
SELECT NULL AS id_variation,
NULL AS id_product,
NULL AS id_category,
NULL AS code_variation_type,
NULL AS name_variation_type,
NULL AS code_variation,
NULL AS name_variation
;
END IF;
IF v_has_product_permutations THEN
# Permutation Variations
SELECT t_P.id_permutation,
t_P.id_product,
t_P.id_category,
id_variation
FROM Shop_Product_Permutation_Variation_Link PPVL
INNER JOIN tmp_Shop_Product t_P
ON t_P.id_permutation = PPVL.id_permutation
;
ELSE
SELECT NULL AS id_permutation,
NULL AS id_product,
NULL AS id_category,
NULL AS id_variation
;
END IF;
# Images
SELECT I.id_image,
t_P.id_product,
I.id_permutation,
t_P.id_category,
I.url
FROM tmp_Shop_Image t_I
INNER JOIN Shop_Image I
ON t_I.id_image = I.id_image
INNER JOIN tmp_Shop_Product t_P
ON a_id_product = t_P.id_product
AND I.id_permutation = t_P.id_permutation
-- WHERE I.active
ORDER BY I.display_order
;
# Delivery Regions
IF v_has_product_permutations THEN
SELECT DR.id_region,
t_P.id_category,
t_P.id_product,
t_P.id_permutation,
DR.code,
DR.name
FROM Shop_Delivery_Region DR
INNER JOIN Shop_Product_Delivery_Region_Link PDRL
ON DR.id_region = PDRL.id_region
AND PDRL.active
INNER JOIN tmp_Shop_Product t_P
ON PDRL.id_permutation = t_P.id_permutation
WHERE DR.active
ORDER BY t_P.id_permutation, DR.display_order
;
ELSE
SELECT PDRL.id_region,
t_P.id_category,
t_P.id_product,
t_P.id_permutation,
DR.code,
DR.name
FROM Shop_Delivery_Region DR
INNER JOIN Shop_Product_Delivery_Region_Link PDRL
ON DR.id_region = PDRL.id_region
AND PDRL.active
INNER JOIN tmp_Shop_Product t_P
ON PDRL.id_product = t_P.id_product
WHERE DR.active
ORDER BY DR.display_order
;
END IF;
# Delivery options
IF v_has_product_permutations THEN
SELECT _DO.id_option,
_DO.id_product,
_DO.id_permutation,
t_P.id_category,
DOT.code,
DOT.name,
DOT.latency_delivery_min,
DOT.latency_delivery_max,
DOT.quantity_min,
DOT.quantity_max,
GROUP_CONCAT(DR.code SEPARATOR ',') AS codes_region,
GROUP_CONCAT(DR.name SEPARATOR ',') AS names_region,
_DO.price_GBP,
DOT.display_order
FROM Shop_Delivery_Option _DO
INNER JOIN Shop_Delivery_Option_Type DOT
ON _DO.id_delivery_type = DOT.id_type
AND DOT.active
INNER JOIN tmp_Shop_Product t_P
ON _DO.id_permutation = t_P.id_permutation
INNER JOIN Shop_Product_Delivery_Region_Link PDRL
ON t_P.id_product = PDRL.id_product
AND PDRL.active
INNER JOIN Shop_Delivery_Region DR
ON PDRL.id_region = DR.id_region
AND DR.active
WHERE _DO.active
AND a_id_product = _DO.id_product
GROUP BY t_P.id_product, PDRL.id_region, _DO.id_option, t_P.id_category
ORDER BY DOT.display_order
;
ELSE
SELECT _DO.id_option,
_DO.id_product,
_DO.id_permutation,
t_P.id_category,
DOT.code,
DOT.name,
DOT.latency_delivery_min,
DOT.latency_delivery_max,
DOT.quantity_min,
DOT.quantity_max,
GROUP_CONCAT(DR.code SEPARATOR ',') AS codes_region,
GROUP_CONCAT(DR.name SEPARATOR ',') AS names_region,
_DO.price_GBP,
DOT.display_order
FROM Shop_Delivery_Option _DO
INNER JOIN Shop_Delivery_Option_Type DOT
ON _DO.id_delivery_type = DOT.id_type
AND DOT.active
INNER JOIN tmp_Shop_Product t_P
ON _DO.id_product = t_P.id_product
INNER JOIN Shop_Product_Delivery_Region_Link PDRL
ON t_P.id_product = PDRL.id_product
AND PDRL.active
INNER JOIN Shop_Delivery_Region DR
ON PDRL.id_region = DR.id_region
AND DR.active
WHERE _DO.active
AND a_id_product = _DO.id_product
GROUP BY t_P.id_product, PDRL.id_region, _DO.id_option, t_P.id_category
ORDER BY DOT.display_order
;
END IF;
IF v_has_product_permutations THEN
# Discounts
SELECT D.id_discount,
t_P.id_category,
a_id_product,
D.id_permutation,
D.code,
D.name,
D.multiplier,
D.quantity_min,
D.quantity_max,
D.date_start,
D.date_end,
D.display_order
FROM Shop_Discount D
INNER JOIN tmp_Shop_Product t_P
ON D.id_permutation = t_P.id_permutation
WHERE D.active
;
ELSE
# Discounts
SELECT D.id_discount,
t_P.id_category,
D.id_product,
NULL AS id_permutation,
D.code,
D.name,
D.multiplier,
D.quantity_min,
D.quantity_max,
D.date_start,
D.date_end,
D.display_order
FROM Shop_Discount D
INNER JOIN tmp_Shop_Product t_P
ON D.id_product = t_P.id_product
WHERE D.active
AND a_id_product = D.id_product
;
END IF;
IF v_has_product_permutations THEN
# Discount Delivery Regions
SELECT DDRL.id_discount,
DDRL.id_region,
t_P.id_category,
t_P.id_product,
t_P.id_permutation,
DR.code,
DR.name,
DR.display_order
FROM Shop_Discount D
INNER JOIN tmp_Shop_Product t_P
ON D.id_permutation = t_P.id_permutation
INNER JOIN Shop_Discount_Delivery_Region_Link DDRL
ON D.id_discount = DDRL.id_discount
AND DDRL.active
INNER JOIN Shop_Delivery_Region DR
ON DDRL.id_region = DR.id_region
AND DR.active
WHERE D.active
;
ELSE
# Discount Delivery Regions
SELECT DDRL.id_discount,
DDRL.id_region,
t_P.id_category,
t_P.id_product,
NULL AS id_permutation,
DR.code,
DR.name,
DR.display_order
FROM Shop_Discount D
INNER JOIN tmp_Shop_Product t_P
ON D.id_product = t_P.id_product
INNER JOIN Shop_Discount_Delivery_Region_Link DDRL
ON D.id_discount = DDRL.id_discount
AND DDRL.active
INNER JOIN Shop_Delivery_Region DR
ON DDRL.id_region = DR.id_region
AND DR.active
WHERE D.active
AND a_id_product = D.id_product
;
END IF;
# Errors
SELECT *
FROM tmp_Msg_Error
WHERE guid = v_guid
;
/*
# Return arguments for test
SELECT
a_ids_category,
a_get_inactive_categories,
a_ids_product,
a_get_inactive_products,
a_get_first_product_only,
a_get_all_products,
a_ids_image,
a_get_inactive_images,
a_get_first_image_only,
a_get_all_images
;
*/
-- Clean up
DROP TABLE IF EXISTS tmp_Shop_Image;
DROP TABLE IF EXISTS tmp_Shop_Variation;
DROP TABLE IF EXISTS tmp_Shop_Product;
END //
DELIMITER ;
CALL p_shop_get_product (
'', # a_id_user
1 # a_id_product
);
/*
drop table tmp_msg_error;
select * from shop_image;
select * from shop_discount;
insert into shop_product_change_set (comment)
values ('set product not subscription - test bool output to python');
update shop_product
set is_subscription = 0,
id_change_set = (select id_change_set from shop_product_change_set order by id_change_set desc limit 1)
where id_product = 1
*/

View File

@@ -1,14 +0,0 @@
USE partsltd_prod;
INSERT INTO Shop_User (
id_user_auth0
, firstname
, surname
, email
, is_super_user
, active
)
VALUES ( 'auth0|679cc2fe0d652a47af90d16b' , 'Demo' , '' , 'bot@partsltd.co.uk' , 0 , 1 );
INSERT INTO Shop_User_Role_Link ( id_user, id_role )
VALUES (4, 2);

View File

@@ -1,83 +0,0 @@
SELECT URL.id_link,
URL.id_user,
U.name AS name,
URL.id_role,
R.name AS role
FROM Shop_User_Role_Link URL
INNER JOIN Shop_User U
ON URL.id_user = U.id_user
INNER JOIN Shop_Role R
ON URL.id_role = R.id_role
;
SELECT *
FROM Shop_Role_Permission_Link
;
SELECT *
FROM Shop_Access_Level
;
SELECT *
FROM Shop_Permission
;
SELECT *
FROM Shop_Access_Level
;
select * from shop_user;
select * from shop_user_audit;
select * from Shop_User_Change_Set;
/*
INSERT INTO Shop_User_Change_Set ( comment )
VALUES ('Demotion');
*/
UPDATE Shop_User
SET is_super_user = 0,
id_change_set = (SELECT id_change_set FROM Shop_User_Change_Set LIMIT 1)
WHERE id_user = 1
;
select * from shop_user;
select * from shop_user_audit;
drop procedure if exists p_test;
delimiter //
create procedure p_test ()
begin
declare b0 int;
declare b1 int;
SET b0 = 0;
SET b1 = 1;
select b0, b1;
select cast(b0 as char), cast(b1 as char);
select cast(b0 as char character set utf8), cast(b1 as char character set utf8);
select convert(b0, char), convert(b1, char);
select convert(b0, char character set utf8), convert(b1, char character set utf8);
select convert(convert(b0, signed), char), convert(convert(b1, signed), char);
select convert(convert(b0, signed), char character set utf8), convert(convert(b1, signed), char character set utf8);
end //
delimiter ;
call p_test();
drop procedure if exists p_test;
INSERT INTO Shop_User_Audit (
id_user,
name_field,
value_prev,
value_new,
id_change_set
)
SELECT id_user, name_field, value_prev, value_new, id_change_set
FROM Shop_User_Audit
WHERE id_audit = 1
UNION
SELECT id_user, name_field, value_prev, value_new, id_change_set
FROM Shop_User_Audit
WHERE id_audit = 1
;
select * from shop_user_audit;
SELECT * FROM Shop_Access_Level;
SELECT * FROM Shop_Product;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -25,9 +25,9 @@ $output = New-Object System.Text.StringBuilder
$output.AppendLine("-- Combined SQL files")
$output.AppendLine()
$output.AppendLine("DROP DATABASE IF EXISTS partsltd_prod;")
$output.AppendLine("CREATE DATABASE partsltd_prod;")
$output.AppendLine("USE partsltd_prod;")
$output.AppendLine("DROP DATABASE IF EXISTS demo;")
$output.AppendLine("CREATE DATABASE demo;")
$output.AppendLine("USE demo;")
$output.AppendLine()
# Process each file

View File

@@ -68,6 +68,9 @@
}
/* Page Filters */
#formFilters {
width: fit-content;
}
#formFilters * {
font-size: 12px;
}

View File

@@ -3,7 +3,7 @@
overflow-x: auto;
padding: 1vh;
max-width: 95vw; /* min(calc(1vh * 80), calc(1vw * 90)); */
width: fit-content;
width: min-content;
margin: 1vh 2vh;
align-items: normal;
justify-content: normal;

View File

@@ -1,8 +1,4 @@
#formFilters {
width: 100vh;
}
#formFilters .container-input.filter.active {
width: 8vh;
}

View File

@@ -1,8 +1,4 @@
#formFilters {
width: 50vh;
}
#formFilters .container {
max-width: fit-content;
}
@@ -15,16 +11,6 @@
width: 8vh;
}
#tableMain {
max-width: min(calc(1vh * 79), calc(1vw * 90));
}
/*
#tableMain thead tr th, #tableMain tbody tr td {
margin-left: 1vh;
margin-right: 1vh;
}
*/
#tableMain tbody tr td.display_order, #tableMain thead tr th.display_order {
width: 5vh;

View File

@@ -1,7 +1,4 @@
#formFilters {
width: 95vh;
}
#tableMain {
max-width: 90vw;

View File

@@ -1,11 +1,4 @@
/*
#formFilters {
width: 50vh;
}
*/
#tableMain:has(thead tr th.product_variations.collapsed) {
max-width: 66vh;
}

View File

@@ -1,7 +1,4 @@
#formFilters {
width: 50vh;
}
#formFilters .container {
max-width: fit-content;

View File

@@ -1,8 +1,4 @@
#formFilters {
width: 50vh;
}
#formFilters .container-input.filter.active {
width: 8vh;
}

View File

@@ -1,7 +1,4 @@
#formFilters {
width: 100vh;
}
#formFilters .container-input.filter.active {
width: 8vh;

View File

@@ -579,6 +579,9 @@ table div {
}
/* Page Filters */
#formFilters {
width: fit-content;
}
#formFilters * {
font-size: 12px;
}
@@ -644,7 +647,7 @@ form.filter button.save, form.filter button.button-cancel {
overflow-x: auto;
padding: 1vh;
max-width: 95vw; /* min(calc(1vh * 80), calc(1vw * 90)); */
width: fit-content;
width: min-content;
margin: 1vh 2vh;
align-items: normal;
justify-content: normal;

View File

@@ -56,10 +56,6 @@
#formFilters {
width: 50vh;
}
#formFilters .container {
max-width: fit-content;
}
@@ -72,16 +68,6 @@
width: 8vh;
}
#tableMain {
max-width: min(calc(1vh * 79), calc(1vw * 90));
}
/*
#tableMain thead tr th, #tableMain tbody tr td {
margin-left: 1vh;
margin-right: 1vh;
}
*/
#tableMain tbody tr td.display_order, #tableMain thead tr th.display_order {
width: 5vh;

View File

@@ -56,9 +56,6 @@
#formFilters {
width: 95vh;
}
#tableMain {
max-width: 90vw;

View File

@@ -1007,14 +1007,6 @@ var BasePage = /*#__PURE__*/function () {
}, {
key: "hookupNavigation",
value: function hookupNavigation() {
/* Can be removed: */
var overlayHamburger = document.querySelector(idOverlayHamburger);
var hamburgerOptions = overlayHamburger.querySelectorAll('div.' + flagRow);
var countOptions = hamburgerOptions.length;
// console.log('count nav options: ', countOptions);
// overlayHamburger.css('height', (countOptions * 27) + 'px');
/* end of can be removed */
this.hookupEventHandler("click", idButtonHamburger, function (event, element) {
var overlayHamburger = document.querySelector(idOverlayHamburger);
if (overlayHamburger.classList.contains(flagCollapsed)) {
@@ -1024,7 +1016,6 @@ var BasePage = /*#__PURE__*/function () {
overlayHamburger.classList.remove(flagExpanded);
overlayHamburger.classList.add(flagCollapsed);
}
// overlayHamburger.classList.add(flagInitialised);
});
this.hookupButtonsNavHome();
this.hookupButtonsNavServices();
@@ -1092,7 +1083,6 @@ var BasePage = /*#__PURE__*/function () {
_this2.leave();
api_API.loginUser().then(function (response) {
if (response.Success) {
// this.router.navigateToUrl(response[flagCallback], null, false); // window.app.
window.location.href = response[flagCallback];
} else {
DOM.alertError("Error", response.Message);
@@ -1188,7 +1178,6 @@ var BasePage = /*#__PURE__*/function () {
}
OverlayConfirm.show();
});
// button.classList.add(flagCollapsed);
});
}
}, {
@@ -1222,7 +1211,6 @@ var BasePage = /*#__PURE__*/function () {
}, {
key: "toggleShowButtonsSaveCancel",
value: function toggleShowButtonsSaveCancel(show) {
// , buttonSave = null, buttonCancel = null
var buttonSave = document.querySelector('form.' + flagFilter + ' button.' + flagSave);
var buttonCancel = document.querySelector('form.' + flagFilter + ' button.' + flagCancel);
if (show) {