use database;

set foreign_key_checks=0;

ALTER TABLE `configurations` ADD `aff_par_defaut` SMALLINT NOT NULL DEFAULT '20';

ALTER TABLE `materiels` ADD `nom_gestionnaire` VARCHAR( 45 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `email_responsable` ;

ALTER TABLE `configurations` CHANGE `envoi_mail_management_dev` `envoi_mail` TINYINT( 1 ) NOT NULL DEFAULT '0';


-- -------------------------------------------------------------------------------------------------------------
-- 05/06/2017
-- MODIF FOURNISSEURS (id au lieu de nom, avec recup de l existant)
--

CREATE TABLE IF NOT EXISTS `fournisseurs` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `nom` VARCHAR(45) NULL,
 unique(nom),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

insert into fournisseurs (nom)
select distinct fournisseur from materiels 
where fournisseur != ''
ORDER BY `materiels`.`fournisseur` ASC;

alter table materiels
add column fournisseur_id INT NULL DEFAULT NULL;

update materiels
set fournisseur_id = (select id from fournisseurs where nom = materiels.fournisseur);

alter table materiels
drop column fournisseur;


-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  MODIF TABLE CONFIGURATIONS
-- Structure de la table `configurations`
--

ALTER TABLE `configurations` 
ADD COLUMN `metrologie` TINYINT(1) NULL DEFAULT '0' AFTER `taille_max_doc`;

-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  MODIF TABLE MATERIELS 
-- Structure de la table `materiels`
--

ALTER TABLE `materiels` 
ADD COLUMN `metrologie` TINYINT(1) NULL DEFAULT '0' AFTER `photo_id`;

-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT TABLE UNITES
-- Structure de la table `unites`
--
  
CREATE TABLE IF NOT EXISTS `unites` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `nom` VARCHAR(45) NULL,
  `symbole` VARCHAR(45) NULL,
  PRIMARY KEY (`id`));

-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT TABLE MESURES
-- Structure de la table `mesures`
--

CREATE TABLE IF NOT EXISTS `mesures` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `fichemetrologique_id` INT NOT NULL,
  `valeur` DOUBLE NULL,
  `erreur` DOUBLE NULL,
  PRIMARY KEY (`id`));
  
-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT TABLE FORMULES
-- Structure de la table `formules`
--

CREATE TABLE IF NOT EXISTS `formules` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `nommesure` VARCHAR(100) NULL DEFAULT NULL,
  `symbole` VARCHAR(45) NULL DEFAULT 'F',
  `unite` VARCHAR(45) NULL DEFAULT NULL,
  `nbVariable` INT(11) NULL DEFAULT NULL,
  `formule` VARCHAR(200) NULL DEFAULT 'F',
  PRIMARY KEY (`id`));

-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT TABLE VARIABLES
-- Structure de la table `variables`
--

CREATE TABLE IF NOT EXISTS `variables` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `formule_id` INT(11) NULL DEFAULT NULL,
  `symbolegrandeurphysique` VARCHAR(45) NULL DEFAULT NULL,
  `symboleunitemesure` VARCHAR(45) NULL DEFAULT NULL,
  `nomgrandeurphysique` VARCHAR(45) NULL DEFAULT NULL,
  `domainedef` VARCHAR(45) NULL DEFAULT NULL,
  `derivepartielle` VARCHAR(100) NULL DEFAULT 'F',
  PRIMARY KEY (`id`));
  
-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  MODIF TABLE USERS
-- Structure de la table `users`
--  
  
ALTER TABLE `users` 
ADD COLUMN `sur_categorie_id` INT(11) NULL AFTER `groupe_thematique_id`;

-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT TABLE FICHEMETROLOGIQUES
-- Structure de la table `fichemetrologiques`
--  

CREATE TABLE IF NOT EXISTS `fichemetrologiques` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `suivi_id` int(11) NOT NULL,
  `mesurande` double DEFAULT NULL,
  `moyenne` double DEFAULT NULL,
  `ecarttype` double DEFAULT NULL,
  `correction` double DEFAULT NULL,
  `ua` double DEFAULT NULL,
  `ub` double DEFAULT NULL,
  `uc` double DEFAULT NULL,
  `uf` double DEFAULT NULL,
  `u` double DEFAULT NULL,
  `incertitude` double DEFAULT NULL,
  `conditionEnv` double DEFAULT NULL,
  `resolution` varchar(45) DEFAULT NULL,
  `etatmateriel` varchar(45) DEFAULT NULL,
  `etatmetrologique` varchar(45) DEFAULT NULL,
  `emtpersonnel` double DEFAULT NULL,
  `nbMesure` int(11) DEFAULT NULL,
  `conformeEMTstandart` varchar(100) DEFAULT NULL,
  `conformeEMTperso` varchar(100) DEFAULT NULL,
  `resultatfinal` varchar(100) DEFAULT NULL,
  `observation` varchar(200) DEFAULT NULL,
  `datefiche` date DEFAULT NULL,
  `retard` varchar(45) DEFAULT 'RAS',
  `justesse` double DEFAULT NULL,
  PRIMARY KEY (`id`)
);
  
  
-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  MODIF TABLE SUIVIS
-- Structure de la table `suivis`
--   
  
ALTER TABLE `suivis` 
ADD COLUMN `unite_id` INT(11) NULL DEFAULT NULL AFTER `modified`,
ADD COLUMN `plage_debut` DOUBLE NULL DEFAULT NULL AFTER `unite_id`,
ADD COLUMN `plage_fin` DOUBLE NULL DEFAULT NULL AFTER `plage_debut`,
ADD COLUMN `resolution` DOUBLE NULL DEFAULT NULL AFTER `plage_fin`,
ADD COLUMN `tolerance` DOUBLE NULL DEFAULT NULL AFTER `resolution`,
ADD COLUMN `sensibilite` DOUBLE NULL DEFAULT NULL AFTER `tolerance`,
ADD COLUMN `justesse` DOUBLE NULL DEFAULT NULL AFTER `sensibilite`,
ADD COLUMN `fidelite` DOUBLE NULL DEFAULT NULL AFTER `justesse`,
ADD COLUMN `typemesure` VARCHAR(45) NULL DEFAULT 'Direct' AFTER `fidelite`,
ADD COLUMN `emtstandart` DOUBLE NULL DEFAULT NULL AFTER `typemesure`,
ADD COLUMN `symbole` VARCHAR(45) NULL DEFAULT NULL AFTER `emtstandart`,
ADD COLUMN `nommesure` VARCHAR(45) NULL DEFAULT NULL AFTER `symbole`,
ADD COLUMN `valeurRef` DOUBLE NULL DEFAULT NULL AFTER `nommesure`,
ADD COLUMN `intitule` VARCHAR(100) NULL DEFAULT NULL AFTER `valeurRef`,
ADD COLUMN `conforme` VARCHAR(100) NULL DEFAULT NULL AFTER `intitule`,
ADD COLUMN `formule_id` INT(11) NULL DEFAULT NULL AFTER `conforme`;

-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
-- AJOUT LIAISON SUIVIS-UNITES
-- 
-- 
  
ALTER TABLE `suivis` 
ADD INDEX `fk_suivis_unite_id_idx` (`unite_id` ASC);
ALTER TABLE `suivis` 
ADD CONSTRAINT `fk_suivis_unite_id`
  FOREIGN KEY (`unite_id`)
  REFERENCES `unites` (`id`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;

-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT LIAISON FOURNISSEURS-MATERIELS
-- 
-- 
 ALTER TABLE `materiels` 
ADD CONSTRAINT `fk_materiels_fournisseurs_id`
  FOREIGN KEY (`fournisseur_id`)
  REFERENCES `fournisseurs` (`id`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION,
ADD INDEX `fk_materiels_fournisseurs_id_idx` (`fournisseur_id` ASC);


-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT LIAISON VARIABLES-FORMULES
-- 
-- 

 ALTER TABLE `variables` 
ADD INDEX `fk_variables_formule_id_idx` (`formule_id` ASC);
ALTER TABLE `variables` 
ADD CONSTRAINT `fk_variables_formule_id`
  FOREIGN KEY (`formule_id`)
  REFERENCES `formules` (`id`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;

  
-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT LIAISON MESURES-FICHEMETROLOGIQUES
-- 
-- 
 
ALTER TABLE `mesures` 
ADD INDEX `fk_mesures_fichemetrologique_id_idx` (`fichemetrologique_id` ASC);
ALTER TABLE `mesures` 
ADD CONSTRAINT `fk_mesures_fichemetrologique_id`
  FOREIGN KEY (`fichemetrologique_id`)
  REFERENCES `fichemetrologiques` (`id`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;


-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT LIAISON SUR_CATEGORIES-USERS
-- 
-- 

ALTER TABLE `users` 
ADD INDEX `fk_users_sur_categories_id_idx` (`sur_categorie_id` ASC);
ALTER TABLE `users` 
ADD CONSTRAINT `fk_users_sur_categories_id`
  FOREIGN KEY (`sur_categorie_id`)
  REFERENCES `sur_categories` (`id`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;


-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT LIAISON FICHEMETROLOGIQUES-SUIVIS
-- 
--

ALTER TABLE `fichemetrologiques` 
ADD INDEX `fk_fichemetrologique_suivi_id_idx` (`suivi_id` ASC);
ALTER TABLE `fichemetrologiques` 
ADD CONSTRAINT `fk_fichemetrologique_suivi_id`
  FOREIGN KEY (`suivi_id`)
  REFERENCES `suivis` (`id`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;

 
-- -------------------------------------------------------------------------------------------------------------
-- 23/05/2017
--  AJOUT LIAISON SUIVIS-FORMULES
-- 
--
 
ALTER TABLE `suivis` 
ADD INDEX `fk_suivis_formule_id_idx` (`formule_id` ASC);
ALTER TABLE `suivis` 
ADD CONSTRAINT `fk_suivis_formule_id`
  FOREIGN KEY (`formule_id`)
  REFERENCES `formules` (`id`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;



ALTER TABLE `materiels` CHANGE `nom_gestionnaire` `gestionnaire_id` INT( 11 ) NULL ;

ALTER TABLE `configurations` 
ADD `envoi_mail_guests` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `envoi_mail`,
ADD `procedure_sur_accueil` TINYINT( 1 ) NOT NULL DEFAULT '1',
CHANGE `date_commande_facultative` `date_commande_facultative` TINYINT(1) NULL DEFAULT '0', 
CHANGE `numero_labo_sans_annee` `numero_labo_sans_annee` TINYINT(1) NULL DEFAULT '0',
CHANGE `mode_install` `mode_install` TINYINT(1) NULL DEFAULT '1', 
CHANGE `mode_debug` `mode_debug` TINYINT(1) NULL DEFAULT '0', 
CHANGE `use_ldap` `use_ldap` TINYINT(1) NULL DEFAULT '0', 
CHANGE `hasPrinter` `hasPrinter` TINYINT(1) NULL DEFAULT '0', 
CHANGE `test` `test` TINYINT(1) NULL DEFAULT '0';

