const Sequelize = require('sequelize');
var db = require("../database/db.js");

const Historial_Empresa = db.sequelize.define('HISTORIAL_EMPRESA', {

    ID_HISTORIAL_EMPRESA: {
        primaryKey: true,
        type: Sequelize.BIGINT,
        allowNull: false,
        autoIncrement: true
    },

    ID_USUARIO: {
        type: Sequelize.NUMBER,
        allowNull: false,
    },

    TIPO_INGRESO: {
        type: Sequelize.STRING,
        allowNull: false,
    },

    FECHA_INGRESO: {
        type: Sequelize.STRING,
        allowNull: false,
    },

    FECHA_SALIDA: {
        type: Sequelize.STRING,
        allowNull: true,
    },

    SALARIO: {
        type: Sequelize.STRING,
        allowNull: false,
    },



    ID_CARGO: {
        type: Sequelize.STRING,
        allowNull: false,
    },

    OBSERVACION: {
        type: Sequelize.STRING,
        allowNull: true,
    },


    ARCHIVO_CONTRATO: {
        type: Sequelize.STRING,
        allowNull: true,
    },

    ESTADO: {
        type: Sequelize.BOOLEAN,
        allowNull: false,
    },

    FECHA_REGISTRO: {
        type: Sequelize.DATE,
        allowNull: false,
    },
    MOTIVO_SALIDA: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    TIPO_SALIDA: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    OBSERVACION_SALIDA: {
        type: Sequelize.TEXT,
        allowNull: true,
    },
    CODIGO_CONTRATO: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    CODIGO_HASH: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    ACTA_FINIQUITO: {
        type: Sequelize.BOOLEAN,
        allowNull: true,
        defaultValue: false,
    },
    ARCHIVO_ACTA_FINIQUITO: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    INGRESO_SOFIA: {
        type: Sequelize.BOOLEAN,
        allowNull: true,
        defaultValue: false,
    },

    // Información contractual
    TIPO_CONTRATO: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    CODIGO_SECTORIAL: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    CORROBORACION: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    CARGO_IESS: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    SOLICITUD_FONDOS_RESERVA: {
        type: Sequelize.DATEONLY,
        allowNull: true,
    },
    VENCIMIENTO_FONDOS_RESERVA: {
        type: Sequelize.DATEONLY,
        allowNull: true,
    },

    // Beneficios corporativos
    BENEFICIO_HOSPEDAJE_ALIMENTACION: {
        type: Sequelize.BOOLEAN,
        allowNull: true,
        defaultValue: false,
    },
    BENEFICIO_TARJETA_TIA: {
        type: Sequelize.BOOLEAN,
        allowNull: true,
        defaultValue: false,
    },
    MONTO_TARJETA_TIA: {
        type: Sequelize.DECIMAL(10, 2),
        allowNull: true,
    },

    // EPP - Tallas
    TALLA_BOTAS: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    TALLA_OVEROL: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    TALLA_JEANS_CAMISA: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    TALLA_JEANS_PANTALON: {
        type: Sequelize.STRING,
        allowNull: true,
    },

    // Declaraciones PCA-P-PC010
    DECLARACION_JURAMENTADA: {
        type: Sequelize.BOOLEAN,
        allowNull: true,
        defaultValue: false,
    },
    RESIDENTES_AMAZONICOS: {
        type: Sequelize.BOOLEAN,
        allowNull: true,
        defaultValue: false,
    },

    // Bonos
    BONO_EXTRA: {
        type: Sequelize.DECIMAL(10, 2),
        allowNull: true,
    },
    BONO_CAMPO: {
        type: Sequelize.DECIMAL(10, 2),
        allowNull: true,
    },
}, {
    timestamps: false,
    id: false
});



module.exports = Historial_Empresa;