package siprp.update.updates;

import com.evolute.module.updater.AbstractUpdate;
import com.evolute.utils.db.Executer;

/**
 *
 * @author fpalma
 */
public class V9_9_To_V10_0 extends AbstractUpdate
{
	
	public V9_9_To_V10_0()
	{
		super(9.9,10.0,"extensao da definicao de 'relatorio de higiene e seguranca'");
	}
	
	@Override
	public void doUpdate()
		throws Exception
	{
		Executer executer = getExecuter();
		com.evolute.utils.sql.Update update = 
			new com.evolute.utils.sql.Update(
				"create table hs_relatorio_legislacao( " +
				"	hs_relatorio_id int4 REFERENCES hs_relatorio(id), " +
				"	hs_legislacao_id int4 REFERENCES hs_legislacao(id), " +
				"	CONSTRAINT hs_relatorio_legislacao_pkey PRIMARY KEY (hs_relatorio_id,hs_legislacao_id) " +
				"); " +
				"create table hs_relatorio_normalizacao( " +
				"	hs_relatorio_id int4 REFERENCES hs_relatorio(id), " +
				"	hs_normalizacao_id int4 REFERENCES hs_normalizacao(id), " +
				"	CONSTRAINT hs_relatorio_normalizacao_pkey PRIMARY KEY (hs_relatorio_id,hs_normalizacao_id) " +
				"); " +
				"create table hs_relatorio_equipamento_medico( " +
				"	hs_relatorio_id int4 REFERENCES hs_relatorio(id), " +
				"	hs_equipamento_medico_id int4 REFERENCES hs_equipamento_medico(id), " +
				"	CONSTRAINT hs_relatorio_equipamento_medico_pkey PRIMARY KEY (hs_relatorio_id,hs_equipamento_medico_id) " +
				"); " +
				"alter table hs_relatorio add column avaliacao_inicial boolean; " +
				"alter table hs_relatorio add column acompanhante1 varchar(256); " +
				"alter table hs_relatorio add column funcao_acompanhante1 varchar(128); " +
				"alter table hs_relatorio add column acompanhante2 varchar(256); " +
				"alter table hs_relatorio add column funcao_acompanhante2 varchar(128); " +
				"alter table hs_relatorio add column acompanhante3 varchar(256); " +
				"alter table hs_relatorio add column funcao_acompanhante3 varchar(128);" +
				"alter table hs_relatorio_area add column relatorio_id int4 REFERENCES hs_relatorio(id) NOT NULL; " + 
				"alter table hs_posto_medida drop column is_plano_actuacao;" +
				"alter table hs_relatorio_posto_medida add column is_plano_actuacao boolean; "
		);
		executer.executeQuery( update );
	}
	
}
