/*
* Denuncia - Búsqueda de Pólizas
* Autor: Nicolás Fracchia
* Modificado: Rodrigo Sobrero
*/
/*jslint browser: true*/
/*global $, jQuery, alert, console, MessageAlert, oGen, oGlobal, oConsulta, denunciaSiniestro, oPolizaDenuncia, oPolizaDatosGral*/
// Objeto oPolizaBusq
var oPolizaBusq = oPolizaBusq || {},
oPoliSearch = oPoliSearch || {
varPolizaSeleccionada: "",
TIPOSINIESTRO: "", // autos (AU) - riesgos varios (RV) - bolso protegido (BP)
varOpcion1Seleccionada: "",
varOpt_SINIECOD: "",
varOpt_SINIECAU: "",
varOpt_SINIECAU_DES: "",
varOpt_SINIETPO: "",
varOpt_SINIETPO_DES: "",
varOpt_RAMOPCOD: "",
varOpt_POLIZANN: "",
varOpt_POLIZSEC: "",
varOpt_CERTIPOL: "",
varOpt_CERTIANN: "",
varOpt_SUPLENUM: "",
varOpt_SITUCPOL: "",
// variables de formulario inicial
CLIENSEC: "",
inicial_dSiniestro: "",
inicial_txHoraSin: "",
inicial_paisCOD: "",
inicial_provinciaCOD: "",
inicial_paisDES: "",
inicial_provinciaDES: "",
inicial_localidad: "",
inicial_cbTpBusqueda: "",
inicial_cbProducto: "",
inicial_txPoliza: "",
inicial_txCertificado: "",
inicial_txPatente: "",
inicial_cbTpDocumento: "",
inicial_txDocumento: "",
inicial_txApellido: "",
inicial_cbTpSiniestro: "",
inicial_b64CROQUIS: "",
inicial_b64BOLLOS: "",
poliza_seleccionada_completo: "",
formatearFechaSiniestro: function () { return this.inicial_dSiniestro.split('/').reverse().join("") }
};
// Array para talleres
oPoliSearch.taller = [];
oPoliSearch.taller["001"] = [];
oPoliSearch.taller["002"] = [];
oPoliSearch.taller["003"] = [];
// Oculta y muestra campos según tipo de búsqueda
oPolizaBusq.fnTipoBusqueda = function () {
"use strict";
// Variables de inicialización
var sTipoBusqueda = $("#cbTpBusqueda").val();
// Oculta campos del formulario
oGen.fnHideParent("cbProducto");
oGen.fnHideParent("cbTpDocumento");
oGen.fnHideParent("txApellido");
oGen.fnHideParent("txCertificado");
oGen.fnHideParent("txDocumento");
oGen.fnHideParent("txPatente");
oGen.fnHideParent("txPoliza");
// Vacia campos del formulario
oGen.fnLimpiaCampos("formBusqueda");
//
switch (sTipoBusqueda) {
case "cliente":
oGen.fnShowParent("cbTpDocumento");
oGen.fnShowParent("txApellido");
oGen.fnShowParent("txDocumento");
break;
case "patente":
oGen.fnShowParent("txPatente");
break;
case "poliza":
oGen.fnShowParent("cbProducto");
oGen.fnShowParent("txPoliza");
$("#cbProducto").change(function () {
oPolizaBusq.fnTipoProducto();
});
break;
}
};
// Carga combo "Tipo de Documento"
oPolizaBusq.fnCargaComboDocumento = function () {
"use strict";
oGen.fnComboCarga({
titulo: "Tipo de Documento",
idComponente: "cbTpDocumento",
params: {
prm_dataSource: "ovQbe",
prm_funcion: "ov.paDenunciaSiniestro.tipoDoc"
},
valorSeleccionado: 1,
valor: "DOCUMTIP",
descripcion:
function (reg) {
if (reg.DOCUMTIP <= 5) {
return reg.DOCUMDAB;
} else {
return reg.DOCUMDES;
}
}
});
};
// Carga combo "Producto"
oPolizaBusq.fnCargaComboProducto = function () {
"use strict";
oGen.fnComboCarga({
titulo: "Producto",
idComponente: "cbProducto",
params: {
prm_dataSource: "ovQbe",
prm_funcion: "ov.SINIMQGEN.getComboRamo",
prm_ciaascod: 1,
prm_usuarcod: oGlobal.cUsuario,
prm_canalHsbc: oGlobal.ais.BANCOCOD
},
descripcion:
function (row) {
return row.RAMOPCOD + " - " + row.RAMOPDAB;
},
valor: "RAMOPCOD"
});
};
// Inicia campo "Fecha de Siniestro"
oPolizaBusq.fnIniciaDatePicker = function () {
"use strict";
oGen.fnNewDatePicker("dSiniestro", {
dateFormat: "dd/mm/yy",
changeMonth: true,
changeYear: true,
yearRange: "-26:+150",
maxDate: "+0m +0w",
muestraError: false
});
};
// Muestra campo "Certificado" según campo "Producto"
oPolizaBusq.fnTipoProducto = function () {
"use strict";
var sProducto = $("#cbProducto").val(),
sProductoArr = ["APR1", "AUD1", "AUI1", "AUP1", "AUS1", "ALA1", "ALM1", "ALP1", "ALT1", "APL1", "APB1", "API1", "APM1", "APT1", "INH1", "IHT1", "ICI1", "AMM1", "PRI1", "HOM1"],
sProductoRes = $.inArray(sProducto, sProductoArr);
if (sProductoRes === -1) {
oGen.fnHideParent("txCertificado");
} else {
oGen.fnShowParent("txCertificado");
}
};
// Valida y realiza consulta
oPolizaBusq.fnListadoPolizas = function () {
"use strict";
oGen.fnPanelErrorRemove();
var siniestroTipo = $("#cbTpSiniestro").val();
var cbTpBusqueda = $("#cbTpBusqueda").val(),
cbTpSiniestro = $("#cbTpSiniestro").val(),
cbTpDocumento = $("#cbTpDocumento").val(),
cbProducto = $("#cbProducto").val(),
txApellido = $("#txApellido").val(),
txCertificado = $("#txCertificado").val(),
txDocumento = $("#txDocumento").val(),
txPatente = $("#txPatente").val(),
txPoliza = $("#txPoliza").val(),
dSiniestro = $("#dSiniestro").val(),
sFecha = dSiniestro.split("/"),
sFechaInie = sFecha[2] + sFecha[1] + sFecha[0];
var fechaHoy = new Date(oGlobal.sys_date).setHours(0, 0, 0, 0);
var fechaSiniestro = new Date(sFecha[2], sFecha[1] - 1, sFecha[0]).getTime()
switch (cbTpBusqueda) {
case "":
oGen.fnShowError({
idComponente: "cbTpBusqueda",
mensaje: oGen.fnPanelErrorAdd("Seleccione un parámetro de búsqueda", 'cbTpBusqueda')
});
break;
case "cliente":
if (cbTpDocumento !== "") {
if (txDocumento.length < 1) {
oGen.fnShowError({
idComponente: "txDocumento",
mensaje: oGen.fnPanelErrorAdd("Ingrese un número de documento válido", 'txDocumento')
});
} else {
oGen.fnHideError("txDocumento");
}
}
if (cbTpDocumento === "" && txDocumento === "" && txApellido === "") {
oGen.fnPanelErrorAdd("Ingrese número de documento o apellido / razón social", 'cbTpDocumento');
} else {
oGen.fnHideError("txDocumento");
}
break;
case "patente":
if (siniestroTipo !== "AU") {
oGen.fnShowError({
idComponente: "cbTpSiniestro",
mensaje: oGen.fnPanelErrorAdd("El parámetro ingresado no es válido para el tipo de siniestro.", 'cbTpSiniestro')
});
oGen.fnPanelErrorShow();
return false;
} else {
if (txPatente !== "") {
{
if (!oGen.fnValidarFormatoPatente("txPatente")) {
oGen.fnShowError({
idComponente: "txPatente",
mensaje: oGen.fnPanelErrorAdd("Ingrese una patente válida", 'txPatente')
});
} else {
oGen.fnHideError("txPatente");
}
}
} else if (txPatente === "") {
oGen.fnShowError({
idComponente: "txPatente",
mensaje: oGen.fnPanelErrorAdd("Ingrese un número de patente", 'txPatente')
});
}
}
break;
case "poliza":
if (cbProducto === "") {
oGen.fnShowError({
idComponente: "cbProducto",
mensaje: oGen.fnPanelErrorAdd("Seleccione un producto", 'cbProducto')
});
} else {
oGen.fnHideError("cbProducto");
}
if (txPoliza.length < 8) {
oGen.fnShowError({
idComponente: "txPoliza",
mensaje: oGen.fnPanelErrorAdd("Ingrese número de Póliza sin guiones (8 dígitos)", 'txPoliza')
});
} else {
oGen.fnHideError("txPoliza");
}
if (oGen.fnIsVisibleParent("#txCertificado")) {
if (txCertificado.length > 0 && txCertificado.length < 14) {
oGen.fnShowError({
idComponente: "txCertificado",
mensaje: oGen.fnPanelErrorAdd("Ingrese número de Certificado sin guiones (14 dígitos)", 'txCertificado')
});
} else {
oGen.fnHideError("txCertificado");
}
}
break;
}
if (oGen.fnIsVisibleParent("dSiniestro")) {
if (!oGen.fnValidaFecha(dSiniestro)) {
oGen.fnShowError({
idComponente: "dSiniestro",
mensaje: oGen.fnPanelErrorAdd("Ingrese una fecha válida", 'dSiniestro')
});
} else if (fechaSiniestro > fechaHoy) {
oGen.fnShowError({
idComponente: "dSiniestro",
mensaje: oGen.fnPanelErrorAdd("'Fecha del siniestro' no puede ser posterior al día de hoy.", 'dSiniestro')
});
} else oGen.fnHideError("dSiniestro");
}
if (oGen.fnIsVisibleParent("cbTpSiniestro")) {
if (cbTpSiniestro === "") {
oGen.fnShowError({
idComponente: "cbTpSiniestro",
mensaje: oGen.fnPanelErrorAdd("Seleccione un tipo de siniestro", 'cbTpSiniestro')
});
} else {
oGen.fnHideError("cbTpSiniestro");
}
}
if (oGen.fnPanelErrorCount() > 0) {
oGen.fnPanelErrorShow();
return false;
}
$("#SectionResultado").fadeIn(1000);
//Asigna el estilo del hover en la grilla. Si es INTRANET no le asigna el estilo.
oConsulta.fnCursorPointer = function () {
if (oGlobal.aplicacion !== 'INTRANET') {
return {
classes: 'consultaCursorPointer'
};
} else {
return {
classes: ''
};
}
};
oGen.fnBloqueaShow();
// Realiza la búsqueda
oConsulta.show({
consulta: "OV_CONSULTA_SINIBUSCACLIENTE",
dataSource: "ovQbe",
idComponente: "divDatosConsulta",
titulo: "Consulta Denuncia de Siniestro",
estilo: "grillaSmall",
exportar: true,
busqueda: true,
paramsDefault: {
prm_usuarcod: oGlobal.cUsuario,
prm_nivelclas: oGlobal.productor.NIVEL,
prm_cliensecas: oGlobal.productor.CLIENSEC,
prm_nivelcla1: "",
prm_cliensec1: "",
prm_nivelcla2: "",
prm_cliensec2: "",
prm_nivelcla3: "",
prm_cliensec3: "",
prm_ramo: cbProducto,
prm_poliza: txPoliza,
prm_certif: txCertificado,
prm_patente: txPatente,
prm_apellido: txApellido,
prm_documtip: cbTpDocumento,
prm_documdat: txDocumento,
prm_fechasinie: sFechaInie,
prm_tiposinie: cbTpSiniestro,
prm_swbusca: oGlobal.ais.SWBUSCA,
prm_orden: "A",
prm_columna: "1",
prm_nroqry: "0",
prm_retoma: ""
},
columnStyle: [{
CNOMBRECAMPO: "NPOLIZA",
style: "oConsulta.fnCursorPointer"
}, {
CNOMBRECAMPO: "CLIENDES",
style: "oConsulta.fnCursorPointer"
}],
fnCallbackBeforeLoad: function () {
//pone en funcionamiento el tooltip bootstrap en la columna 8.
setTimeout(function () {
$('[data-toggle="tooltip"]').tooltip();
}, 50);
},
fnCallback:
function (row, nCol) {
oPolizaBusq.sCliDes = row.CLIENDES;
oPolizaBusq.sRamopCod = row.RAMOPCOD;
oPolizaBusq.sPol = row.POLIZANN + row.POLIZSEC;
oPolizaBusq.sPolizAnn = row.POLIZANN;
oPolizaBusq.sPolizSec = row.POLIZSEC;
oPolizaBusq.sCertiPol = row.CERTIPOL;
oPolizaBusq.sCertiAnn = row.CERTIANN;
oPolizaBusq.sCertiSec = row.CERTISEC;
oPolizaBusq.sSupleNums = row.SUPLENUM;
oPolizaBusq.sRamo = row.RAMO;
oPolizaBusq.sEstado = row.SITUCPOL;
switch (nCol) {
case 0:
case 1:
if (oGlobal.aplicacion !== "INTRANET") {
oGen.fnCargaFormulario({
formulario: "ovQbe_polizaDatosGral",
idComponente: "detailContainer",
fnCallback:
function () {
oPolizaDatosGral.initialize();
}
}, "quoteContainer");
}
break;
case 7:
oPoliSearch.TIPOSINIESTRO = $("#cbTpSiniestro").val();
oPoliSearch.varOpt_RAMOPCOD = row.RAMOPCOD;
oPoliSearch.varOpt_POLIZANN = row.POLIZANN;
oPoliSearch.varOpt_POLIZSEC = row.POLIZSEC;
oPoliSearch.varOpt_CERTIPOL = row.CERTIPOL;
oPoliSearch.varOpt_CERTIANN = row.CERTIANN;
oPoliSearch.varOpt_SUPLENUM = row.SUPLENUM;
oPoliSearch.varOpt_SITUCPOL = row.SITUCPOL;
oPoliSearch.varPolizaSeleccionada = row.CERTISEC;
if (oPoliSearch.TIPOSINIESTRO === "AU") {
oGen.fnBloqueaShow();
oGen.fnCargaFormulario({
formulario: "ovQbe_denunciaCargaPoliza",
idComponente: "denunciaContainer",
fnCallback:
function () {
$("#fechaSinVista").val($("#dSiniestro").val());
oGen.fnBloqueaHide(true);
}
}, "quoteContainer");
} else {
oPoliSearch.varOpcion1Seleccionada = oPoliSearch.TIPOSINIESTRO;
oPoliSearch.inicial_dSiniestro = $("#dSiniestro").val();
oGen.fnBloqueaShow();
oGen.fnCargaFormulario({
formulario: "ovQbe_denunciaSiniestro",
idComponente: "denunciaContainer",
fnCallback:
function () {
oGen.fnScrollTo();
oPoliSearch.muestraAcordeones();
denunciaSiniestro.funcionesReady();
oGen.fnBloqueaHide();
}
}, "quoteContainer");
}
break;
case 8:
if (row.SWSINIES === "S") {
if (oGlobal.aplicacion !== "INTRANET") {
oGen.fnBloqueaShow();
oGen.fnCargaFormulario({
formulario: "ovQbe_polizaDatosGral",
idComponente: "detailContainer",
fnCallback:
function () {
oPolizaDatosGral.initialize("siniestros");
oGen.fnBloqueaHide();
}
}, "quoteContainer");
} else {
}
}
break;
case 9:
if (String(row.SWEXIGIB) === "1") {
if (oGlobal.aplicacion !== "INTRANET") {
oPolizaBusq.fnDetalleExigible(row);
}
}
break;
}
}
});
};
// Botón exigible
oPoliSearch.cargaExigibleListado = function (val, reg) {
"use strict";
var sBoton = "",
sSwexiGeb = String(reg.SWEXIGIB);
if (sSwexiGeb !== "0") {
sBoton = ""
+ ""
+ "";
}
return sBoton;
};
// Botón carga denuncia
oPoliSearch.cargaPolizaSeleccionada = function () {
"use strict";
var sBoton = ""
+ ""
+ "";
return sBoton;
};
// Botón siniestro
oPoliSearch.cargaSiniestrosListado = function (val, reg) {
"use strict";
var sBoton = "",
tooltip = "",
title = "Siniestro",
sSwsiNies = reg.SWSINIES;
if (sSwsiNies === "S") {
if (oGlobal.aplicacion === 'INTRANET') {
tooltip = 'data-toggle="tooltip" data-placement="right" data-html="true"';
title = 'Ultimo Siniestro Abierto: ' + reg.FULTSTRO;
}
sBoton = "";
}
return sBoton;
};
// Modal consulta exigible
oPolizaBusq.fnDetalleExigible = function (row) {
"use strict";
oConsulta.show({
consulta: "OV_CONSULTA_EXIGIBLEDETPOLIZA",
dataSource: "ovQbe",
idComponente: "",
titulo: "Consulta de Exigibles",
estilo: "grillaSmall",
exportar: true,
busqueda: true,
paramsDefault: {
prm_usuario: oGlobal.cUsuario,
prm_producto: row.RAMOPCOD,
prm_poliza: row.POLIZANN + row.POLIZSEC,
prm_certi: row.CERTIPOL + row.CERTIANN + row.CERTISEC
}
});
};
// Ejecuta al inicio
$(document).ready(function () {
"use strict";
// Title
document.title = "Denuncia de Siniestro | Zurich Argentina eBusiness";
// Breadcrumb
oGen.fnBreadCrumb(['Home', 'Siniestros', 'Denuncia']);
// Oculta div con resultados de búsqueda
$("#SectionResultado").hide();
oPolizaBusq.fnTipoBusqueda();
oPolizaBusq.fnCargaComboDocumento();
oPolizaBusq.fnCargaComboProducto();
oPolizaBusq.fnIniciaDatePicker();
oGen.fnInicioForms(false);
$("#cbTpBusqueda").change(function () {
oPolizaBusq.fnTipoBusqueda();
oGen.fnHideError("cbTpBusqueda");
oGen.fnPanelErrorRemove();
});
$("#SectionBusqueda a").click(oPolizaBusq.fnListadoPolizas);
$("#SectionBusqueda").keypress(function (e) {
if (e.which === 13) {
$("#btnPolizaBusq").trigger("click");
}
});
// Si el ambiente es INTRANET agrega bolso protegido, hogar y riesgos varios en las opciones de "Tipo de Siniestros"
if (oGlobal.aplicacion === "INTRANET") {
$("#cbTpSiniestro option:nth-child(3)").after("");
$("#cbTpSiniestro option:nth-child(4)").after("");
$("#cbTpSiniestro option:nth-child(5)").after("");
}
});