-- =====================================================================
--  ALTALYS PROTECTION — Main courante, prise de service et rondes
--  Import via phpMyAdmin > base moso8599_altalys > Importer
--  Sans risque : n'efface aucune donnée existante.
-- =====================================================================
SET NAMES utf8mb4;

-- ---------------------------------------------------------------------
-- MAIN COURANTE — écritures scellées (chaînage cryptographique)
--   Chaque écriture porte l'empreinte de la précédente : toute
--   modification ou suppression a posteriori rompt la chaîne et devient
--   détectable. C'est le « coffre-fort de preuves ».
-- ---------------------------------------------------------------------
ALTER TABLE `main_courante`
  ADD COLUMN `auteur`      VARCHAR(120) NULL AFTER `agent_id`,
  ADD COLUMN `site_nom`    VARCHAR(160) NULL AFTER `site_id`,
  ADD COLUMN `empreinte`   CHAR(64) NULL,
  ADD COLUMN `empreinte_precedente` CHAR(64) NULL,
  ADD COLUMN `numero`      BIGINT UNSIGNED NULL,
  ADD KEY `idx_num` (`site_id`,`numero`);

-- ---------------------------------------------------------------------
-- PRISE DE SERVICE — complément
-- ---------------------------------------------------------------------
ALTER TABLE `pointages`
  ADD COLUMN `vacation_id` BIGINT UNSIGNED NULL AFTER `site_id`,
  ADD COLUMN `auteur`      VARCHAR(120) NULL,
  ADD COLUMN `remarque`    VARCHAR(255) NULL;

-- ---------------------------------------------------------------------
-- POINTS DE CONTRÔLE — complément (libellé du QR, consigne)
-- ---------------------------------------------------------------------
ALTER TABLE `points_controle`
  ADD COLUMN `consigne` VARCHAR(255) NULL,
  ADD COLUMN `actif`    TINYINT(1) NOT NULL DEFAULT 1;

-- ---------------------------------------------------------------------
-- TYPES D'ÉVÉNEMENTS de la main courante (modifiables)
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `mce_types` (
  `id`      BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `code`    VARCHAR(40) NOT NULL,
  `libelle` VARCHAR(120) NOT NULL,
  `icone`   VARCHAR(10) NULL,
  `gravite` ENUM('info','normal','important','critique') NOT NULL DEFAULT 'normal',
  `ordre`   INT NOT NULL DEFAULT 0,
  `actif`   TINYINT(1) NOT NULL DEFAULT 1,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `mce_types` (`code`,`libelle`,`icone`,`gravite`,`ordre`) VALUES
 ('prise_service','Prise de service','🟢','info',1),
 ('fin_service','Fin de service','🔴','info',2),
 ('ronde','Ronde effectuée','🧭','info',3),
 ('controle_acces','Contrôle d''accès','🚧','normal',4),
 ('visiteur','Visiteur / entreprise extérieure','👤','normal',5),
 ('livraison','Livraison','📦','normal',6),
 ('anomalie','Anomalie constatée','⚠','important',7),
 ('incident','Incident','❗','critique',8),
 ('intrusion','Intrusion / tentative','🚨','critique',9),
 ('alarme','Déclenchement d''alarme','🔔','critique',10),
 ('degradation','Dégradation / vol','🔨','important',11),
 ('secours','Intervention secours / pompiers','🚑','critique',12),
 ('consigne','Consigne reçue','📋','info',13),
 ('remise_cles','Remise de clés','🔑','normal',14),
 ('divers','Divers','📝','info',20)
ON DUPLICATE KEY UPDATE `libelle`=VALUES(`libelle`);

-- ---------------------------------------------------------------------
-- Paramètres
-- ---------------------------------------------------------------------
INSERT INTO `parametres` (`cle`,`valeur`) VALUES
 ('mce_photo_max_ko','1200'),
 ('ronde_tolerance_m','150')
ON DUPLICATE KEY UPDATE `cle`=`cle`;
