En este apartado se podrá consultar el procedimiento para dar alta de alta las empresas y catálogos, así como los scripts que se utilizan para eso.
Catálogos por país
Cuando se va a crear una empresa para un país nuevo, es necesario dar de alta los catálogos por país, antes de crear la empresa.
Antes de inicial la creación de los catálogos, se tiene que configurar la información en la tabla de país:
- separador_mil
- separador_decimal
- formato_numero
- formato_fecha
Estos se incluyen de acuerdo a la información del país.
Los siguientes catálogos se configuran en su tabla correspondiente.
Zona_horaria
Code Block | ||
---|---|---|
| ||
-- Inicializa variables
SET @i_pais_id = 0;
-- Obtiene información del país
select p.pais_id into @i_pais_id
from pais as p
where p.pais_clave = 'PY';
-- Zona horaria
INSERT INTO zona_horaria (pais_id, zona_horaria_clave, zona_horaria, zona_horaria_orden, gmt_desfase, tz)
SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id
'H.PYT' as zona_horaria_clave,
'HORA DE PARAGUAY' as zona_horaria,
100 as zona_horaria_orden,
-4 as gmt_desfase,
'America/Paraguay' as tz
from zona_horaria
where zona_horaria_id = 0
and @i_pais_id not in (select pais_id from zona_horaria); |
Estado
Code Block | ||
---|---|---|
| ||
-- Inicializa variables
SET @i_zona_horaria_id = 0;
-- Obtiene información de zona_horaria
select zn.zona_horaria_id into @i_zona_horaria_id
from zona_horaria as zn
where zn.pais_id = @i_pais_id;
INSERT INTO estado (pais_id, estado_clave, estado, estado_orden, zona_horaria_id)
SELECT @i_pais_id AS pais_id, -- utilizar variable o pais_id
'ASU' as estado_clave,
'Distrito capital' as estado,
100 as estado_orden,
@i_zona_horaria_id as zona_horaria_id
from estado
where estado_id = 0
and 'ASU' not in
(select estado_clave
from estado
where pais_id = @i_pais_id)
and 'Distrito capital' not in
(select estado
from estado
where pais_id = @i_pais_id); |
Municipio
Code Block | ||
---|---|---|
| ||
-- Inicializa variables
SET @i_estado_id = 0;
-- Obtiene información de Estado
select e.estado_id into @i_estado_id
from estado as e
where e.pais_id = @i_pais_id -- utilizar variable o pais_id
and e.estado_clave = 'ASU';
INSERT INTO municipio (estado_id, municipio_clave, municipio, municipio_orden)
SELECT @i_estado_id AS estado_id,
'ASU-CAPI' as municipio_clave,
'Capital' as municipio,
100 as municipio_orden
from municipio
where municipio_id = 0
and 'ASU-CAPI' not in
(select municipio_clave
from municipio
where estado_id = @i_estado_id)
and 'Capital' not in
(select municipio
from municipio
where estado_id = @i_estado_id); |
Niveles
Code Block | ||
---|---|---|
| ||
INSERT INTO nivel (pais_id, nivel_clave, nivel, nivel_orden, abreviatura, fecha_actualizacion, persona_rol_id, version)
SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id
'001' as nivel_clave,
'Inicial' as nivel,
100 as nivel_orden,
'I' as abreviatura,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id,
0 as version
from nivel
where nivel_id = 0
and '001' not in (select nivel_clave from nivel where pais_id = @i_pais_id)
and 'Inicial' not in (select nivel from nivel where pais_id = @i_pais_id); |
Colocar el persona_rol_id o utilizar variable. De igual forma pais_id.
Grados
Code Block | ||
---|---|---|
| ||
-- Inicializa variables
SET @i_nivel_id = 0;
-- Obtiene información de Grado
select n.nivel_id into @i_nivel_id
from nivel as n
where n.pais_id = @i_pais_id -- utilizar variable o pais_id
and n.nivel_clave = '001';
INSERT INTO grado (nivel_id, grado_clave, grado, grado_orden, activo, fecha_actualizacion, persona_rol_id, version)
SELECT @i_nivel_id as nivel_id,
'3EI' as grado_clave,
'Pre-Jardín' as grado,
100 as grado_orden,
1 as activo,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id, -- utilizar variable o id
0 as version
from grado
where grado_id = 0
and '3EI' not in (select grado_clave from grado where nivel_id = @i_nivel_id)
and 'Pre-Jardín' not in (select grado from grado where nivel_id = @i_nivel_id); |
Grupos
Code Block | ||
---|---|---|
| ||
INSERT INTO grupo (pais_id, grupo_clave, grupo, grupo_orden, turno_id, version)
SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id
grupo_clave,
grupo,
grupo_orden,
turno_id,
version
from grupo
where pais_id = 165 -- empresa base
and grupo_clave not in
(select grupo_clave
from grupo
where pais_id = @i_pais_id)
and grupo not in
(select grupo
from grupo
where pais_id = @i_pais_id); |
Turno
Este catálogo es por empresa, por lo que tiene que colocarse la empresa base o hacer el insert por el turno que se requiera.
Para crear este catálogo, la empresa destino tiene que estar creada.
Code Block | ||
---|---|---|
| ||
-- TURNO
INSERT INTO turno (empresa_id, turno_clave, turno, turno_orden)
SELECT @i_empresa_id,
turno_clave,
turno,
turno_orden
from turno
where empresa_id = 8 -- empresa base.
and turno_clave not in
(select turno_clave
from turno
where empresa_id = @i_empresa_id)
and turno not in
(select turno
from turno
where empresa_id = @i_empresa_id); |
Moneda
Este catálogo es necesario si alguna de las empresas del país llevará aplicaciones de Pagos, Acuerdos o GA.
Code Block | ||
---|---|---|
| ||
-- MONEDA
INSERT INTO moneda (pais_id, moneda_clave, moneda, moneda_orden, parametro, leyenda_anterior, leyenda_posterior, simbolo)
SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id
'MXN' as moneda_clave,
'Pesos Mexicanos' as moneda,
100 as moneda_orden,
'MN' as parametro,
'PESOS' as leyenda_anterior,
'M.N.' as leyenda_posterior,
'$' as simbolo
from moneda
where moneda_id = 0
and 'MXN' not in
(select moneda_clave
from moneda where pais_id = @i_pais_id)
and 'Pesos Mexicanos' not in
(select moneda
from moneda where pais_id = @i_pais_id); |
Alta de empresa
Cuando se dan de alta las empresas, es necesario que se proporcionen los siguientes datos:
...
Ejemplo:
...
Las variables que se van a utilizar regularmente para estos scripts son los siguientes:
Code Block | ||||
---|---|---|---|---|
| ||||
-- Inicializa variables
SET @i_persona_rol_id = 0;
SET @i_pais_id = 0;
SET @i_empresa_id = 0;
Set @i_ciclo_escolar_id = 0; |
Se obtiene la información del país para utilizarlo dentro de los inserts.
Code Block | ||||
---|---|---|---|---|
| ||||
-- Obtiene información del país al que pertenecerá la empresa
select p.pais_id into @i_pais_id
from pais as p
where p.pais_clave = 'SV'; |
Para realizar los inserts de alta de empresa, se debe validar la última empresa que fue creada y colocar directamente el id de la empresa y el orden.
Empresa
Code Block | ||||
---|---|---|---|---|
| ||||
-- EMPRESA
INSERT INTO empresa(empresa_id, pais_id, empresa_clave, empresa, empresa_orden, sap_id, parametro)
SELECT 60 as empresa_id,
@i_pais_id as pais_id,
'SV.LIVE' as empresa_clave,
'Be+Live El Salvador' as empresa,
10042000 as empresa_orden,
'0000' as sap_id,
'SV/LIVE' as parametro
from empresa
where empresa_id = 0
and 60 not in
(select empresa_id
from empresa); |
Una vez que se tiene la empresa creada, se puede obtener la información de esta para la variable.
...
theme | Eclipse |
---|---|
title | Info_empresa |
...
sus respectivos catálogos.
También se comentan los catálogos necesarios para los módulos administrativos.
Turno
Este catálogo es por empresa, por lo que tiene que colocarse la empresa base o hacer el insert por el turno que se requiera.
Para crear este catálogo, la empresa destino tiene que estar creada.
Code Block | ||
---|---|---|
| ||
-- TURNO
INSERT INTO turno (empresa_id, turno_clave, turno, turno_orden)
SELECT @i_empresa_id,
turno_clave,
turno,
turno_orden
from turno
where empresa_id = 8 -- empresa base.
and turno_clave not in
(select turno_clave
from turno
where empresa_id = @i_empresa_id)
and turno not in
(select turno
from turno
where empresa_id = @i_empresa_id); |
Alta de empresa
Cuando se dan de alta las empresas, es necesario que se proporcionen los siguientes datos:
País | Clave empresa | Nombre de empresa | Parámetro | Empresa base de configuración |
---|
Ejemplo:
Pais | Clave empresa | Nombre de empresa | Parámetro | Empresa base de configuración |
---|---|---|---|---|
El Salvador | SV.LIVE | Be+Live El Salvador | SV/LIVE | Be+live MX. |
Para realizar los inserts de alta de empresa, se debe validar la última empresa que fue creada y colocar directamente el id de la empresa y el orden.
Ciclo escolar y periodos de evaluación
...