Projet

Général

Profil

US #920 » new script report (Create).sql

Anonyme, 03/03/2025 10:03

 
1
use socle ;
2

    
3
CREATE TABLE company_reports (
4
id INT AUTO_INCREMENT PRIMARY KEY,
5
title VARCHAR(255) NOT NULL,
6
description TEXT,
7
report_type VARCHAR(20) NULL,
8
companyId INT NOT NULL,
9
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
10
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
11
FOREIGN KEY (companyId) REFERENCES company(id) ON DELETE CASCADE ON UPDATE CASCADE
12
); 
13

    
14
CREATE TABLE company_reports_details (
15
id INT AUTO_INCREMENT PRIMARY KEY,
16
reportId INT NOT NULL,
17
request JSON NULL,   
18
response_table JSON NULL, 
19
response_chart JSON NULL,   
20
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
21
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
22
FOREIGN KEY (reportId) REFERENCES company_reports(id) ON DELETE CASCADE ON UPDATE CASCADE
23
);
24

    
25
CREATE TABLE solution_report_subscription (
26
id INT AUTO_INCREMENT UNIQUE,
27
report_code VARCHAR(255) PRIMARY KEY,
28
subscription_code VARCHAR(255),   
29
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
30
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
31
FOREIGN KEY (subscription_code) REFERENCES solution_subscription(subscription_code) ON DELETE CASCADE ON UPDATE CASCADE
32
);
33

    
34
INSERT INTO solution_report_subscription (report_code, subscription_code) VALUES
35
-- Compensation
36
('report_essential_1', 'essential'),
37
('report_on_the_menu_1', 'on_the_menu'),
38
('report_advanced_1', 'advanced');
39

    
40
CREATE TABLE solution_report_group (
41
id INT AUTO_INCREMENT UNIQUE,
42
report_code VARCHAR(255) NOT NULL,
43
subscription VARCHAR(255) NOT NULL,   
44
report_groupe VARCHAR(255) PRIMARY KEY,   
45
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
46
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
47
FOREIGN KEY (report_code) REFERENCES solution_report_subscription(report_code) ON DELETE CASCADE ON UPDATE CASCADE
48
);
49

    
50
INSERT INTO solution_report_group (report_code, subscription, report_groupe) VALUES
51
-- Essential
52
('report_essential_1', 'essential', 'essential_1-grade'),
53
('report_essential_1', 'essential', 'essential_1-collaborative_path'),
54
('report_essential_1', 'essential', 'essential_1-function_code-subfunction_code-collaborative_path'),
55
('report_essential_1', 'essential', 'essential_1-function_code-subfunction_code-collaborative_path_grade'),
56

    
57
-- On The Menu
58
('report_on_the_menu_1', 'on_the_menu', 'on_the_menu_1-function_code-subfunction_code'),   
59
('report_on_the_menu_1', 'on_the_menu', 'on_the_menu_1-function_code-subfunction_code-collaborative_path'),
60
('report_on_the_menu_1', 'on_the_menu', 'on_the_menu_1-collaborative_path'),
61
('report_on_the_menu_1' , 'on_the_menu',   'on_the_menu_1-function_code-subfunction_code-collaborative_path-grade'),
62

    
63
-- Advanced
64
('report_advanced_1', 'advanced', 'advanced_1-function_code-subfunction_code'),   
65
('report_advanced_1', 'advanced', 'advanced_1-function_code-subfunction_code-collaborative_path'),
66
('report_advanced_1', 'advanced', 'advanced_1-collaborative_path'),
67
('report_advanced_1' , 'advanced',   'advanced_1-function_code-subfunction_code-collaborative_path-grade');
68

    
69
CREATE TABLE solution_report_group_config (
70
id INT AUTO_INCREMENT PRIMARY KEY,
71
report_groupe VARCHAR(255) NOT NULL,   
72
criteria VARCHAR(255) NOT NULL,   
73
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
74
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
75
FOREIGN KEY (report_groupe) REFERENCES solution_report_group(report_groupe) ON DELETE CASCADE ON UPDATE CASCADE
76
);
77

    
78
INSERT INTO solution_report_group_config (report_groupe, criteria) VALUES
79
-- Essential
80
('essential_1-grade', 'grade'),
81
('essential_1-collaborative_path', 'collaborative_path'),
82
('essential_1-function_code-subfunction_code-collaborative_path', 'function_code'),
83
('essential_1-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
84
('essential_1-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
85
('essential_1-function_code-subfunction_code-collaborative_path_grade', 'function_code'),
86
('essential_1-function_code-subfunction_code-collaborative_path_grade', 'subfunction_code'),
87
('essential_1-function_code-subfunction_code-collaborative_path_grade', 'collaborative_path'),
88
('essential_1-function_code-subfunction_code-collaborative_path_grade', 'grade'),
89

    
90
-- On The Menu
91
('on_the_menu_1-function_code-subfunction_code', 'function_code'),   
92
('on_the_menu_1-function_code-subfunction_code', 'subfunction_code'),   
93
('on_the_menu_1-function_code-subfunction_code-collaborative_path', 'function_code'),
94
('on_the_menu_1-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
95
('on_the_menu_1-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
96
('on_the_menu_1-collaborative_path', 'collaborative_path'),
97
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade' , 'function_code'),
98
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade' , 'subfunction_code'),
99
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade' , 'collaborative_path'),
100
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade' , 'grade'),
101

    
102
-- Advanced
103
('advanced_1-function_code-subfunction_code', 'function_code'),   
104
('advanced_1-function_code-subfunction_code', 'subfunction_code'),   
105
('advanced_1-function_code-subfunction_code-collaborative_path', 'function_code'),
106
('advanced_1-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
107
('advanced_1-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
108
('advanced_1-collaborative_path', 'collaborative_path'),
109
('advanced_1-function_code-subfunction_code-collaborative_path-grade' , 'function_code'),
110
('advanced_1-function_code-subfunction_code-collaborative_path-grade' , 'subfunction_code'),
111
('advanced_1-function_code-subfunction_code-collaborative_path-grade' , 'collaborative_path'),
112
('advanced_1-function_code-subfunction_code-collaborative_path-grade' , 'grade')
(4-4/4)