SET NAMES utf8mb4;

CREATE TABLE IF NOT EXISTS ssm_risk_library (
    id INT AUTO_INCREMENT PRIMARY KEY,
    position_group VARCHAR(100) NOT NULL,
    category VARCHAR(100) NOT NULL,
    risk_name VARCHAR(255) NOT NULL,
    hazard_source TEXT NULL,
    default_probability TINYINT NOT NULL DEFAULT 1,
    default_severity TINYINT NOT NULL DEFAULT 1,
    recommended_controls TEXT NULL,
    active TINYINT(1) NOT NULL DEFAULT 1,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    KEY idx_ssm_risk_library_position(position_group),
    KEY idx_ssm_risk_library_category(category)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO ssm_risk_library
(position_group,category,risk_name,hazard_source,default_probability,default_severity,recommended_controls)
VALUES
('Secretară','Ergonomic','Poziție statică prelungită la birou','Lucrul prelungit la calculator și mobilier neadaptat',3,2,'Pauze periodice; scaun ergonomic; monitor reglat; instruire ergonomică'),
('Secretară','Electric','Electrocutare la utilizarea echipamentelor de birou','Cabluri sau echipamente electrice defecte',1,4,'Verificări periodice; prize cu împământare; interzicerea improvizațiilor'),
('Secretară','Psihosocial','Stres profesional și suprasolicitare','Volum ridicat de muncă și termene scurte',3,2,'Planificarea activităților; pauze; distribuirea sarcinilor'),
('Mecanic auto','Mecanic','Strivire sau lovire de vehicul','Ridicător auto, cric sau vehicul neasigurat',3,5,'Blocare mecanică; verificare ridicător; cale roți; zonă delimitată'),
('Mecanic auto','Chimic','Contact cu uleiuri, combustibili și solvenți','Manipularea produselor petroliere și chimice',4,3,'Mănuși; ochelari; ventilație; fișe SDS; colectare controlată'),
('Mecanic auto','Incendiu','Incendiu sau explozie','Combustibili, vapori inflamabili, lucrări cu scântei',2,5,'Stingătoare; eliminarea surselor de aprindere; ventilație; permis de lucru'),
('Mecanic auto','Zgomot','Expunere la zgomot și vibrații','Scule pneumatice și electrice',4,2,'Protecție auditivă; întreținere scule; limitarea expunerii'),
('Gestionar','Manipulare','Suprasolicitare musculo-scheletică','Ridicare și transport manual de piese',4,3,'Cărucioare; instruire manipulare; limitarea greutății; lucru în echipă'),
('Gestionar','Cădere','Cădere de obiecte de pe rafturi','Depozitare incorectă sau rafturi suprasolicitate',3,4,'Fixare rafturi; sarcini maxime; obiecte grele jos; cască unde este necesar'),
('Vânzător','Ergonomic','Ortostatism prelungit','Activitate îndelungată în picioare',3,2,'Alternarea poziției; covor ergonomic; pauze'),
('Vânzător','Agresiune','Agresiune verbală sau fizică','Interacțiunea cu clienți conflictuali',2,4,'Procedură conflict; buton panică; instruire; supraveghere video'),
('Șofer','Rutier','Accident rutier','Deplasarea în trafic și condiții meteo nefavorabile',3,5,'Conducere defensivă; verificare vehicul; respectarea timpilor; centură'),
('Șofer','Ergonomic','Afecțiuni lombare','Ședere prelungită și vibrații',4,3,'Reglarea scaunului; pauze; exerciții; limitarea expunerii'),
('Director','Psihosocial','Stres decizional','Responsabilități multiple și presiune organizațională',3,3,'Delegare; planificare; pauze; evaluare periodică a volumului de muncă'),
('Director','Deplasare','Accident în timpul deplasărilor','Deplasări frecvente interne și externe',2,5,'Planificare traseu; conducere defensivă; evitarea oboselii');

CREATE TABLE IF NOT EXISTS service_diag_brands (
 id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(120) NOT NULL UNIQUE,country VARCHAR(100),notes TEXT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS service_diag_vehicles (
 id INT AUTO_INCREMENT PRIMARY KEY,brand_id INT NOT NULL,model VARCHAR(150) NOT NULL,generation VARCHAR(100),year_from INT,year_to INT,platform_code VARCHAR(60),notes TEXT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY(brand_id) REFERENCES service_diag_brands(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS service_diag_engines (
 id INT AUTO_INCREMENT PRIMARY KEY,brand_id INT NULL,engine_code VARCHAR(80) NOT NULL,description VARCHAR(255),fuel_type VARCHAR(30),displacement_cc INT,power_kw INT,power_hp INT,years VARCHAR(100),notes TEXT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY(brand_id) REFERENCES service_diag_brands(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS service_diag_knowhow (
 id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,category VARCHAR(100),brand_id INT NULL,vehicle_id INT NULL,engine_id INT NULL,symptoms TEXT,diagnosis TEXT,solution LONGTEXT,tools_required TEXT,file_path VARCHAR(500),keywords VARCHAR(500),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY(brand_id) REFERENCES service_diag_brands(id) ON DELETE SET NULL,FOREIGN KEY(vehicle_id) REFERENCES service_diag_vehicles(id) ON DELETE SET NULL,FOREIGN KEY(engine_id) REFERENCES service_diag_engines(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS service_diag_manuals (
 id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,manual_type VARCHAR(50),brand_id INT NULL,vehicle_id INT NULL,engine_id INT NULL,language VARCHAR(30),description TEXT,file_path VARCHAR(500),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY(brand_id) REFERENCES service_diag_brands(id) ON DELETE SET NULL,FOREIGN KEY(vehicle_id) REFERENCES service_diag_vehicles(id) ON DELETE SET NULL,FOREIGN KEY(engine_id) REFERENCES service_diag_engines(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS service_diag_wiring (
 id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,system_name VARCHAR(150),brand_id INT NULL,vehicle_id INT NULL,engine_id INT NULL,description TEXT,file_path VARCHAR(500),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY(brand_id) REFERENCES service_diag_brands(id) ON DELETE SET NULL,FOREIGN KEY(vehicle_id) REFERENCES service_diag_vehicles(id) ON DELETE SET NULL,FOREIGN KEY(engine_id) REFERENCES service_diag_engines(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS service_diag_dtc (
 id INT AUTO_INCREMENT PRIMARY KEY,code VARCHAR(30) NOT NULL,system_name VARCHAR(150),brand_id INT NULL,description TEXT NOT NULL,possible_causes LONGTEXT,diagnostic_steps LONGTEXT,repair_notes LONGTEXT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,KEY idx_service_diag_dtc_code(code),FOREIGN KEY(brand_id) REFERENCES service_diag_brands(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS service_diag_vcds_codes (
 id INT AUTO_INCREMENT PRIMARY KEY,brand_id INT NULL,control_module VARCHAR(150) NOT NULL,security_code VARCHAR(50) NOT NULL,description TEXT,procedure_text LONGTEXT,notes TEXT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY(brand_id) REFERENCES service_diag_brands(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS service_diag_procedures (
 id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,category VARCHAR(100),brand_id INT NULL,vehicle_id INT NULL,engine_id INT NULL,difficulty VARCHAR(30),estimated_minutes INT,steps LONGTEXT,warnings TEXT,file_path VARCHAR(500),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY(brand_id) REFERENCES service_diag_brands(id) ON DELETE SET NULL,FOREIGN KEY(vehicle_id) REFERENCES service_diag_vehicles(id) ON DELETE SET NULL,FOREIGN KEY(engine_id) REFERENCES service_diag_engines(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS service_diag_cases (
 id INT AUTO_INCREMENT PRIMARY KEY,reference VARCHAR(80) NOT NULL,case_date DATE,client_name VARCHAR(190) NOT NULL,vehicle_plate VARCHAR(30),vehicle_vin VARCHAR(17),vehicle_description VARCHAR(255),mileage INT,complaint TEXT,dtc_codes TEXT,tests_performed LONGTEXT,diagnosis LONGTEXT,recommendation LONGTEXT,technician_name VARCHAR(190),file_path VARCHAR(500),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,KEY idx_service_diag_cases_reference(reference),KEY idx_service_diag_cases_vin(vehicle_vin)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
