Projet

Général

Profil

US #1196 » add_matricule_reports.sql

ahlem belgacem, 18/11/2025 16:59

 
1
-- 1️ Add 'matricule'
2

    
3
use salarymarket;
4
ALTER TABLE solution_reports_config_gaps MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
5
ALTER TABLE solution_report_criterias MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
6
ALTER TABLE solution_report_criterias_config MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
7
ALTER TABLE solution_report_charts MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
8
ALTER TABLE solution_report_criterias_charts MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
9
ALTER TABLE company_reports MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
10

    
11

    
12
-- 2️ INSERTS WITH category = 'matricule'
13
-- solution_reports_config_gaps
14
INSERT INTO solution_reports_config_gaps (subscription_code, category, gap) VALUES 
15
('advanced', 'matricule', true),
16
('on_the_menu', 'matricule', true);
17

    
18
-- solution_report_criterias
19
INSERT INTO solution_report_criterias (subscription_code, category, report_criterias) VALUES
20
-- On The Menu / matricule
21
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade'),
22

    
23
-- Advanced / matricule
24
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade');
25

    
26
-- solution_report_criterias_config
27
INSERT INTO solution_report_criterias_config 
28
  (subscription_code, category, report_criterias, criteria) 
29
VALUES
30
-- On The Menu / matricule
31
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'function_code'),
32
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'subfunction_code'),
33
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'collaborative_path'),
34
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'grade'),
35

    
36
-- Advanced / matricule
37
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'function_code'),
38
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'subfunction_code'),
39
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'collaborative_path'),
40
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'grade');
41

    
42
-- solution_report_charts
43
INSERT INTO solution_report_charts (subscription_code, category, report_chart) VALUES
44
-- On The Menu / matricule
45
('on_the_menu', 'matricule', 'gap_general'),
46
('on_the_menu', 'matricule', 'general_internal_gap_fixed'),
47

    
48
-- Advanced / matricule
49
('advanced', 'matricule', 'gap_general'),
50
('advanced', 'matricule', 'general_internal_gap_fixed');
51

    
52
-- solution_report_criterias_charts
53
INSERT INTO solution_report_criterias_charts 
54
(subscription_code, category, report_criterias, criteria) VALUES
55
-- On The Menu / matricule
56
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'repartition_gap'),
57
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bf'),
58
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bt'),
59

    
60
-- Advanced / matricule  
61
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','repartition_gap'),
62
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','repartition_data_bf'),
63
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','repartition_data_bt');
64

    
65
-- ===============================================
66
-- 6️: solution_report_colunum_associe_condition + solution_report_display_columns
67
-- ===============================================
68

    
69
CREATE TABLE solution_report_colunum_associe_condition (
70
  id INT AUTO_INCREMENT PRIMARY KEY,
71
  subscription_code VARCHAR(255) NOT NULL,
72
  category ENUM('market', 'personalized', 'matricule') NOT NULL,
73
  report_criterias VARCHAR(255) NOT NULL,
74
  column_name VARCHAR(255) NOT NULL,
75
  createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
76
  updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
77
  FOREIGN KEY (subscription_code, category, report_criterias)
78
    REFERENCES solution_report_criterias_config(subscription_code, category, report_criterias)
79
    ON DELETE CASCADE
80
    ON UPDATE CASCADE
81
);
82

    
83

    
84
CREATE TABLE solution_report_colunum_other_display (
85
  id INT AUTO_INCREMENT PRIMARY KEY,
86
  subscription_code VARCHAR(255) NOT NULL,
87
  category ENUM('market', 'personalized', 'matricule') NOT NULL,
88
  report_criterias VARCHAR(255) NOT NULL,
89
  column_name VARCHAR(255) NOT NULL,
90
  createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
91
  updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
92

    
93
  FOREIGN KEY (subscription_code, category, report_criterias)
94
    REFERENCES solution_report_criterias_config(subscription_code, category, report_criterias)
95
    ON DELETE CASCADE
96
    ON UPDATE CASCADE
97
);
98

    
99
INSERT into  solution_report_colunum_associe_condition (subscription_code, category,report_criterias,column_name) VALUES
100
-- for department
101
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade','matricule'),
102
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','matricule');
103

    
104
INSERT INTO solution_report_colunum_other_display (subscription_code, category,report_criterias,column_name) VALUES
105

    
106
-- for department
107
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade','department'),
108
-- for function
109
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade',  'function');
110

    
111
INSERT INTO solution_report_colunum_other_display (subscription_code, category,report_criterias, column_name) VALUES
112
-- Advanced / matricule
113
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','department'),
114
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','function');
115

    
116
-- add  
117
ALTER TABLE solution_report_criterias_config
118
ADD COLUMN best_matching BOOLEAN DEFAULT FALSE;
119

    
120
UPDATE solution_report_criterias_config
121
SET best_matching = TRUE
122
WHERE (subscription_code = 'advanced' AND category = 'matricule')
123
   OR (subscription_code = 'on_the_menu' AND category = 'matricule');
124

    
    (1-1/1)