var oPymesBusRenovacion = oPymesBusRenovacion || {};
var oPolizaBusq = oPolizaBusq || {};
var oPolizaDatosGral = oPolizaDatosGral || {};
var oSalesForce = oSalesForce || {};
//MTRIPODI 06/01/2021 Cargo Ramo que viene de Salesforce
oSalesForce.fnObtenerParametros = function () {
//
oSalesForce.RAMOPCOD = "";
oSalesForce.ORIGEN = "";
try {
var _rParam = Base64.decode(oGen.getParameterByName("rParam"));
if (oGen.nvl(_rParam, "") != "") {
var rParams = _rParam.split("@@");
oSalesForce.ORIGEN = oGen.nvl(rParams[0].split("=")[1], ""); // SALESFORCE
oSalesForce.RAMOPCOD = oGen.nvl(rParams[1].split("=")[1], ""); // AUT1 / ICQ1 / ICQ2
}
} catch (e) {
console.log("Cotizaciones Individuos", e);
}
};
var gJSNom = "oPymesBusRenovacion";
oPymesBusRenovacion.tablaPolizas = [];
oPymesBusRenovacion.fnValidarPantalla = function () {
var error = false;
if ($('#cbBuscarPor').val() == '') {
error = true;
oGen.fnShowError({ idComponente: 'cbBuscarPor', mensaje: oGen.fnPanelErrorAdd('Ingrese el tipo de busqueda.', 'cbBuscarPor') });
} else {
oGen.fnHideError("cbBuscarPor");
}
oGen.fnHideError("dDesde");
if (moment($('#dDesde'), 'DD/MM/YYYY').isValid()) {
error = true;
oGen.fnShowError({ idComponente: 'dDesde', mensaje: oGen.fnPanelErrorAdd('Seleccione una fecha válida.', 'dDesde') });
} else {
if (oGlobal.usuarioExterno()) {
if (moment($('#dDesde').val(), 'DD/MM/YYYY').format('YYYYMMDD') < moment(oGlobal.sys_date).format('YYYYMMDD')) {
error = true;
oGen.fnShowError({ idComponente: 'dDesde', mensaje: oGen.fnPanelErrorAdd('La fecha desde debe ser mayor o igual a la fecha del día.', 'dDesde') });
}
}
if (oGlobal.usuarioInterno()) {
if (moment($('#dDesde').val(), 'DD/MM/YYYY').format('YYYYMMDD') < moment(oGlobal.sys_date).add("-1", "months").format('YYYYMMDD')) {
error = true;
oGen.fnShowError({ idComponente: 'dDesde', mensaje: oGen.fnPanelErrorAdd('La fecha desde debe ser mayor o igual al día ' + moment(oGlobal.sys_date).add("-1", "months").format('DD/MM/YYYY'), 'dDesde') });
}
}
}
if (moment($('#dHasta'), 'DD/MM/YYYY').isValid()) {
error = true;
oGen.fnShowError({ idComponente: 'dHasta', mensaje: oGen.fnPanelErrorAdd('Seleccione una fecha válida.', 'dHasta') });
} else {
oGen.fnHideError("dHasta");
}
if (error) {
oGen.fnPanelErrorShow();
} else {
oGen.fnPanelErrorHide();
}
return !error;
}
/**
* Esta función carga la combo de productores, de acuerdo al producto
* seleccionado
*/
oPymesBusRenovacion.fnCbProductorCarga = function (cIdProducto) {
oGen.fnBloqueoUnico();
oGen.fnComboLimpia('cbProductor');
oGen.fnComboCarga({
titulo: 'Productor',
idComponente: 'cbProductor',
mensaje: 'Todos',
params: {
prm_dataSource: 'ovQbe',
prm_funcion: 'ov.paConsultaMQ.productoresHabilitadosParaCot',
prm_ramopcod: cIdProducto,
prm_usuarcod: oGlobal.cUsuario,
prm_cliensecas: oGlobal.productor ? oGlobal.productor.CLIENSEC : '',
prm_nivelclas: oGlobal.productor ? oGlobal.productor.NIVEL : ''
},
fnCallback: function (data) {
//oGen.logDesarrollo('data', data);
},
valor: function (item) {
return JSON.stringify(item);
},
descripcion: function (item) {
return item.CODIGO + ' | ' + item.CLASE + ' | ' + ((item.NOMBRE === undefined) ? '' : item.NOMBRE);
},
valorSeleccionado: ""
});
};
// Inicia datepickers
oPymesBusRenovacion.fnIniciaDatePickers = function (esExterno) {
"use strict";
oGen.fnIniciaDatePickers({
fechaDesde: "dDesde",
fechaHasta: "dHasta",
//maxMeses: 24,
//maxDate: new Date(oGlobal.sys_date)
});
var minDate = (esExterno ? new Date(oGlobal.sys_date) : moment(new Date(oGlobal.sys_date)).add("-1", "months").toDate());
var maxDate = moment(minDate).add('3', 'months').toDate();
$("#dDesde").datepicker("option", "minDate", minDate);
$("#dDesde").datepicker("option", "maxDate", maxDate);
$("#dHasta").datepicker("option", "minDate", minDate);
$("#dHasta").datepicker("option", "maxDate", maxDate);
var _rParam = Base64.decode(oGen.getParameterByName("rParam"));
if (oGen.nvl(_rParam, "") != "") {
// var rParams = _rParam.split("%");
var rParams = _rParam.split("&");
//MTRIPODI Pongo Try Catch y que se comporte como antes por error en salesforce.
try {
var _tipo = rParams[0].split("=")[1];
var _fechaDesde = rParams[1].split("=")[1];
var _fechaHasta = rParams[2].split("=")[1];
$("#cbBuscarPor").val(_tipo);
$("#dDesde").val(moment(_fechaDesde, "DD/MM/YYYY").format("DD/MM/YYYY"));
$("#dHasta").val(moment(_fechaHasta, "DD/MM/YYYY").format("DD/MM/YYYY"));
oPymesBusRenovacion.fnSearch();
} catch (e) {
console.log(e);
// Setea fechas por default
$("#dDesde").datepicker("setDate", oGlobal.sys_date);
// celso: resto un dia pq qnect muestra asi.
$("#dHasta").val(moment(oGlobal.sys_date).add(1, 'months').add(-1, 'day').format('DD/MM/YYYY'))
}
}
else {
// Setea fechas por default
$("#dDesde").datepicker("setDate", oGlobal.sys_date);
// celso: resto un dia pq qnect muestra asi.
$("#dHasta").val(moment(oGlobal.sys_date).add(1, 'months').add(-1, 'day').format('DD/MM/YYYY'))
}
};
// #################################################################################################################################### //
// **************** //
// *** fnSearch *** //
// **************** //
oPymesBusRenovacion.fnSearch = function () {
"use strict";
oGen.fnBloqueoUnico();
//Clean list
oPymesBusRenovacion.tablaPolizas = [];
//No hace nada si no es valido
if (!oPymesBusRenovacion.fnValidarPantalla()) {
return false;
}
var _AGENTCOD;
var _AGENTCLA;
if (oGen.nvl($('#cbProductor').val()) === "") {
_AGENTCOD = '';
_AGENTCLA = '';
} else {
_AGENTCOD = JSON.parse($('#cbProductor').val()).CODIGO;
_AGENTCLA = JSON.parse($('#cbProductor').val()).CLASE;
}
oGen.fnGetStore({
titulo: ' ',
params: {
prm_dataSource: 'ovQbe',
prm_funcion: 'ov.PaRenovacionesPymes.PolicyRenewalList', //PaMQSolo.lOGetRecibos',
prm_userid: oGlobal.cUsuario,
prm_userrole: oGen.lPad(oGlobal.productor.CLIENSEC, 9, '0'),
prm_userlevel: oGlobal.productor.NIVEL,
PRM_DATEFROM: moment($('#dDesde').val(), 'DD/MM/YYYY').format('YYYY-MM-DD'),
PRM_DATETO: moment($('#dHasta').val(), 'DD/MM/YYYY').format('YYYY-MM-DD'),
PRM_AGENTCLAS: _AGENTCLA,
PRM_AGENTCODE: _AGENTCOD,
prm_Status: $("#cbBuscarPor").val(),
},
fnCallback: function (oResp) {
//oPymesBusRenovacion.tablaPolizas = [];
if (oResp.records != undefined) {
oPymesBusRenovacion.tablaPolizas = oResp.records;
oPymesBusRenovacion.fnGrillaPolizas();
}
}
});
oGen.fnBloqueoUnicoHide();
}; //fnSearch
oPymesBusRenovacion.fnGrillaPolizas = function () {
//Muestra el spinner
oGen.fnBloqueoUnico();
//Empieza a cargar la grilla
oConsulta.show({
consulta: "OV_RENOVACIONES_PYMES_LISTA",
dataSource: "ovQbe",
titulo: "Resumen de Póliza",
idComponente: "divDatosConsulta",
estilo: "grillaSmall",
data: oPymesBusRenovacion.tablaPolizas,
columnStyle: [{
CNOMBRECAMPO: 'POLICYNUMBERDISPLAY',
style: 'oConsulta.fnCursorPointer'
}],
fnCallback: function (row, col) { //Ingresa al hacer click en el registro
//oGen.logDesarrollo(col, row);
switch (col) {
case 0:
var policyNumber = row.POLICYNUMBER;
oPolizaBusq.sPol = policyNumber.substr(4, policyNumber.length); //'00240505';
oPolizaBusq.sRamopCod = row.PRODUCT;
oPolizaBusq.sCertiPol = '0000'; // row.CERPOL;
oPolizaBusq.sCertiAnn = '0000'; //row.CERANN;
oPolizaBusq.sCertiSec = '000000'; //row.CERSEC;
oGen.fnCargaFormulario({
formulario: (oSalesForce.ORIGEN == 'SALESFORCE') ? "ovQbe_polizaDatosGralPymes" : "ovQbe_polizaDatosGral",
idComponente: "containerBusRenovaciones",
fnCallback: function () {
//Le desbindeo el evento click porque sino hace un back del navegador
$(".divButton").last().find("a").unbind("click");
oPolizaDatosGral.llamadoDesde = "pymes";
if (oPolizaDatosGral.initialize !== undefined && typeof oPolizaDatosGral.initialize == 'function')
oPolizaDatosGral.initialize();
}
}, oGen.currentDiv());
break;
case 8:
oPymesBusRenovacion.fnDisplayQuote(row.COTRENOVACION, row.EXPIRYDATE);
break;
default:
break;
}
}, //fnCallback
fnCallbackAfterLoad: function (me, recs) { //Callback de la grilla
//Configura cada checkbox
var setSiNo = function () {
$(".toggle-btn").each(function (i, item) {
var $el = $(this);
oGen.fnSiNo($el);
if ($el.data('policysource') != 'Q') {
oGen.fnSiNoDisable($el);
} else {
if (oGlobal.usuarioExterno()) {
if ($el.data('tipousuario') == 'I') {
console.log('policysource', $el.data('policysource'))
oGen.fnSiNoDisable($el);
}
}
}
});
$('.toggle-btn').on('switchChange.bootstrapSwitch', function (event, state) {
if (Array.isArray(oPymesBusRenovacion.tablaPolizas) && oPymesBusRenovacion.tablaPolizas.length > 0) {
$("#btnGuardar").show();
} else {
$("#btnGuardar").hide();
}
oPymesBusRenovacion.fnCambiocolumnaRenovacion(this.id.replace("columnaRenovacion_", ''));
});
};
//Siempre que la grilla cambie ejecuta la funcion setSiNo
$('#divDatosConsulta .grillaSmall').on('post-body.bs.table', function (name, args) {
setSiNo();
//$('#divDatosConsulta .grillaSmall').bootstrapTable($("#cbBuscarPor").val() == "AR" ? 'hideColumn' : 'showColumn', 'EXPIRYDATE');
});
//Ejecuta la primer vez
setSiNo();
//
$('#divDatosConsulta .grillaSmall').bootstrapTable(
(["AR", "NR"].indexOf($("#cbBuscarPor").val()) >= 0) ? 'hideColumn' : 'showColumn', 8
);
//Fin de carga, oculta el spinner
oGen.fnBloqueoUnicoHide();
}
}); //oConsulta.Show
};
oPymesBusRenovacion.fnDisplayQuote = function (quote, efectiveDate) {
//
oGen.fnBloqueoUnico();
oGen.fnGetStore({
params: {
prm_dataSource: 'ovQbe',
prm_funcion: 'ov.PAPOLICYSERVICES.QuoteHeaderRetrieve',
prm_userid: oGlobal.cUsuario,
prm_userrole: oGen.lPad(oGlobal.productor.CLIENSEC, 9, '0'),
prm_userlevel: oGlobal.productor.NIVEL,
prm_Company: '1',
prm_Branch: '01',
prm_QuoteNumber: quote,
prm_ErrorStatus: null,
prm_EffectiveDate: efectiveDate,
prm_CursorHeader: null,
prm_CursorDetails: null,
prm_CodError: null,
prm_MsgError: null
},
fnCallback: function (oResp) {
oGen.fnCargaFormulario({
formulario: 'ovQbe_pymesResumenCot',
idComponente: 'quoteContainerPymesResumen',
fnCallback: function () {
oPymesResumenCot.fnCargarDatosResumenBusqueda(oResp, quote);
}
}, 'quoteContainer');
}
});
oGen.fnBloqueoUnicoHide();
}
oPymesBusRenovacion.columnaRenovacion = function (val, reg, idx) {
//
var isChecked = (reg.BYPASSAUTORENEW === 'Y') ? "checked='checked'" : "";
return '";
};
oPymesBusRenovacion.columnaCotizacion = function (val, reg, idx) {
//
if (reg.COTRENOVACION.trim() !== "") {
return '' + reg.COTRENOVACION + '';
}
else {
return '';
}
};
oPymesBusRenovacion.fnCambiocolumnaRenovacion = function (policyNumber) {
//
var _hayCambios = false;
//
if (Array.isArray(oPymesBusRenovacion.tablaPolizas)) {
$.each(oPymesBusRenovacion.tablaPolizas, function (key, value) {
if (value.POLICYNUMBER == policyNumber) {
if (value.BYPASSAUTORENEW === "N") {
oPymesBusRenovacion.tablaPolizas[key].BYPASSAUTORENEW = "Y";
} else {
oPymesBusRenovacion.tablaPolizas[key].BYPASSAUTORENEW = "N";
}
}
if (value.BYPASSAUTORENEW !== value.BYPASSAUTORENEWACTUAL) {
_hayCambios = true;
}
});
}
//
if (_hayCambios) {
$('#btnGuardar').show();
} else {
$('#btnGuardar').hide();
}
}
oPymesBusRenovacion.gCambiados;
oPymesBusRenovacion.fnAplicarCambos = function () {
//
oPymesBusRenovacion.gCambiados = 0;
if (Array.isArray(oPymesBusRenovacion.tablaPolizas)) {
oGen.fnBloqueoUnico();
//
if (oPymesBusRenovacion.tablaPolizas.length > 0) {
oAjaxManager.appendFunctions({
processName: 'fnAplicarCambos',
deleteOldQueries: true,
success: function () {
setTimeout(function () {
$('#btnGuardar').hide();
if (oPymesBusRenovacion.gCambiados !== 0) {
MessageAlert.messagePopup('Panel de Renovaciones', 'Se aplicaron los cambios con éxito.', 0, 20);
}
}, 1000);
}
});
}
//
$.each(oPymesBusRenovacion.tablaPolizas, function (key, value) {
//
if (value.BYPASSAUTORENEW !== value.BYPASSAUTORENEWACTUAL) {
//
oGen.fnGetStore({
titulo: ' ',
params: {
prm_dataSource: 'ovQbe',
prm_funcion: 'ov.PaRenovacionesPymes.autoRenovacion',
prm_userid: oGlobal.cUsuario,
prm_userrole: oGen.lPad(oGlobal.productor.CLIENSEC, 9, '0'),
prm_userlevel: oGlobal.productor.NIVEL,
prm_PolicyNumber: value.POLICYNUMBER,
prm_mode: value.BYPASSAUTORENEWACTUAL,
prm_tipousuario: oGlobal.ais.TIPOUSUARIO,
prm_mailZurichOne: oGlobal.getOneMail()
},
fnCallback: function (oResp) {
oPymesBusRenovacion.gCambiados = oPymesBusRenovacion.gCambiados + 1;
oPymesBusRenovacion.tablaPolizas[key].BYPASSAUTORENEWACTUAL = oPymesBusRenovacion.tablaPolizas[key].BYPASSAUTORENEW;
if (key == (oPymesBusRenovacion.tablaPolizas.length - 1)) {
//
oGen.fnNoOp({
idComponente: 'fnAplicarCambos'
});
}
}
});
} else {
if (key == (oPymesBusRenovacion.tablaPolizas.length - 1)) {
//
oGen.fnNoOp({
idComponente: 'fnAplicarCambos'
});
}
}
});
//
oGen.fnBloqueoUnicoHide();
}
}
// #################################################################################################################################### //
/*
//TODO: Agregar en el PLSQL para que se carge esa funcion
oPymesBusRenovacion.fnSetDetailCol = function (val, reg, idx) {
return sBoton = "" + val + "";
};
//TODO: Agregar en el PLSQL para que se carge esa funcion
oPymesBusRenovacion.fnSetToggleInput = function (val, reg, idx) {
"use strict";
return "";
};
*/
oGlobal.initialize = function () {
oGen.fnBloqueoUnico();
oPymesBusRenovacion.fnIniciaDatePickers(oGlobal.usuarioExterno());
oGen.fnBloqueoUnicoHide();
};
$(document).ready(function () {
oGen.fnInicioForms(false);
oSalesForce.fnObtenerParametros();
if (oSalesForce.ORIGEN === 'SALESFORCE') {
$('#btnVolver').hide();
}
$('#btnGuardar').hide();
oPymesBusRenovacion.fnCbProductorCarga();
$('#btnBuscarCot').on('click', function (event) {
if (oGen.fnEsMultiClick(event)) {
return;
}
if (oGen.nvl($('#dDesde').val()) == '' || oGen.nvl($('#dHasta').val()) == '') {
MessageAlert.messagePopup('Panel de Renovaciones', 'Debe informar ambas fechas.', 0, 20);
} else {
oPymesBusRenovacion.fnSearch();
}
});
$('#btnGuardar').on('click', function (event) {
if (oGen.fnEsMultiClick(event)) {
return;
}
oPymesBusRenovacion.fnAplicarCambos();
});
});