/* * Búsqueda de Pólizas * Autor: Rodrigo Sobrero */ /*jslint browser: true*/ /*global $, jQuery, alert, console, MessageAlert, oGen, oGlobal, oConsulta, oReporte, oPolizaBusq*/ // Objeto oPolizaBusq var oPolizaBusq = oPolizaBusq || {}, oPolizaDatosGral = oPolizaDatosGral || {}, oListaImpresionBusq = oListaImpresionBusq || {}; /* CONSULTAS */ // Consulta y validación oPolizaBusq.fnSearch = function () { "use strict"; oGen.fnPanelErrorRemove(); var x = true, opBuscarPor = $("#tdBusqueda").val(), opEstado = $("#estado").val(), txPoliza = $("#txPoliza").val(), cbProducto = $("#cbProducto").val(), cbTpDocumento = $("#cbTpDocumento").val(), txNoDocumento = $("#txNoDocumento").val(), txApellido = $("#txApellido").val(), txCertificado = $("#txCertificado").val(), txPatente = $("#txPatente").val(), txMotor = $("#txMotor").val(); cbTpDocumento = cbTpDocumento === null ? "" : cbTpDocumento; switch (opBuscarPor) { case "": oGen.fnShowError({ idComponente: "tdBusqueda", mensaje: oGen.fnPanelErrorAdd("Seleccione un parámetro de búsqueda", 'tdBusqueda') }); break; case "poliza": if (cbProducto.length < 4) { oGen.fnShowError({ idComponente: "cbProducto", mensaje: oGen.fnPanelErrorAdd("Seleccione un producto", 'cbProducto') }); } if (txPoliza.length < 8) { oGen.fnShowError({ idComponente: "txPoliza", mensaje: oGen.fnPanelErrorAdd("Ingrese número de Póliza sin guiones (8 dígitos)", 'txPoliza') }); } if (txCertificado.length > 0) { if (txCertificado.length < 14) { oGen.fnShowError({ idComponente: "txCertificado", mensaje: oGen.fnPanelErrorAdd("Ingrese número de Certificado sin guiones (14 dígitos)", 'txCertificado') }); } } break; case "cliente": if (cbTpDocumento === "" && txNoDocumento === "" && txApellido === "") { oGen.fnPanelErrorAdd("Ingrese un tipo y número de documento o apellido", 'cbTpDocumento'); } if (cbTpDocumento !== "" && txNoDocumento === "") { oGen.fnShowError({ idComponente: "txNoDocumento", mensaje: oGen.fnPanelErrorAdd("Ingrese un número de documento", 'txNoDocumento') }); } if (txNoDocumento !== "" && cbTpDocumento === "") { oGen.fnShowError({ idComponente: "cbTpDocumento", mensaje: oGen.fnPanelErrorAdd("Seleccione un tipo de documento", 'cbTpDocumento') }); } if (cbTpDocumento !== "" && txNoDocumento !== "") { x = oGen.fnValidarNumDoc("cbTpDocumento", "txNoDocumento"); } break; case "vehiculo": if (txPatente === "" && txMotor === "") { oGen.fnPanelErrorAdd("Ingrese un número de patente o un número de motor", 'txPatente'); /*oGen.fnShowError({ idComponente: "txPatente", mensaje: oGen.fnPanelErrorAdd("Ingrese un número de patente o un número de motor", 'txPatente') });*/ } if (txPatente !== "" && txMotor !== "") { oGen.fnPanelErrorAdd("Debe ingresar sólo un parámetro para realizar la búsqueda", 'txPatente'); } else if (txPatente !== "" && txPatente.length < 6) { oGen.fnShowError({ idComponente: "txPatente", mensaje: oGen.fnPanelErrorAdd("Ingrese un número de Patente con al menos 6 dígitos", 'txPatente') }); } break; } if (oGen.fnPanelErrorCount() > 0) { oGen.fnPanelErrorShow(); return false; } if (x === true) { oGen.fnBloqueaShow(); $("#SectionResultado").fadeIn(); oConsulta.show({ consulta: "OV_CONSULTA_CLIENTE", dataSource: "ovQbe", titulo: "Listado de Pólizas", idComponente: "divDatosConsulta", estilo: "grillaSmall", exportar: true, paramsDefault: { prm_usuario: oGlobal.cUsuario, prm_nivelas: oGlobal.productor.NIVEL, prm_cliensecas: oGlobal.productor.CLIENSEC, prm_documtip: cbTpDocumento, prm_documnro: txNoDocumento, prm_cliendes: txApellido.toUpperCase(), prm_producto: cbProducto.toUpperCase(), prm_poliza: txPoliza, prm_certi: txCertificado, prm_patente: txPatente, prm_motor: txMotor, prm_estpol: opEstado }, columnStyle: [{ CNOMBRECAMPO: "POLIZA", style: "oConsulta.fnCursorPointer" }, { CNOMBRECAMPO: "CLIDES", style: "oConsulta.fnCursorPointer" }], fnCallback: function (row, nCol) { oPolizaBusq.sCliDes = row.CLIDES; oPolizaBusq.sRamopCod = row.PROD; oPolizaBusq.sPol = row.POL; oPolizaBusq.sPolizAnn = row.POL.slice(0, 2); oPolizaBusq.sPolizSec = row.POL.slice(2, 8); oPolizaBusq.sCertiPol = row.CERPOL; oPolizaBusq.sCertiAnn = row.CERANN; oPolizaBusq.sCertiSec = row.CERSEC; oPolizaBusq.sSupleNums = row.SUPLENUMS; oPolizaBusq.sRamo = row.RAMO; oPolizaBusq.sEstado = row.EST; /* New */ oPolizaBusq.sRow = row; console.log(row); switch (nCol) { case 0: case 1: case 2: case 3: case 4: oPolizaBusq.sRow = row; oGen.fnBloqueaShow(); oGen.fnCargaFormulario({ formulario: "ovQbe_polizaDatosGral", idComponente: "detailContainer", fnCallback: function () { oPolizaDatosGral.initialize(); } }, "quoteContainer"); break; case 5: if (String(row.SINI) !== "0" && String(row.SINI) !== "" && row.SINI !== undefined) { oGen.fnCargaFormulario({ formulario: "ovQbe_polizaDatosGral", idComponente: "detailContainer", fnCallback: function () { oPolizaDatosGral.initialize("siniestros"); } }, "quoteContainer"); } break; case 6: if (String(row.ALERTEXI) !== "0" && String(row.SINI) !== "" && String(row.SINI) !== undefined) { MessageAlert.messagePopup("Datos de Recibos Exigible", oPolizaBusq.fnReciboExigible); } break; case 7: if (row.MARCAREIMPRESION === "S") { oListaImpresionBusq.fnDocumentos(); } break; /*case 8: if (row.MARCAENDOSABLE === "S") { oPolizaBusq.toEndoso(row.POLIZA, row.AGE); } break;*/ case 8: oGen.fnGetStore({ titulo: "Es scoring simplificado", params: { prm_dataSource: "ovQbe", prm_funcion: "pamqsolo.esScoringSimplificado", prm_RAMOPCOD: row.PROD, prm_POLIZANN: row.POL.slice(0, 2), prm_POLIZSEC: row.POL.slice(2, 8), prm_CERTIPOL: row.CERPOL, prm_CERTIANN: row.CERANN, prm_CERTISEC: row.CERSEC, prm_SUPLENUM: 0 }, fnCallback: function (oResp) { oPolizaBusq.oRespSS = oResp; console.log('oResp', oResp); console.log('oResp.SWSCOSIM', oResp.records[0].SWSCOSIM); if (oPolizaBusq.nvl(oResp.records[0].SWSCOSIM, 'N') === 'S') { MessageAlert.messagePopup("Endoso", "La póliza es de Scoring Simplificado, no permite realizar el endoso on-line. Cualquier consulta comuníquese con su ejecutivo de cuenta. Disculpe las molestias."); } else if (row.MARCAENDOSABLE === "S") { oPolizaBusq.toEndoso(row.POLIZA, row.AGE); } } }); break; } } }); } }; oPolizaBusq.nvl = function (campo, valor) { var valorDefault = valor == undefined ? '' : valor; if (campo == undefined || campo == null || campo == '') { return valorDefault; } else { return campo; } }; // Muestra y oculta combos según selección de combos oPolizaBusq.fnBusquedaChange = function () { "use strict"; //Limpia errores $(".form-control").each(function (i, item) { oGen.fnHideError(item) }); //oGen.fnPanelErrorRemove(); oGen.fnHideParent("estado"); oGen.fnHideParent("txPoliza"); oGen.fnHideParent("cbProducto"); oGen.fnHideParent("txCertificado"); oGen.fnHideParent("cbTpDocumento"); oGen.fnHideParent("txNoDocumento"); oGen.fnHideParent("txApellido"); oGen.fnHideParent("txPatente"); oGen.fnHideParent("txMotor"); oGen.fnHideParent("helpBlock"); switch ($("#tdBusqueda").val()) { case "poliza": oGen.fnShowParent("cbProducto"); oGen.fnShowParent("txPoliza"); oGen.fnShowParent("txCertificado"); $("#cbTpDocumento").val(""); $("#txNoDocumento").val(""); $("#txApellido").val(""); $("#txPatente").val(""); $("#txMotor").val(""); break; case "cliente": oGen.fnShowParent("cbTpDocumento"); oGen.fnShowParent("txNoDocumento"); oGen.fnShowParent("txApellido"); oGen.fnShowParent("estado"); oGen.fnShowParent("helpBlock"); oPolizaBusq.fnCbTpDocumento(); $("#txPoliza").val(""); $("#cbProducto").val(""); $("#txCertificado").val(""); $("#txPatente").val(""); $("#txMotor").val(""); break; case "vehiculo": oGen.fnShowParent("txPatente"); oGen.fnShowParent("txMotor"); oGen.fnShowParent("estado"); $("#txApellido").val(""); $("#txNoDocumento").val(""); $("#cbTpDocumento").val(""); $("#txCertificado").val(""); $("#txPoliza").val(""); $("#cbProducto").val(""); break; } }; // Carga combo "Tipo de Documento" oPolizaBusq.fnCbTpDocumento = function () { "use strict"; oGen.fnComboCarga({ titulo: "Tipo de Documento", idComponente: "cbTpDocumento", params: { prm_dataSource: "ovQbe", prm_funcion: "xfg.db.listaTabla", prm_cNombreTabla: "VDOCUMENTOOE", prm_cParamsJson: JSON.stringify([{ field: "pDocumento", comparison: "in", type: "list", value: [1, 2, 3, 4, 5, 6, 47, 99] }]) }, valor: "PDOCUMENTO", descripcion: "CDESCRIPCION", mensaje: "Seleccione una opción" }); }; // Carga combo "Producto" oPolizaBusq.fnCbProducto = function () { "use strict"; oGen.fnComboCarga({ titulo: "Producto", idComponente: "cbProducto", params: { prm_dataSource: "ovQbe", prm_funcion: "paconsultas.consultaproductos_ais" }, mensaje: "Seleccione una opción", valor: "CODIGO", descripcion: function (item) { return item.CODIGO + " - " + item.DESCRIPCION; } }); /* oGen.fnGetStore({ titulo: "Producto", params: { prm_dataSource: "ovQbe", prm_funcion: "paconsultas.consultaproductos_ais" }, fnCallback: function (oResp) { oGen.fnComboCargaData({ titulo: "Producto", idComponente: "cbProducto", valor: "CODIGO", descripcion: "DESCRIPCION" }); } }); */ }; /* BOTONES */ // Bóton siniestro oPolizaBusq.fnSiniestros = function (val, reg, idx) { "use strict"; var sBoton = "", sSiniestros = String(reg.SINI); if (sSiniestros > 0) { sBoton = ""; } return sBoton; }; // Botón cobranzas oPolizaBusq.fnCobranzas = function (val, reg, idx) { "use strict"; var sBoton = "", sCobranzas = String(reg.ALERTEXI); if (sCobranzas > 0) { sBoton = ""; } return sBoton; }; // Botón impresión oPolizaBusq.fnImpresion = function (val, reg, idx) { "use strict"; var sBoton = "", sImpresion = String(reg.MARCAREIMPRESION); if (sImpresion === "S") { sBoton = "" + ""; } return sBoton; }; // Botón endosos oPolizaBusq.fnEndosos = function (val, reg) { "use strict"; var sBoton = "", sEndosos = reg.MARCAENDOSABLE; // Habilitado solo para desarrollo o test //if (oGlobal.ambiente === 'DESA' || oGlobal.ambiente === 'TEST'){ if (sEndosos === "S") { sBoton = ""; } //} return sBoton; }; // Formateo de número de póliza oPolizaBusq.fnFormatPol = function (val, reg, idx) { "use strict"; var sNroPoliza = "", sProd = String(reg.PROD), sPol = String(reg.POL), sCerpol = String(reg.CERPOL), sCerann = String(reg.CERANN), sCersec = String(reg.CERSEC), sRamo = String(reg.RAMO); if (sRamo === "1") { sNroPoliza = sProd + "-" + sPol.slice(0, 2) + "-" + sPol.slice(2, 8) + " / " + sCerpol + "-" + sCerann + "-" + sCersec; } else if (sRamo === "2") { sNroPoliza = sProd + "-" + sPol.slice(0, 2) + "-" + sPol.slice(2, 8); } return sNroPoliza; }; // Abre tab cobranzas en la siguiente ventana oPolizaBusq.fnBtnCobranzasAcc = function () { "use strict"; oPolizaBusq.sCargaTab = "cobranzas"; }; // Abre tab endosos en la siguiente ventana oPolizaBusq.fnBtnEndososAcc = function () { "use strict"; oPolizaBusq.sCargaTab = "endosos"; }; // Formateo de estado oPolizaDatosGral.fnSiniEst = function (val, reg, idx) { "use strict"; var sEstado = "", sEst = String(reg.EST); if (sEst === "A") { sEstado = "ABIERTO"; } else if (sEst === "C") { sEstado = "CERRADO"; } return sEstado; }; /* MODAL DETALLE EXIGIBLE */ // Carga detalle de exigible oPolizaBusq.fnReciboExigible = function () { "use strict"; $("#DIALOG-MESSAGE-ALERT-MESSAGE").append("
"); oConsulta.show({ consulta: "OV_CONSULTA_EXIGIBLEDETPOLIZA", dataSource: "ovQbe", titulo: "Datos de Recibos Exigible", idComponente: "divConsultaExigible", exportar: true, estilo: "grillaSmall", columnStyle: [{ CNOMBRECAMPO: "RECNUM", style: "oConsulta.fnCursorPointer" }], paramsDefault: { prm_usuario: oGlobal.cUsuario, prm_producto: oPolizaBusq.sRamopCod, prm_poliza: oPolizaBusq.sPol, prm_certi: oPolizaBusq.sCertiPol + oPolizaBusq.sCertiAnn + oPolizaBusq.sCertiSec }, fnCallback: function (row, nCol) { if (nCol === 1) { oPolizaBusq.sRecNum = row.RECNUM; oPolizaBusq.sEndoso = row.ENDOSO; oPolizaBusq.sCob = row.COB; oPolizaBusq.fnDetalleRecibo(); } } }); }; // Detalle de recibo oPolizaBusq.fnDetalleRecibo = function () { "use strict"; $("#divConsultaExigible").hide(); $("#DIALOG-MESSAGE-ALERT-MESSAGE").append("" + sMensajeErrorGral + "Motivo: " + sMensaje + "
Error al obtener el documento.
"); } else { oReporte.fnDownload(oListaImpresionBusq.sImprTitulo, oResp.records[0].BINDATA, "pdf"); } oGen.fnBloqueaHide(); } }); }; // Función botón volver oListaImpresionBusq.fnBtnVolverImpr = function () { "use strict"; console.log("fnBtnVolverImpr-> $('#tablaImpresiones').is(':visible')", $("#tablaImpresiones").is(":visible")); console.log("fnBtnVolverImpr-> $('#tablaPolizaImpr').is(':visible')", $("#tablaPolizaImpr").is(":visible")); if ($("#tablaImpresiones").is(":visible") === false) { $("#DIALOG-MESSAGE-ALERT-MESSAGE p").remove(); $("#DIALOG-MESSAGE-ALERT-MESSAGE hr").remove(); $("#btnVolver").remove(); $("#tablaImpresiones").show(); } if ($("#tablaPolizaImpr").is(":visible") === true) { $("#btnVolver").remove(); $("#tablaPolizaImpr").remove(); } }; // Ordenar alfabeticamente selects oPolizaBusq.ordenarSelect = function (id_componente) { "use strict"; var selectToSort = $('#' + id_componente), optionActual = selectToSort.val(); selectToSort.html(selectToSort.children('option').sort(function (a, b) { return a.text === b.text ? 0 : a.text < b.text ? -1 : 1; })).val(optionActual); }; // oPolizaBusq.toEndoso = function (nPoliza, nProductor) { //"use strict"; //AUS1-00-000001 / 0000-0001-775903 var cPoliza = nPoliza.replace(' / ', '-').split('-'); var cRamopCod = cPoliza[0]; var cFormDestino = ''; // Seteo los parametros globales del productor(comercial) que viene de la // cotizacion //oQuote.productor = oQuote.productor || {}; //oQuote.productor.CLASE = cProductor[0]; //oQuote.productor.CODIGO = cProductor[1]; console.log('cPoliza', cPoliza); // Seteo el Formulario destino dependiendo del producto switch (cRamopCod) { case 'AUS1': { cFormDestino = 'ovQbe_endosoAutoScoring'; // Abro el formulario destino oGen.fnCargaFormulario({ formulario: cFormDestino, idComponente: 'EndosoContainer', fnCallback: function () { // RAMOPCOD, POLIZANN, POLIZSEC, CERTIPOL, CERTIANN, CERTISEC,SUPLENUM oEndosoScoring.leer(cPoliza[0], cPoliza[1], cPoliza[2], cPoliza[3], cPoliza[4], cPoliza[5], '0'); } }, "quoteContainer"); break; } case 'HOM1': { cFormDestino = 'ovQbe_endosoHogarMasivo'; // Abro el formulario destino oGen.fnCargaFormulario({ formulario: cFormDestino, idComponente: 'EndosoContainer', fnCallback: function () { oEndosoHogarMasivo.leer(cPoliza[0], cPoliza[1], cPoliza[2], cPoliza[3], cPoliza[4], cPoliza[5], '0'); } }, "quoteContainer"); break; } default: alert('Producto no Disponible'); } }; // Carga inicio $(document).ready(function () { "use strict"; // Inicio form en false para que no bloquee el menu oGen.fnInicioForms(false); oPolizaBusq.currentURL = location.pathname.split("/"); oPolizaBusq.currentFile = oPolizaBusq.currentURL[oPolizaBusq.currentURL.length - 1]; if (oPolizaBusq.currentFile === "ovQbe_polizaBusqueda") { document.title = "Búsqueda de Pólizas | Administración De Pólizas | Zurich Argentina eBusiness"; oGen.fnBreadCrumb(["Home", "Administración de Pólizas", "Búsqueda de Pólizas"]); } else if (oPolizaBusq.currentFile === "ovQbe_endoso") { document.title = "Endosos | Gestión de Ventas | Zurich Argentina eBusiness"; oGen.fnBreadCrumb(["Home", "Gestión de Ventas", "Endosos"]); } oPolizaBusq.fnBusquedaChange(); oGen.fnPanelErrorRemove(); $("#DIALOG-MESSAGE-ALERT").on("hidden.bs.modal", function () { $("#DIALOG-MESSAGE-ALERT-MESSAGE").empty(); $("#DIALOG-MESSAGE-ALERT-TITLE").empty(); $("#DIALOG-MESSAGE-ALERT .modal-dialog").removeAttr("style"); }); /* $("#DIALOG-MESSAGE-ALERT").on("show.bs.modal", function () { $("#DIALOG-MESSAGE-ALERT-BUTTONS").remove(); }); */ oPolizaBusq.fnCbProducto(); $("#SectionResultado").hide(); $(".form-control").change(function (me) { oGen.fnHideError(me.currentTarget); }); $("#tdBusqueda").change(function (me) { oPolizaBusq.fnBusquedaChange(); }); $("#cbTpDocumento").change(function () { if ($("#cbTpDocumento").val() !== "") { $("#txApellido").val(""); } }); $("#txNoDocumento").change(function () { if ($("#txNoDocumento").val() !== "") { $("#txApellido").val(""); } }); $("#txApellido").change(function () { if ($("#txApellido").val() !== "") { $("#txNoDocumento").val(""); $("#cbTpDocumento").val($("#cbTpDocumento option:first")).val(); } }); $("#SectionBusqueda").keypress(function (e) { if (e.which === 13) { $("#btnPolizaBusq").trigger("click"); } }); });