SIGESA: ORACLE Agregar columna

  • Agregar columna

--*********************************************************************
-- MODIFICACIÓN TABLA: ACTIVIDAD_RESPUESTA_RIESGO
--*********************************************************************

-- ++++++++++++++++++++++++++++++++++
--PASO1: LIMPIAR TABLA: BITACORA_ARR
-- ++++++++++++++++++++++++++++++++++
TRUNCATE TABLE PPI.BITACORA_ARR;

-- ++++++++++++++++++++++++++++++++++
--PASO2: LIMPIAR TABLA DE ESTADOS
-- ++++++++++++++++++++++++++++++++++
TRUNCATE TABLE PPI.ESTADO_ARR;

-- ++++++++++++++++++++++++++++++++++
-- PASO3: REINICIAR SECUENCIA
-- ++++++++++++++++++++++++++++++++++

-- Deteminar valor actual
SELECT PPI.SQ_ESTADO_ARR.CURRVAL FROM DUAL;

-- Modificamos la secuencia para que quede en 1
ALTER SEQUENCE PPI.SQ_ESTADO_ARR INCREMENT by -4;

--Reiniciar la secuencia
SELECT PPI.SQ_ESTADO_ARR.NEXTVAL FROM DUAL;

--Establecemos el incremento
ALTER SEQUENCE PPI.SQ_ESTADO_ARR INCREMENT by 1;

-- ++++++++++++++++++++++++++++++++++
-- PASO4: INSERTAR ESTADOS 
-- ++++++++++++++++++++++++++++++++++
INSERT INTO
ESTADO_ARR (
            ID_ESTADO_ARR,
            NOMBRE,
            ACTIVO,
            FECHA_CREACION,
            USUARIO_CREACION,
            FECHA_MODIFICACION,
            USUARIO_MODIFICACION,
            CAMPO_CONFIGURABLE,
            VERSION) 
values (
            '1',
            'En Proceso',
            '1',
            SYSDATE,
            '55998',
            SYSDATE,
            '55998',
            null,
            '0'
);
SELECT PPI.SQ_ESTADO_ARR.nextval  from dual;

INSERT INTO
ESTADO_ARR (
            ID_ESTADO_ARR,
            NOMBRE,
            ACTIVO,
            FECHA_CREACION,
            USUARIO_CREACION,
            FECHA_MODIFICACION,
            USUARIO_MODIFICACION,
            CAMPO_CONFIGURABLE,
            VERSION) 
values (
            '2',
            'Sin Iniciar',
            '1',
            SYSDATE,
            '55998',
            SYSDATE,
            '55998',
            null,
            '0'
);
SELECT PPI.SQ_ESTADO_ARR.nextval  from dual;

INSERT INTO
ESTADO_ARR (
            ID_ESTADO_ARR,
            NOMBRE,
            ACTIVO,
            FECHA_CREACION,
            USUARIO_CREACION,
            FECHA_MODIFICACION,
            USUARIO_MODIFICACION,
            CAMPO_CONFIGURABLE,
            VERSION) 
values (
            '3',
            'Descartada',
            '1',
            SYSDATE,
            '55998',
            SYSDATE,
            '55998',
            null,
            '0'
);
SELECT PPI.SQ_ESTADO_ARR.nextval  from dual;

INSERT INTO
ESTADO_ARR (
            ID_ESTADO_ARR,
            NOMBRE,
            ACTIVO,
            FECHA_CREACION,
            USUARIO_CREACION,
            FECHA_MODIFICACION,
            USUARIO_MODIFICACION,
            CAMPO_CONFIGURABLE,
            VERSION) 
values (
            '4',
            'Completado',
            '1',
            SYSDATE,
            '55998',
            SYSDATE,
            '55998',
            null,
            '0'
);
SELECT PPI.SQ_ESTADO_ARR.nextval  from dual;


-- ++++++++++++++++++++++++++++++++++
-- PASO5: AGREGAR COLUMNA ESTADO_ARR 
-- ++++++++++++++++++++++++++++++++++

--Agregar COLUMNA ESTADO_ARR
ALTER TABLE PPI.ACTIVIDAD_RESPUESTA_RIESGO ADD ESTADO_ARR NUMBER (19,0);
  

-- Agregar llave foranea
ALTER TABLE PPI.ACTIVIDAD_RESPUESTA_RIESGO ADD CONSTRAINT FK_ACT_RES_RIE_EST_ARR FOREIGN KEY ( ESTADO_ARR ) REFERENCES PPI.ESTADO_ARR ( ID_ESTADO_ARR );

-- Actualizar los registros de ACTIVIDAD_MEJORA para asignarles el estado 1 "En Proceso
UPDATE "PPI".ACTIVIDAD_RESPUESTA_RIESGO SET ESTADO_ARR='1';

-- Establecer coluna ESTADO_ARR NOT NULL
ALTER TABLE "PPI".ACTIVIDAD_RESPUESTA_RIESGO MODIFY ( ESTADO_ARR NOT NULL);






select * from estado_AM;

select * from ACTIVIDAD_MEJORA;




--*********************************************************************
-- MODIFICACIÓN TABLA: ACTIVIDAD_MEJORA
--*********************************************************************

-- ++++++++++++++++++++++++++++++++++
--PASO1: LIMPIAR TABLA: BITACORA_AM
-- ++++++++++++++++++++++++++++++++++
TRUNCATE TABLE PPI.BITACORA_AM;

-- ++++++++++++++++++++++++++++++++++
--PASO2: LIMPIAR TABLA DE ESTADOS
-- ++++++++++++++++++++++++++++++++++
TRUNCATE TABLE PPI.ESTADO_AM;

-- ++++++++++++++++++++++++++++++++++
-- PASO3: REINICIAR SECUENCIA
-- ++++++++++++++++++++++++++++++++++

-- Deteminar valor actual
SELECT PPI.SQ_ESTADO_AM.CURRVAL FROM DUAL;

-- Modificamos la secuencia para que quede en 1
ALTER SEQUENCE PPI.SQ_ESTADO_AM INCREMENT by -2;

--Reiniciar la secuencia
SELECT PPI.SQ_ESTADO_AM.NEXTVAL FROM DUAL;

--Establecemos el incremento
ALTER SEQUENCE PPI.SQ_ESTADO_AM INCREMENT by 1;

-- ++++++++++++++++++++++++++++++++++
-- PASO4: INSERTAR ESTADOS 
-- ++++++++++++++++++++++++++++++++++
INSERT INTO
ESTADO_AM (
            ID_ESTADO_AM,
            NOMBRE,
            ACTIVO,
            FECHA_CREACION,
            USUARIO_CREACION,
            FECHA_MODIFICACION,
            USUARIO_MODIFICACION,
            CAMPO_CONFIGURABLE,
            VERSION) 
values (
            '1',
            'En Proceso',
            '1',
            SYSDATE,
            '55998',
            SYSDATE,
            '55998',
            null,
            '0'
);
SELECT PPI.SQ_ESTADO_ARR.nextval  from dual;

INSERT INTO
ESTADO_AM (
            ID_ESTADO_AM,
            NOMBRE,
            ACTIVO,
            FECHA_CREACION,
            USUARIO_CREACION,
            FECHA_MODIFICACION,
            USUARIO_MODIFICACION,
            CAMPO_CONFIGURABLE,
            VERSION) 
values (
            '2',
            'Sin Iniciar',
            '1',
            SYSDATE,
            '55998',
            SYSDATE,
            '55998',
            null,
            '0'
);
SELECT PPI.SQ_ESTADO_ARR.nextval  from dual;

INSERT INTO
ESTADO_AM (
            ID_ESTADO_AM,
            NOMBRE,
            ACTIVO,
            FECHA_CREACION,
            USUARIO_CREACION,
            FECHA_MODIFICACION,
            USUARIO_MODIFICACION,
            CAMPO_CONFIGURABLE,
            VERSION) 
values (
            '3',
            'Descartada',
            '1',
            SYSDATE,
            '55998',
            SYSDATE,
            '55998',
            null,
            '0'
);
SELECT PPI.SQ_ESTADO_ARR.nextval  from dual;

INSERT INTO
ESTADO_AM (
            ID_ESTADO_AM,
            NOMBRE,
            ACTIVO,
            FECHA_CREACION,
            USUARIO_CREACION,
            FECHA_MODIFICACION,
            USUARIO_MODIFICACION,
            CAMPO_CONFIGURABLE,
            VERSION) 
values (
            '4',
            'Completado',
            '1',
            SYSDATE,
            '55998',
            SYSDATE,
            '55998',
            null,
            '0'
);
SELECT PPI.SQ_ESTADO_ARR.nextval  from dual;


-- ++++++++++++++++++++++++++++++++++
-- PASO5: AGREGAR COLUMNA ESTADO_AM 
-- ++++++++++++++++++++++++++++++++++

--Agregar COLUMNA ESTADO_AM
ALTER TABLE PPI.ACTIVIDAD_MEJORA ADD ESTADO_AM NUMBER (19,0);
  

-- Agregar llave foranea
ALTER TABLE PPI.ACTIVIDAD_MEJORA ADD CONSTRAINT FK_ACT_MEJ_EST_AM FOREIGN KEY ( ESTADO_AM ) REFERENCES PPI.ESTADO_AM ( ID_ESTADO_AM );

-- Actualizar los registros de ACTIVIDAD_MEJORA para asignarles el estado 1 "En Proceso"
UPDATE "PPI".ACTIVIDAD_MEJORA SET ESTADO_AM='1';

-- Establecer coluna ESTADO_AM NOT NULL
ALTER TABLE "PPI".ACTIVIDAD_MEJORA MODIFY ( ESTADO_AM NOT NULL);
  • Luego debemos agregar en el JPA el mapeo

ActividadRespuestaRiesgo.java

// ***************************************
    // MAPEO: ACTIVIDAD_RESPUESTA_RIESGO->ESTADO_ARR
    // ***************************************
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "ESTADO_ARR", nullable = false)
    private EstadoARR estadoARR;
  • Agregamos los get y set
// ***************************************
    // MAPEO: ACTIVIDAD_RESPUESTA_RIESGO->ESTADO_ARR
    // ***************************************
    public EstadoARR getEstadoARR() {
        return estadoARR;
    }

    public void setEstadoARR(EstadoARR estadoARR) {
        this.estadoARR = estadoARR;
    }
  • Le agregamos el trasient
// ***************************************
    // MAPEO: ACTIVIDAD_RESPUESTA_RIESGO->ESTADO_ARR
    // ***************************************
    @Transient
    private String nombreEstadoARR;
  • Le agregamos los get y set del trasient
// ***************************************
    // TRASIENT: ACTIVIDAD_RESPUESTA_RIESGO->ESTADO_ARR
    // ***************************************

    // ESTADO_ARR: GET Nombre
    public String getNombreEstadoARR() {
        nombreEstadoARR = "";
        
        if (estadoARR != null) {
            nombreEstadoARR = estadoARR.getNombre();
        }
        
        return nombreEstadoARR;
    }
    // ESTADO_ARR: SET Nombre
    public void setNombreEstadoARR(String nombreEstadoARR) {
        this.nombreEstadoARR = nombreEstadoARR;
    }

ActividadRespuestaRiesgoServiceImpl.java

  • Ahora debemos agregarle el autowired
import cr.ac.una.cgi.sigesa.ppi.mcg.domain.EstadoARR;
import cr.ac.una.cgi.sigesa.ppi.mcg.service.EstadoARRService;

@Autowired
EstadoARRService estadoARRService;

ActividadMejoraServiceImpl.java

  • Autowired
import cr.ac.una.cgi.sigesa.ppi.mcg.domain.EstadoAM;
import cr.ac.una.cgi.sigesa.ppi.mcg.service.EstadoAMService;

@Autowired
EstadoAMService estadoAMService;