USE websiscre;

CREATE TABLE IF NOT EXISTS parametros_generales(
  id TINYINT PRIMARY KEY DEFAULT 1,
  calcula_gastos_bcp TINYINT NOT NULL DEFAULT 1,
  salario_minimo DECIMAL(18,2) NOT NULL DEFAULT 2899048,
  divisor_prestamo DECIMAL(10,2) NOT NULL DEFAULT 365,
  moneda_guaranies_descripcion VARCHAR(80) NOT NULL DEFAULT 'Guaraníes',
  moneda_guaranies_simbolo VARCHAR(10) NOT NULL DEFAULT 'Gs.',
  moneda_dolares_descripcion VARCHAR(80) NOT NULL DEFAULT 'Dólares',
  moneda_dolares_simbolo VARCHAR(10) NOT NULL DEFAULT 'US$',
  actualizado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
INSERT INTO parametros_generales(id) VALUES(1) ON DUPLICATE KEY UPDATE id=id;

CREATE TABLE IF NOT EXISTS parametros_empresa(
  id TINYINT PRIMARY KEY DEFAULT 1,
  nombre VARCHAR(180) NOT NULL DEFAULT 'Grupo de Inversiones S.A.',
  ruc VARCHAR(40),
  email VARCHAR(150),
  telefono VARCHAR(80),
  direccion VARCHAR(255),
  ciudad VARCHAR(100),
  pais VARCHAR(100) DEFAULT 'Paraguay',
  sitio_web VARCHAR(180),
  representante_legal VARCHAR(180),
  observaciones TEXT,
  actualizado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
INSERT INTO parametros_empresa(id,nombre) VALUES(1,'Grupo de Inversiones S.A.') ON DUPLICATE KEY UPDATE id=id;

CREATE TABLE IF NOT EXISTS monedas(
  id TINYINT PRIMARY KEY,
  codigo VARCHAR(3) NOT NULL UNIQUE,
  nombre VARCHAR(80) NOT NULL,
  simbolo VARCHAR(10) NOT NULL,
  decimales TINYINT NOT NULL DEFAULT 0,
  orden TINYINT NOT NULL DEFAULT 1,
  activo TINYINT NOT NULL DEFAULT 1
);
INSERT INTO monedas(id,codigo,nombre,simbolo,decimales,orden,activo) VALUES
 (1,'PYG','Guaraníes','Gs.',0,1,1),(2,'USD','Dólares','US$',2,2,1)
ON DUPLICATE KEY UPDATE nombre=VALUES(nombre),simbolo=VALUES(simbolo),decimales=VALUES(decimales),orden=VALUES(orden),activo=1;

CREATE TABLE IF NOT EXISTS origenes_capital(
  id INT AUTO_INCREMENT PRIMARY KEY,
  nombre VARCHAR(100) NOT NULL UNIQUE,
  activo TINYINT NOT NULL DEFAULT 1
);
INSERT INTO origenes_capital(nombre,activo) VALUES('Propio',1),('Terceros',1)
ON DUPLICATE KEY UPDATE activo=1;

ALTER TABLE operaciones ADD COLUMN IF NOT EXISTS moneda_id TINYINT NOT NULL DEFAULT 1 AFTER clase_prestamo_id;
ALTER TABLE operaciones ADD COLUMN IF NOT EXISTS origen_capital_id INT NULL AFTER moneda_id;
UPDATE operaciones SET moneda_id=1 WHERE moneda_id IS NULL OR moneda_id=0;
UPDATE operaciones SET origen_capital_id=(SELECT id FROM origenes_capital WHERE nombre='Propio' LIMIT 1) WHERE origen_capital_id IS NULL;

