Initial commit

This commit is contained in:
user
2026-07-12 13:56:05 +04:00
commit 04bf3a4b58
850 changed files with 9057 additions and 0 deletions
@@ -0,0 +1,88 @@
USE [Database]
SET IDENTITY_INSERT [Tables].[product_types] ON;
INSERT INTO [Tables].[product_types]([id], [parent_id], [name])
VALUES
(1, DEFAULT, N'Íåïðîäîâîëüñòâåííàÿ ïðîäóêöèÿ'),
(2, 1, N'Îäåæäà'),
(3, 1, N'Äåòñêèå òîâàðû'),
(4, 1, N'Äåêîð è èíòåðüåð'),
(5, 1, N'Õîááè è òâîð÷åñòâî'),
(6, 5, N'Íàñòîëüíûå è êàðòî÷íûå èãðû'),
(7, 6, N'Èãðàëüíûå êàðòû'),
(8, 6, N'Àêñåññóàðû'),
(9, 6, N'Íàñòîëüíûå èãðû'),
(10, 5, N'Ïàçëû è ãîëîâîëîìêè'),
(11, 1, N'Èãðû è êîíñîëè'),
(12, 1, N'Àêñåññóàðû'),
(13, 12, N'Áèæóòåðíûå óêðàøåíèÿ'),
(14, 13, N'Áðåëîêè è çíà÷êè'),
(15, DEFAULT, N'Ïðîäîâîëüñòâåííàÿ ïðîäóêöèÿ'),
(16, 15, N'Ñîêè, âîäû, íàïèòêè'),
(17, 16, N'Âîäà'),
(18, 15, N'Âûïå÷êà è ñëàäîñòè'),
(19, 18, N'Êîíôåòû'),
(20, 19, N'Äðàæå'),
(21, 18, N'Ïå÷åíüå, ïðÿíèêè è âàôëè'),
(22, 21, N'Ïå÷åíüå'),
(23, 18, N'Æåâàòåëüíàÿ ðåçèíêà');
SET IDENTITY_INSERT [Tables].[product_types] OFF;
SET IDENTITY_INSERT [Tables].[attributes] ON;
INSERT INTO [Tables].[attributes]([id], [name])
VALUES
(1, 'Article number'),
(2, 'Date of manufacture'),
(3, 'Expiration date'),
(4, 'Unit');
SET IDENTITY_INSERT [Tables].[attributes] OFF;
SET IDENTITY_INSERT [Tables].[products] ON;
INSERT INTO [Tables].[products] ([id], [barcode], [name], [product_type_id])
VALUES(1, 1111111111111, N'Hobby World Êàðòî÷íàÿ èãðà Óæàñ Àðêõýìà', 9),
(2, 2222222222222, N'Æåâàòåëüíàÿ ðåçèíêà Orbit Mega Êëóáíèêà, áåç ñàõàðà, 16,4 ã', 23),
(3, 3333333333333, N'Æåâàòåëüíàÿ ðåçèíêà Mentos Pure White âêóñ Êëóáíèêà, 15,5 ã', 23);
SET IDENTITY_INSERT [Tables].[products] OFF;
INSERT INTO [Tables].[product_attributes] ([product_id], [attribute_id])
VALUES (2, 2), (2, 3), (3, 2), (3, 3);
INSERT INTO [Tables].[product_values] ([product_id], [attribute_id], [value])
-- Äàòà èçãîòîâëåíèÿ; ñðîê ãîäíîñòè
VALUES (2, 2, N'1900-01-01'), (2, 3, N'3650'), (3, 2, N'1900-01-01'), (3, 3, N'30');
SET IDENTITY_INSERT [Tables].[suppliers] ON;
INSERT INTO [Tables].[suppliers]([id], [name], [telephone_number], [address])
VALUES
(1, N'First supplier', N'First telephone number', N'First address'),
(2, N'Second supplier', N'Second telephone number', N'Second address'),
(3, N'Thied supplier', N'Third telephone number', N'Third address');
SET IDENTITY_INSERT [Tables].[suppliers] OFF;
SET IDENTITY_INSERT [Tables].[product_inflow_records] ON;
INSERT INTO [Tables].[product_inflow_records] ([id], [product_id], [barcode], [supplier_id], [count], [full_price], [datetime])
VALUES
(1, 1, 1111111111111, 1, 5, 10, N'1900-01-01'),
(2, 1, 1111111111111, 2, 5, 5, N'1900-01-01'),
(3, 2, 2222222222222, 3, 5, 10, N'1900-01-01');
SET IDENTITY_INSERT [Tables].[product_inflow_records] OFF;
SET IDENTITY_INSERT [Tables].[product_outflow_records] ON;
INSERT INTO [Tables].[product_outflow_records] ([id], [product_id], [barcode], [count], [datetime])
VALUES
(2, 1, 1111111111111, 2, N'1900-01-01'),
(3, 1, 1111111111111, 3, N'1900-01-02')
SET IDENTITY_INSERT [Tables].[product_outflow_records] OFF;
SET IDENTITY_INSERT [Tables].[write_off_reasons] ON;
INSERT INTO [Tables].[write_off_reasons]([id], [name])
VALUES
(1, N'Âûøåë ñðîê ãîäíîñòè'),
(2, N'Áðàê ïðîäóêöèè');
SET IDENTITY_INSERT [Tables].[write_off_reasons] OFF;
SET IDENTITY_INSERT [Tables].[product_write_off_records] ON;
INSERT INTO [Tables].[product_write_off_records] ([id], [product_id], [barcode], [reason_id], [count], [datetime])
VALUES
(1, 1, 1111111111111, 2, 2, N'1900-01-03')
SET IDENTITY_INSERT [Tables].[product_write_off_records] OFF;
@@ -0,0 +1,8 @@
USE [Database]
-- Äîïîëíèòåëüíàÿ ïåðåìåííàÿ, íåîáõîäèìàÿ äëÿ îòñëåæèâàíèÿ
-- ïîñëäíåãî ñãåíåðèðîâàííîãî çíà÷åíèÿ áàðêîäà
SET IDENTITY_INSERT [Tables].[additional_variables] ON;
INSERT INTO [Tables].[additional_variables]([id], [name], [value])
VALUES(1, N'last_barcode', N'-1');
SET IDENTITY_INSERT [Tables].[additional_variables] OFF;
@@ -0,0 +1,12 @@
USE [Database]
-- Ñòàíäàðòíûå àòðèáóòû òîâàðîâ, êîòîðûå áóäóò èñïîëüçîâàòüñÿ
-- â òåñòèðîâàíèè íà îñíîâå èññëåäîâàíèé ïðåäìåòíîé îáëàñòè
SET IDENTITY_INSERT [Tables].[attributes] ON;
INSERT INTO [Tables].[attributes]([id], [name])
VALUES
(1, 'Article number'),
(2, 'Barcode'),
(3, 'Date of manufacture'),
(4, 'Expiration date');
SET IDENTITY_INSERT [Tables].[attributes] OFF;
@@ -0,0 +1,65 @@
USE [Database]
DECLARE
@article_number_attribute_id AS INT,
@barcode_attribute_id AS INT,
@date_of_manufacture_attribute_id AS INT,
@expiration_date_attribute_id AS INT;
SET @article_number_attribute_id =
(SELECT [id]
FROM [Tables].[attributes]
WHERE [name] = N'Article number');
SET @barcode_attribute_id =
(SELECT [id]
FROM [Tables].[attributes]
WHERE [name] = N'Barcode');
SET @date_of_manufacture_attribute_id =
(SELECT [id]
FROM [Tables].[attributes]
WHERE [name] = N'Date of manufacture');
SET @expiration_date_attribute_id =
(SELECT [id]
FROM [Tables].[attributes]
WHERE [name] = N'Expiration date');
DECLARE
@product_id_1 AS INT,
@product_id_2 AS INT,
@product_id_3 AS INT,
@product_id_4 AS INT;
EXECUTE [Procedures].[insert_product]
@name = N'Hobby World Êàðòî÷íàÿ èãðà Óæàñ Àðêõýìà',
@product_type_id = 9, -- Íàñòîëüíûå èãðû
@barcode_attribute_id = @barcode_attribute_id,
@inserted_product_id = @product_id_1 OUTPUT;
EXECUTE [Procedures].[insert_product]
@name = N'Æåâàòåëüíàÿ ðåçèíêà Orbit Mega Êëóáíèêà, áåç ñàõàðà, 16,4 ã',
@product_type_id = 23, -- Æåâàòåëüíàÿ ðåçèíêà
@barcode_attribute_id = @barcode_attribute_id,
@inserted_product_id = @product_id_2 OUTPUT;
EXECUTE [Procedures].[insert_product]
@name = N'Æåâàòåëüíàÿ ðåçèíêà Mentos Pure White âêóñ Êëóáíèêà, 15,5 ã',
@product_type_id = 23, -- Æåâàòåëüíàÿ ðåçèíêà
@barcode_attribute_id = @barcode_attribute_id,
@inserted_product_id = @product_id_3 OUTPUT;
EXECUTE [Procedures].[insert_product]
@name = N'Ïå÷åíüå Oreo, ñ êàêàî è íà÷èíêîé ñî âêóñîì êëóáíèêè, 228 ã',
@product_type_id = 22, -- Ïå÷åíüå
@barcode_attribute_id = @barcode_attribute_id,
@inserted_product_id = @product_id_4 OUTPUT;
INSERT INTO [Tables].[product_attributes]([product_id], [attribute_id])
VALUES
(@product_id_2, 3),
(@product_id_2, 4),
(@product_id_3, 3),
(@product_id_3, 4);
INSERT INTO [Tables].[product_values]([product_id], [attribute_id], [value])
VALUES
(2, 3, N'1900-01-01'), -- Äàòà èçãîòîâëåíèÿ
(2, 4, N'3650'), -- Ñðîê ãîäíîñòè
(3, 3, N'1900-01-01'),
(3, 4, N'30');