/** *
* Objeto oQuotePymes contiene métodos y propiedades a utilizar en la cotización *
*/ var oQuotePymes = oQuotePymes || { // Se llena con el change del radio tipo de operacion renovacion: false, renovacionTest: false, sucursal: 8888, vendedor: null, legajo: null, empresaCod: null, // Se llena con el codigo de producto RAMOPCOD: null, // Se llena con el change de la combo cbProductor productor: { CODIGO: null, CLASE: null, NOMBRE: null }, // Se llena con el change de la combo cbOrganizador organizador: { CODIGO: null, CLASE: null, NOMBRE: null }, // Se llena con la busqueda de poliza: ov.paLBAWebMQ.clientesConsulta poliza: { PRODUCTOR: null, PRODUCTO: null, NUMERO: null, ESTADO: null, CLIENTE_DESCRIPCION: null } }; //MTRIPODI 06/01/2021 Objeto que viene de salesforce 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 //$("#btn-salesforce-home").hide(); //Vieje de Salesforce se oculta el boton volver a la home $('#cbProducto').prop('disabled', 'disabled'); } } catch(e) { console.log("Cotizaciones Pymes", e ); } }; oQuotePymes.fnCbProductoCarga = function () { oGen.fnComboCarga({ titulo: 'Producto', idComponente: 'cbProducto', params: { prm_dataSource: 'ovQbe', prm_funcion: 'ov.paMenuQuote.obtenerProducto', prm_ciaascod: 1, prm_usuarcod: oGlobal.cUsuario, prm_canalHsbc: oGlobal.canales.CANALHSBC, prm_pymes: 'S' }, valor: function (row) { return JSON.stringify(row); }, descripcion: 'RAMOPDAB', fnCallback: function (msg) { // No se debloquea la pantalla hasta que se cargue la combo de // producto oGen.fnBloqueaHide(); } }); }; /** * Esta función carga la combo de productores, de acuerdo al producto * seleccionado */ oQuotePymes.fnCbProductorCarga = function (cIdProducto) { oGen.fnComboLimpia('cbOrganizador'); oGen.fnComboLimpia('cbProductor'); oGen.fnComboCarga({ titulo: 'Productor', idComponente: 'cbProductor', 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) { console.log('cbProductor', data); if (data.count == 0) { oQuotePymes.userDisabled(); } else if (data.count == 1) { oQuotePymes.productor = data.records[0]; oQuotePymes.fnCbOrganizadorCarga({ prm_usuario: oGlobal.cUsuario, prm_agenteCodigo: oQuotePymes.productor.CODIGO, prm_agenteClase: oQuotePymes.productor.CLASE }); } }, valor: function (item) { return JSON.stringify(item); }, descripcion: function (item) { return item.CODIGO + ' | ' + item.CLASE + ' | ' + ((item.NOMBRE === undefined) ? '' : item.NOMBRE); } }); }; oQuotePymes.userDisabled = function () { MessageAlert.messagePopup('Selección de Producto' // , 'Su usuario no se encuentra habilitado para cotizar el producto seleccionado, por favor comuníquese con su ejecutivo de cuenta.', 0, 20); }; /** ** Llama WS getOrganzadores: *
* ** Seespera que 'prm' sea: * { * prm_usuario : 'EX009005L', * prm_agenteCodigo : 'PR', * prm_agenteClase : 1670 * } ** */ oQuotePymes.fnCbOrganizadorCarga = function (params) { // Si no es visible no se muestra if (!oGen.fnIsVisibleParent('cbOrganizador')) return; params.prm_dataSource = 'ovQbe'; params.prm_funcion = 'ov.paConsultaMQ.getOrganizadores', oGen.fnComboCarga({ titulo: 'Organizador', idComponente: 'cbOrganizador', params: params, fnCallback: function (data) { console.log('cbOrganizador', data); if (data.count == 1) { oQuotePymes.organizador = data.records[0]; } }, valor: function (item) { return JSON.stringify(item); }, descripcion: function (item) { return item.CODIGO + ' | ' + item.CLASE + ' | ' + item.NOMBRE; } }); }; oQuotePymes.fnCbSucursalCarga = function () { oGen.fnComboCarga({ titulo: 'Sucursales', idComponente: 'cbSucursal', params: { prm_dataSource: 'ovQbe', prm_funcion: 'ov.paConsultaMQ.listadoSucursalesPorBanco', prm_bancocod: oGlobal.ais.BANCOCOD }, valor: 'CCODIGO', descripcion: 'CDESCRIPCION' }); }; oQuotePymes.fnLeePoliza = function () { oGen.fnHideError('grupoBuscarPoliza'); // Toma el número del comienzo de la línea solamente var cPOLIZANN = $('#txBuscaPOLIZANN').val().trim(); var cPOLIZSEC = $('#txBuscaPOLIZSEC').val().trim(); if (cPOLIZANN.length == 0 || cPOLIZSEC.length == 0) { oGen.fnShowError({ idComponente: 'grupoBuscarPoliza', mensaje: 'Ingrese un número de póliza a buscar' }); return false; } cPoliza = oGen.lPad(cPOLIZANN, 2, '0') + oGen.lPad(cPOLIZSEC, 6, '0'); // Lee legajo oGen.fnGetStore({ titulo: 'Busca póliza', params: { prm_dataSource: 'ovQbe', prm_funcion: 'PAMQSOLO.clientesConsulta', prm_usuario: oGlobal.cUsuario, prm_nivelAS: oGlobal.productor.NIVEL, prm_cliensecAS: (oGlobal.productor.CLIENSEC === undefined) ? '' : oGlobal.productor.CLIENSEC, prm_producto: JSON.parse($('#cbProducto').val()).RAMOPCOD, prm_poliza: cPoliza, prm_estPol: 'TODAS' }, fnCallback: function (data) { var v = data.records[0]; oQuotePymes.poliza = null; $('#txPoliza').val(''); if (data.success) { if (data.count == 0) { oGen.fnShowError({ idComponente: 'grupoBuscarPoliza', mensaje: 'Póliza no encontrada.' }); } else { if (!oQuotePymes.renovacionTest && v.EST.trim() != 'VIGENTE') { oGen.fnShowError({ idComponente: 'grupoBuscarPoliza', mensaje: 'No se puede cotizar la renovación porque la póliza se encuentra en estado: ' + v.EST.trim() + '.' }); } else { $('#txPoliza').val(v.CLIDES + ' (' + v.EST + ')'); oQuotePymes.poliza = { PRODUCTOR: v.AGE, PRODUCTO: v.PROD, NUMERO: v.POL, ESTADO: v.EST, CLIENTE_DESCRIPCION: v.CLIDES }; } } } else { $('#txPoliza').val('No existe póliza'); oQuotePymes.poliza = null; } } }); }; oQuotePymes.fnLeeCanal = function () { console.log(' ov.paOVSqlGenAPI.p_parov_canales->prm_instacod :', oGlobal.ais.BANCOCOD); // Carga canales en la oGlobal oGen.fnGetStore({ titulo: 'Lee Canales de Venta', params: { prm_dataSource: 'ovQbe', prm_funcion: 'ov.paOVSqlGenAPI.p_parov_canales', prm_instacod: oGlobal.ais.BANCOCOD }, fnCallback: function (data) { // Carga los productos una vez que tiene los canales definidos if (data.records.length == 0) { oGlobal.ais.GRUPOHSBC = "N"; oGlobal.canales = { CANALHSBC: "N" }; } else { oGlobal.canales = data.records[0]; oGlobal.ais.GRUPOHSBC = oGlobal.canales.CANALHSBC; console.log(' ov.paOVSqlGenAPI.p_parov_canales->oGlobal.canales :', oGlobal.canales); } // Para que cargue el producto cuando es la primera carga // Al cambiar el combo de producto hace refresh del canal por el // cambio de usuario setTimeout(function () { oQuotePymes.fnCbProductoCarga(); }, 3000); } }); }; oQuotePymes.fnLeeVendedor = function () { oGen.fnHideError('txBuscaVendedor'); if ($('#cbSucursal').val() == '') { oGen.fnShowError({ idComponente: 'txBuscaVendedor', mensaje: 'Primero debe seleccionar sucursal' }); return false; } // Toma el número del comienzo de la línea solamente var cVendedor = $('#txBuscaVendedor').val().trim(); if (cVendedor.length == 0) { oGen.fnShowError({ idComponente: 'txBuscaVendedor', mensaje: 'Ingrese un número de legajo a buscar' }); return false; } // Lee legajo vendedor oGen.fnBloqueoUnico(true); oGen.fnGetStore({ titulo: 'Busca vendedor', params: { prm_dataSource: 'ovQbe', prm_funcion: 'ov.paConsultaMQ.legajoEmpleadoLBA', prm_bancocod: oGlobal.ais.BANCOCOD, prm_sucurcod: '3', // Empresa QBE prm_legajnum: cVendedor }, fnCallback: function (data) { if (data.records.length == 1) { oQuotePymes.fnValidarVendedor(data.records[0]); } else if (data.records.length > 1) { oConsulta.show({ consulta: 'OV_CONSUTA_LEGAJO', dataSource: 'ovQbe', data: data.records, fnCallback: function (row) { oQuotePymes.fnValidarVendedor(row); } }); } else { $('#txVendedor').val('No existe legajo'); } } }); oGen.fnBloqueoUnicoHide(); }; //Valida vendedor de la consultar oQuotePymes.fnValidarVendedor = function (v) { if (v && v.NOMBRE && v.EMPRESACOD) { $('#txVendedor').val(v.NOMBRE); oQuotePymes.vendedor = $('#txVendedor').val(); oQuotePymes.legajo = $('#txBuscaVendedor').val().trim(); oQuotePymes.empresaCod = v.EMPRESACOD; oQuotePymes.sucursal = $("#cbSucursal").val(); } else { $('#txVendedor').val('No existe legajo'); } }; oQuotePymes.fnCreaCotizacion = function () { var error = false; oGen.fnBloqueoUnico(); oGen.fnPanelErrorRemove(); try { oIntegralComercioGlobal = new oIntegralComercio_class(); oFlotaAutoGlobal = new oFlotaAutomotores_class(); } catch (error) { } if ($('#cbProducto').val() == '') { oGen.fnPanelErrorAdd('Debe seleccionar Producto', 'cbProducto'); error = true; } if ($('#cbProductor').val() == '') { oGen.fnPanelErrorAdd('Debe seleccionar Productor', 'cbProductor'); error = true; } if ($('#cbOrganizador').val() == '') { oGen.fnPanelErrorAdd('Debe ingresar un organizador', 'cbOrganizador'); error = true; } if ($('#txFecInicioVig').val() == '') { oGen.fnPanelErrorAdd('Debe ingresar una fecha inicio de vigencia', 'txFecInicioVig'); error = true; } else { try { var _fechaInicio = Number(moment($('#txFecInicioVig').val(), "DD/MM/YYYY").format("YYYYMMDD")); var _fechaHoy60 = Number(moment(oGlobal.sys_date).add(60, 'days').format("YYYYMMDD")); if (_fechaInicio > _fechaHoy60) { oGen.fnPanelErrorAdd('La fecha de inicio de vigencia no puede ser posterior a 60 día(s) a partir de la fecha de hoy.', 'txFecInicioVig'); error = true; } } catch (errorCatch) { oGen.fnPanelErrorAdd('Alguna fecha tiene formato incorrecto.', 'txFecInicioVig'); error = true; } } if ($('#cbPlazo').val() == '') { oGen.fnPanelErrorAdd('Debe establecer un Plazo', 'cbPlazo'); error = true; } if ($('#txFecFinVig').val() == '') { oGen.fnPanelErrorAdd('Debe ingresar una fecha fin de vigencia', 'txFecFinVig'); error = true; } if ($('#cbPlazo').val() == 'O') { try { var _fechaInicio = Number(moment($('#txFecInicioVig').val(), "DD/MM/YYYY").format("YYYYMMDD")); var _fechaFin = Number(moment($('#txFecFinVig').val(), "DD/MM/YYYY").format("YYYYMMDD")); var _fechaFin485 = Number(moment($('#txFecInicioVig').val(), "DD/MM/YYYY").add(485, 'days').format("YYYYMMDD")); if (_fechaInicio > _fechaFin) { oGen.fnPanelErrorAdd('La fecha de fin de vigencia no puede ser anterior a la fecha de inicio de vigencia.', 'txFecFinVig'); error = true; } else { console.log((_fechaFin , _fechaFin485)); if (_fechaFin > _fechaFin485) { oGen.fnPanelErrorAdd('El período especificado es mayor a 485 días.', 'txFecFinVig'); error = true; } } } catch (errorCatch) { oGen.fnPanelErrorAdd('Alguna fecha tiene formato incorrecto.', 'txFecInicioVig'); error = true; } } if (error) { oGen.fnBloqueoUnicoHide(); oGen.fnPanelErrorShow(); } else { oQuotePymes.sucursal = 8888; // Limpia legado si no existe var oProducto = ""; var oProductor = ""; var oOrganizador = ""; if ($('#cbProducto').val() !== "") { oProducto = JSON.parse($('#cbProducto').val()); } if ($('#cbOrganizador').val() !== "") { oOrganizador = JSON.parse($('#cbOrganizador').val()); } if ($('#cbProductor').val() !== "") { oProductor = JSON.parse($('#cbProductor').val()); } oQuotePymes.RAMOPCOD = oProducto.RAMOPCOD; var listaOpQuote = [{ RAMOPCOD: 'AUT1', appVm: 'ovQbe_flotaAutomotores', contenedor: 'quoteContainerPymes' }, { RAMOPCOD: 'ICQ1', appVm: 'ovQbe_integralComercio', contenedor: 'quoteContainerPymes' }, { RAMOPCOD: 'ICQ2', appVm: 'ovQbe_integralComercio', contenedor: 'quoteContainerPymes' }, { RAMOPCOD: 'APR1', appVm: 'ovQbe_autosMasivosCot', contenedor: 'quoteContainerPymes' }]; var opGrep = $.grep(listaOpQuote, function (valor) { return (oProducto.RAMOPCOD == valor.RAMOPCOD); }); if (opGrep.length == 0 || !opGrep[0].appVm) { oGen.fnPanelErrorAdd('No se ha implementado la aplicación que maneje cotizaciones:
* Se espera que this.value contenga el seiguiente objeto, que fue * cargado en oQuotePymes.fnCbProductoCarga *
* ** { * NUEVO_PROD : 'N', * CIAASCOD : 1, * RAMOPDAB : 'AUTOMOTORES SCORING EN PESOS', * RAMOPCOD : 'AUS1', * INTRANET : 'S', * CARTERAGENERAL : 'N', * SUBPRDTO : ' ', * CIRCUITO_REV : 'N', * RENOVACION : 'S', * MASIVO : 'S' * }; **/ // Carga combo productor $('#quoteIniciPoliza').html(oProducto.RAMOPCOD + '-'); oQuotePymes.fnCbPlazo(oProducto.RAMOPCOD); oQuotePymes.fnCbProductorCarga(oProducto.RAMOPCOD); // Muestra y/o habilita componentes if ((oProducto.CARTERAGENERAL === 'S') || (oProducto.RAMOPCOD === 'AUS1')) { oGen.fnShowParent('cbOrganizador'); if (oProducto.RAMOPCOD !== 'AUS1') { oGen.fnShowParent('raTpOperacionNuevo'); // Si no puede Renovar se deshabilita la opción del Radio // 'Renovación' if (oProducto.RENOVACION !== 'S') { $('#raTpOperacionRenovacion').prop('disabled', true); } else { $('#raTpOperacionRenovacion').prop('disabled', false); } } } else { $('.quoteBuscarPoliza').hide(); oGen.fnHideParent('cbOrganizador'); oGen.fnHideParent('raTpOperacionNuevo'); } // Setea a poliza NUeva $('input:radio[name="raTpOperacion"][value="NUEVO"]').prop('checked', true); $('.quoteBuscarPoliza').hide(); oQuotePymes.renovacion = false; if (oGlobal.ais.GRUPOHSBC == 'S' /* oProducto.MASIVO === 'S' */) { oGen.fnShowParent('txCanalVenta'); $('#txCanalVenta').val(oGlobal.ais.BANCONOM); oQuotePymes.fnCbSucursalCarga(); oGen.fnShowParent('cbSucursal'); // // Si es AUS1 y es CANALHSBC se solicita vendedor // if (oProducto.RAMOPCOD == 'AUS1') oGen.fnShowParent('txBuscaVendedor'); // else // oGen.fnHideParent('txBuscaVendedor'); // oGen.fnHideParent('txBuscaPoliza'); $('.quoteBuscarPoliza').hide(); } else { oGen.fnHideParent('txCanalVenta'); oGen.fnHideParent('cbSucursal'); oGen.fnHideParent('txBuscaVendedor'); } }); $('#cbProductor').on('change', function (event) { oGen.fnPanelErrorRemove(); oGen.fnComboLimpia('cbOrganizador'); oQuotePymes.productor = ''; if (this.value != '') { oQuotePymes.productor = JSON.parse(this.value); } oQuotePymes.fnCbOrganizadorCarga({ prm_usuario: oGlobal.cUsuario, prm_agenteCodigo: oQuotePymes.productor.CODIGO, prm_agenteClase: oQuotePymes.productor.CLASE }); }); $('#cbOrganizador').on('change', function (event) { oGen.fnPanelErrorRemove(); oQuotePymes.organizador = ''; if (this.value != '') { oQuotePymes.organizador = JSON.parse(this.value); } }); $('#cbPlazo').on('change', function (event) { oQuotePymes.fnGenerarFechaFinVigencia(); }); $('#txFecInicioVig').on('change', function (event) { oQuotePymes.fnGenerarFechaFinVigencia(); }) // Iniciliza objetos relacionados oQuotePymes.productor = null; oQuotePymes.organizador = null; oQuotePymes.poliza = null; console.log('oAjaxManager(inicio) - cbProducto', ''); oAjaxManager.appendFunctions({ processName: 'cbProducto', success: function () { console.log('oAjaxManager(ok) - cbProducto', $('#cbProducto').val()); if ($('#cbProducto').val() !== '') { console.log('oAjaxManager(ok) - cbProducto', 'change'); } else { console.log("Filtro Ramo"); $('#cbProducto').find("option").filter(function(index) { try { return (JSON.parse($(this).val()).RAMOPCOD == oSalesForce.RAMOPCOD); } catch (e) { return false; } }).prop("selected", "selected"); } $('#cbProducto').trigger('change'); }, fail: function () { oAjaxManager.error('error al cargar cbProducto'); } }); });