// Manage SQL upgrade for stock management
This commit is contained in:
@@ -1615,7 +1615,7 @@ CREATE TABLE `PREFIX_subdomain` (
|
||||
|
||||
CREATE TABLE `PREFIX_supplier` (
|
||||
`id_supplier` int(10) unsigned NOT NULL auto_increment,
|
||||
`id_address` int(10) unsigned NOT NULL,
|
||||
`id_address` int(10) unsigned NOT NULL default 0,
|
||||
`name` varchar(64) NOT NULL,
|
||||
`date_add` datetime NOT NULL,
|
||||
`date_upd` datetime NOT NULL,
|
||||
|
||||
@@ -1080,7 +1080,7 @@ INSERT INTO `PREFIX_tab_lang` (`id_lang`, `id_tab`, `name`) VALUES
|
||||
(4, 97, 'Stock Management'),
|
||||
(4, 98, 'Stock instant state'),
|
||||
(4, 99, 'Stock cover'),
|
||||
(4, 100, 'Supplier orders'),
|
||||
(4, 100, 'Supply orders'),
|
||||
(4, 101, 'Combinations generator'),
|
||||
(4, 102, 'Accounting'),
|
||||
(4, 103, 'Account Number Management'),
|
||||
@@ -1111,7 +1111,7 @@ INSERT INTO `PREFIX_tab_lang` (`id_lang`, `id_tab`, `name`) VALUES
|
||||
(5, 97, 'Stock Management'),
|
||||
(5, 98, 'Stock instant state'),
|
||||
(5, 99, 'Stock cover'),
|
||||
(5, 100, 'Supplier orders'),
|
||||
(5, 100, 'Supply orders'),
|
||||
(5, 101, 'Combinations generator'),
|
||||
(5, 102, 'Accounting'),
|
||||
(5, 103, 'Account Number Management'),
|
||||
@@ -1159,7 +1159,7 @@ INSERT INTO `PREFIX_meta` (`id_meta`, `page`) VALUES
|
||||
(7, 'password'),
|
||||
(8, 'prices-drop'),
|
||||
(9, 'sitemap'),
|
||||
(10, 'supplier'),
|
||||
(10, 'supply'),
|
||||
(11, 'address'),
|
||||
(12, 'addresses'),
|
||||
(13, 'authentication'),
|
||||
|
||||
@@ -45,3 +45,236 @@ ALTER TABLE `PREFIX_orders` DROP COLUMN `id_warehouse`;
|
||||
ALTER TABLE `PREFIX_order_detail` ADD COLUMN `id_warehouse` int(10) unsigned DEFAULT 0 AFTER `id_order_invoice`;
|
||||
ALTER TABLE `PREFIX_suplier` ADD COLUMN `id_address` int(10) unsigned NOT NULL AFTER `id_supplier`;
|
||||
ALTER TABLE `PREFIX_address` ADD COLUMN `id_warehouse` int(10) unsigned NOT NULL DEFAULT 0 AFTER `id_supplier`;
|
||||
|
||||
|
||||
/************************
|
||||
* STOCK MANAGEMENT
|
||||
*************************/
|
||||
|
||||
/* PHP:add_stock_tab(); */;
|
||||
|
||||
/* New tables */
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_product_supplier` (
|
||||
`id_product_supplier` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`id_product` int(11) unsigned NOT NULL,
|
||||
`id_product_attribute` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`id_supplier` int(11) unsigned NOT NULL,
|
||||
`product_supplier_reference` varchar(32) DEFAULT NULL,
|
||||
`product_supplier_price_te` decimal(20,6) NOT NULL DEFAULT '0.000000',
|
||||
`id_currency` int(11) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_product_supplier`),
|
||||
UNIQUE KEY `id_product` (`id_product`,`id_product_attribute`,`id_supplier`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_stock_available` (
|
||||
`id_stock_available` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`id_product` int(11) unsigned NOT NULL,
|
||||
`id_product_attribute` int(11) unsigned NOT NULL,
|
||||
`id_shop` int(11) unsigned NOT NULL,
|
||||
`id_group_shop` int(11) unsigned NOT NULL,
|
||||
`quantity` int(10) NOT NULL DEFAULT '0',
|
||||
`depends_on_stock` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
`out_of_stock` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id_stock_available`),
|
||||
KEY `id_shop` (`id_shop`),
|
||||
KEY `id_group_shop` (`id_group_shop`),
|
||||
KEY `id_product` (`id_product`),
|
||||
KEY `id_product_attribute` (`id_product_attribute`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order` (
|
||||
`id_supply_order` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`id_supplier` int(11) unsigned NOT NULL,
|
||||
`supplier_name` varchar(64) NOT NULL,
|
||||
`id_lang` int(11) unsigned NOT NULL,
|
||||
`id_warehouse` int(11) unsigned NOT NULL,
|
||||
`id_supply_order_state` int(11) unsigned NOT NULL,
|
||||
`id_currency` int(11) unsigned NOT NULL,
|
||||
`id_ref_currency` int(11) unsigned NOT NULL,
|
||||
`reference` varchar(32) NOT NULL,
|
||||
`date_add` datetime NOT NULL,
|
||||
`date_upd` datetime NOT NULL,
|
||||
`date_delivery_expected` datetime DEFAULT NULL,
|
||||
`total_te` decimal(20,6) DEFAULT '0.000000',
|
||||
`total_with_discount_te` decimal(20,6) DEFAULT '0.000000',
|
||||
`total_tax` decimal(20,6) DEFAULT '0.000000',
|
||||
`total_ti` decimal(20,6) DEFAULT '0.000000',
|
||||
`discount_rate` decimal(20,6) DEFAULT '0.000000',
|
||||
`discount_value_te` decimal(20,6) DEFAULT '0.000000',
|
||||
`is_template` tinyint(1) DEFAULT '0',
|
||||
PRIMARY KEY (`id_supply_order`),
|
||||
KEY `id_supplier` (`id_supplier`),
|
||||
KEY `id_warehouse` (`id_warehouse`),
|
||||
KEY `reference` (`reference`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_detail` (
|
||||
`id_supply_order_detail` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`id_supply_order` int(11) unsigned NOT NULL,
|
||||
`id_currency` int(11) unsigned NOT NULL,
|
||||
`id_product` int(11) unsigned NOT NULL,
|
||||
`id_product_attribute` int(11) unsigned NOT NULL,
|
||||
`reference` varchar(32) NOT NULL,
|
||||
`supplier_reference` varchar(32) NOT NULL,
|
||||
`name` varchar(128) NOT NULL,
|
||||
`ean13` varchar(13) DEFAULT NULL,
|
||||
`upc` varchar(12) DEFAULT NULL,
|
||||
`exchange_rate` decimal(20,6) DEFAULT '0.000000',
|
||||
`unit_price_te` decimal(20,6) DEFAULT '0.000000',
|
||||
`quantity_expected` int(11) unsigned NOT NULL,
|
||||
`quantity_received` int(11) unsigned NOT NULL,
|
||||
`price_te` decimal(20,6) DEFAULT '0.000000',
|
||||
`discount_rate` decimal(20,6) DEFAULT '0.000000',
|
||||
`discount_value_te` decimal(20,6) DEFAULT '0.000000',
|
||||
`price_with_discount_te` decimal(20,6) DEFAULT '0.000000',
|
||||
`tax_rate` decimal(20,6) DEFAULT '0.000000',
|
||||
`tax_value` decimal(20,6) DEFAULT '0.000000',
|
||||
`price_ti` decimal(20,6) DEFAULT '0.000000',
|
||||
`tax_value_with_order_discount` decimal(20,6) DEFAULT '0.000000',
|
||||
`price_with_order_discount_te` decimal(20,6) DEFAULT '0.000000',
|
||||
PRIMARY KEY (`id_supply_order_detail`),
|
||||
KEY `id_supply_order` (`id_supply_order`),
|
||||
KEY `id_product` (`id_product`),
|
||||
KEY `id_product_attribute` (`id_product_attribute`),
|
||||
KEY `id_product_product_attribute` (`id_product`,`id_product_attribute`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_history` (
|
||||
`id_supply_order_history` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`id_supply_order` int(11) unsigned NOT NULL,
|
||||
`id_employee` int(11) unsigned NOT NULL,
|
||||
`employee_lastname` varchar(32) DEFAULT '',
|
||||
`employee_firstname` varchar(32) DEFAULT '',
|
||||
`id_state` int(11) unsigned NOT NULL,
|
||||
`date_add` datetime NOT NULL,
|
||||
PRIMARY KEY (`id_supply_order_history`),
|
||||
KEY `id_supply_order` (`id_supply_order`),
|
||||
KEY `id_employee` (`id_employee`),
|
||||
KEY `id_state` (`id_state`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_receipt_history` (
|
||||
`id_supply_order_receipt_history` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`id_supply_order_detail` int(11) unsigned NOT NULL,
|
||||
`id_employee` int(11) unsigned NOT NULL,
|
||||
`employee_lastname` varchar(32) DEFAULT '',
|
||||
`employee_firstname` varchar(32) DEFAULT '',
|
||||
`id_supply_order_state` int(11) unsigned NOT NULL,
|
||||
`quantity` int(11) unsigned NOT NULL,
|
||||
`date_add` datetime NOT NULL,
|
||||
PRIMARY KEY (`id_supply_order_receipt_history`),
|
||||
KEY `id_supply_order_detail` (`id_supply_order_detail`),
|
||||
KEY `id_supply_order_state` (`id_supply_order_state`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_state` (
|
||||
`id_supply_order_state` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`delivery_note` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`editable` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`receipt_state` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`pending_receipt` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`enclosed` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`color` varchar(32) DEFAULT NULL,
|
||||
PRIMARY KEY (`id_supply_order_state`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_supply_order_state_lang` (
|
||||
`id_supply_order_state` int(11) unsigned NOT NULL,
|
||||
`id_lang` int(11) unsigned NOT NULL,
|
||||
`name` varchar(128) DEFAULT NULL,
|
||||
PRIMARY KEY (`id_supply_order_state`,`id_lang`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_warehouse` (
|
||||
`id_warehouse` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`id_currency` int(11) unsigned NOT NULL,
|
||||
`id_address` int(11) unsigned NOT NULL,
|
||||
`id_employee` int(11) unsigned NOT NULL,
|
||||
`reference` varchar(32) DEFAULT NULL,
|
||||
`name` varchar(45) NOT NULL,
|
||||
`management_type` enum('WA','FIFO','LIFO') NOT NULL DEFAULT 'WA',
|
||||
`deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id_warehouse`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_warehouse_carrier` (
|
||||
`id_carrier` int(11) unsigned NOT NULL,
|
||||
`id_warehouse` int(11) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_warehouse`,`id_carrier`),
|
||||
KEY `id_warehouse` (`id_warehouse`),
|
||||
KEY `id_carrier` (`id_carrier`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_warehouse_product_location` (
|
||||
`id_warehouse_product_location` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`id_product` int(11) unsigned NOT NULL,
|
||||
`id_product_attribute` int(11) unsigned NOT NULL,
|
||||
`id_warehouse` int(11) unsigned NOT NULL,
|
||||
`location` varchar(64) DEFAULT NULL,
|
||||
PRIMARY KEY (`id_warehouse_product_location`),
|
||||
UNIQUE KEY `id_product` (`id_product`,`id_product_attribute`,`id_warehouse`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_warehouse_shop` (
|
||||
`id_shop` int(11) unsigned NOT NULL,
|
||||
`id_warehouse` int(11) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_warehouse`,`id_shop`),
|
||||
KEY `id_warehouse` (`id_warehouse`),
|
||||
KEY `id_shop` (`id_shop`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
/* Update records before alter tables */
|
||||
/* PHP:set_stock_available(); */;
|
||||
/* PHP:set_product_suppliers(); */;
|
||||
|
||||
/* Update tables */
|
||||
DROP TABLE IF EXISTS `PREFIX_stock`;
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_stock` (
|
||||
`id_stock` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`id_warehouse` INT(11) UNSIGNED NOT NULL,
|
||||
`id_product` INT(11) UNSIGNED NOT NULL,
|
||||
`id_product_attribute` INT(11) UNSIGNED NOT NULL,
|
||||
`reference` VARCHAR(32) NOT NULL,
|
||||
`ean13` VARCHAR(13) DEFAULT NULL,
|
||||
`upc` VARCHAR(12) DEFAULT NULL,
|
||||
`physical_quantity` INT(11) UNSIGNED NOT NULL,
|
||||
`usable_quantity` INT(11) UNSIGNED NOT NULL,
|
||||
`price_te` DECIMAL(20,6) DEFAULT '0.000000',
|
||||
PRIMARY KEY (`id_stock`),
|
||||
KEY `id_warehouse` (`id_warehouse`),
|
||||
KEY `id_product` (`id_product`),
|
||||
KEY `id_product_attribute` (`id_product_attribute`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `PREFIX_stock_mvt`;
|
||||
CREATE TABLE IF NOT EXISTS `PREFIX_stock_mvt` (
|
||||
`id_stock_mvt` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`id_stock` INT(11) UNSIGNED NOT NULL,
|
||||
`id_order` INT(11) UNSIGNED DEFAULT NULL,
|
||||
`id_supply_order` INT(11) UNSIGNED DEFAULT NULL,
|
||||
`id_stock_mvt_reason` INT(11) UNSIGNED NOT NULL,
|
||||
`id_employee` INT(11) UNSIGNED NOT NULL,
|
||||
`employee_lastname` varchar(32) DEFAULT '',
|
||||
`employee_firstname` varchar(32) DEFAULT '',
|
||||
`physical_quantity` INT(11) UNSIGNED NOT NULL,
|
||||
`date_add` DATETIME NOT NULL,
|
||||
`sign` tinyint(1) NOT NULL DEFAULT 1,
|
||||
`price_te` DECIMAL(20,6) DEFAULT '0.000000',
|
||||
`last_wa` DECIMAL(20,6) DEFAULT '0.000000',
|
||||
`current_wa` DECIMAL(20,6) DEFAULT '0.000000',
|
||||
`referer` bigint UNSIGNED DEFAULT NULL,
|
||||
PRIMARY KEY (`id_stock_mvt`),
|
||||
KEY `id_stock` (`id_stock`),
|
||||
KEY `id_stock_mvt_reason` (`id_stock_mvt_reason`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
ALTER TABLE `PREFIX_stock_mvt_reason` ADD COLUMN `deleted` tinyint(1) unsigned NOT NULL default '0' AFTER `date_upd`;
|
||||
|
||||
ALTER TABLE `PREFIX_supplier` ADD COLUMN `id_address` int(10) unsigned NOT NULL default '0' AFTER `id_supplier`;
|
||||
|
||||
ALTER TABLE `PREFIX_address` ADD COLUMN `id_warehouse` int(10) unsigned NOT NULL default '0' AFTER `id_supplier`;
|
||||
|
||||
/* Update records after alter tables */
|
||||
/* PHP:update_stock_mvt_reasons(); */;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user