Untitled
unknown
plain_text
a month ago
69 kB
2
Indexable
Never
({ onInit : function(cmp, event, helper){ helper.getPaymentPlan(cmp); helper.getFormasJS(cmp); helper.verifyLinkPagamento(cmp); helper.verificaSantanderHabilitado(cmp); // Verificar se boleto > 2x vai depender de santander estar habilitado helper.verificaLosangoHabilitado(cmp); helper.verificaLiberacaoBoletoProprio(cmp); var Planos = cmp.get('v.paymentPlan'); var Plano = {}; for(var key in Planos[0]){ console.log(key); Plano[key]=undefined; } Plano.Id_Cotacao__c=cmp.get('v.quoteId'); cmp.set('v.paymentPlanInsert', Plano); cmp.set('v.PermitirCriar', false); helper.getShowEsteira(cmp, event, helper); }, onChangeFaltaPagar : function(cmp,event,helper){ console.log('puxarValoronChange') cmp.set('v.paymentPlanInsert.Valor__c', cmp.get('v.FaltaPagar')); }, CriarNovo : function(cmp, event, helper){ var Planos = cmp.get('v.paymentPlan'); var Plano = {}; console.log(Plano); for(var key in Planos[0]){ console.log(key); Plano[key]=undefined; } /*Plano.Id_Cotacao__c=cmp.get('v.quoteId'); console.log(Plano); Planos.push(Plano);*/ cmp.set('v.paymentPlanInsert', Plano); //cmp.set('v.paymentPlan', Planos); cmp.set('v.PermitirCriar', false); }, reloadPaymentList: function(cmp, event, helper){ helper.getPaymentPlan(cmp); }, runAfterReloadQuote: function(cmp, event, helper){ helper.setQuoteRecordType(cmp,event, helper); helper.verificaLiberacaoBoletoProprio(cmp, event, helper); }, addNewPlanJS : function(cmp,event,helper) { cmp.set('v.isAddOrDelPaymentLoading', true); console.log('puxarValorAddNew'); var value = cmp.find('faltaPagar').get('v.value'); cmp.set('v.paymentPlanInsert.Valor__c', value); cmp.find('addBtn').set('v.disabled',true); if (cmp.get('v.paymentPlanInsert.Valor__c') && cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c') && cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c') && cmp.get('v.paymentPlanInsert.Descricao__c') && cmp.get('v.paymentPlanInsert.Descricao__c') !='Selecione a Descrição') { var action = cmp.get('c.addNewPlan'); var creditoCliente = cmp.get('v.creditoCliente'); let creditoDisponivel = cmp.get('v.creditoValor'); let valorEscolhido = cmp.get('v.paymentPlanInsert.Valor__c'); let creditoDisponivelMenorQueValorEscolhido = creditoDisponivel < valorEscolhido; let formaDePagamentoCredito = cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c') == 'Crédito do Cliente'; if(creditoCliente && creditoDisponivelMenorQueValorEscolhido && formaDePagamentoCredito) cmp.set('v.paymentPlanInsert.Valor__c', creditoDisponivel); cmp.set('v.paymentPlanInsert.Condicao_de_Pagamento_Lkp__c', ''); cmp.set('v.paymentPlanInsert.Desconto_Condicao_Pagamento__c', cmp.get('v.DescontoMaximo')); cmp.set('v.paymentPlanInsert.Desconto_Valor_Condicao_Pagamento__c', cmp.get('v.DescontoMaximoValor')); action.setParams({ quoteId : cmp.get('v.quoteId'), paymentPlan : JSON.stringify(cmp.get('v.paymentPlanInsert')), }); action.setCallback(this, function(response){ var state = response.getState(); if(state === "SUCCESS"){ var toastEvent = $A.get('e.force:showToast'); if(toastEvent != null){ var retorno = response.getReturnValue(); if (retorno == 'Sucesso') { toastEvent.setParams({ "type" : "success", "message" : "Método de pagamento criado com sucesso!" }); toastEvent.fire(); helper.reQueryQuote(cmp, event, helper); helper.getPaymentPlan(cmp, event, helper); helper.recallDiscountCalcs(cmp, event, helper); let form = cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c'); let cond = cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c'); let desc = cmp.get('v.paymentPlanInsert.Descricao__c'); if(form && form.toLowerCase().includes('crediário') && (desc && desc.toLowerCase().includes('boleto')) && (cond && cond > 2) ){ let crediarioQuoteEvent = $A.get("e.c:CrediarioQuoteEvent"); crediarioQuoteEvent.setParams({ "acao" : "add" }); crediarioQuoteEvent.fire(); } // Santander e Losango if(cmp.get('v.boletoSantander') && cmp.get('v.isSantanderEnabled')){ helper.exibeCamposBancos(cmp); } else if (cmp.get('v.boletoLosango') && cmp.get('v.isLosangoEnabled')){ helper.exibeCamposFinanciamento(cmp, 'Losango'); } else { helper.atualizaValores(cmp, event, helper); } } else { cmp.set('v.isAddOrDelPaymentLoading', false); toastEvent.setParams({ "type" : "error", "message" : retorno }); toastEvent.fire(); } } }else if (state === "ERROR"){ var toastEvent = $A.get('e.force:showToast'); var errors = response.getError(); var chave; for (var key in errors[0].fieldErrors); { console.log(key); chave = key; } if (chave!=null) { toastEvent.setParams({ "type" : "error", "message" : "Não é possível prosseguir pois o cadastro da Condição de Pagamento está incompleto. Favor contactar o administrador do sistema!" }); toastEvent.fire(); } else { toastEvent.setParams({ "type" : "error", "message" : "Houve um erro ao salvar a alteração! " + errors[0].pageErrors[0].message }); toastEvent.fire(); } cmp.set('v.isAddOrDelPaymentLoading', false); } cmp.find('addBtn').set('v.disabled',false); }); $A.enqueueAction(action); } else { cmp.find('addBtn').set('v.disabled',false); var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Erro", "message": 'Todos os campos são de preenchimento obrigatório.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.set('v.isAddOrDelPaymentLoading', false); } }, getCondicoesJS : function(cmp,event,helper) { //cmp.find("condicoes").set('v.disabled',true); cmp.set('v.loaded', false); cmp.set('v.Condicoes',null); cmp.set('v.Descricoes',null); cmp.set('v.DescontoMaximo', null); cmp.set('v.paymentPlanInsert.Condi_o_de_Pagamento__c', null); cmp.set('v.paymentPlanInsert.Descricao__c', null); cmp.set('v.maxDiscountPercent', 0); cmp.set('v.maxDiscountValue', 0); cmp.set('v.DisabledDesconto', true); var creditoCliente = cmp.get('v.creditoValor'); var valorAPagar = cmp.get('v.paymentPlanInsert.Valor__c'); var forma = cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c'); var retorno = cmp.get('v.PaymentMethod'); var condicoes = []; for(var i in retorno.formas) { if(retorno.formas[i].nome == forma) { for(var j in retorno.formas[i].condicoes) { condicoes.push(retorno.formas[i].condicoes[j].nome); } break; } } if(forma == 'Crédito do Cliente'){ var action1 = cmp.get('c.duplicidadeCondicao'); action1.setParams({ quoteId : cmp.get('v.quoteId'), formaPagamento : 'Crédito Cliente' }); action1.setCallback(this, function(response){ let valueReturn = response.getReturnValue(); if(valueReturn === 'duplicidade'){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Duplicidade de condição", "message": 'A condição de pagamento selecionada não pode ser combinada com a condição já existente.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') cmp.find('addBtn').set('v.disabled',true); } else { var action2 = cmp.get('c.VerifyOrderAndQuoteWithCreditoCliente'); action2.setParams({ quoteId : cmp.get('v.quoteId') }); action2.setCallback(this, function(response){ let retorno = response.getReturnValue(); if(retorno == ''){ if(valorAPagar < creditoCliente) cmp.set('v.paymentPlanInsert.Valor__c',valorAPagar); else cmp.set('v.paymentPlanInsert.Valor__c',creditoCliente) } else { let retornoSplit = retorno.split("|"); let objeto = retornoSplit[0]; console.log('Retorno: '+retornoSplit); let numero = retornoSplit[1]; let idObjeto = retornoSplit[2]; let loja = retornoSplit[3]; let messageQuote = "Atenção!\nO Crédito do Cliente não pode ser utilizado em dois Orçamentos simultaneamente.\nPara utilizar o Crédito em um novo Orçamento, finalize faturando ou cancelando o Orçamento {0}.\nCaso o Orçamento mencionado não pertencer a sua loja, entre em contato com a loja de "+ loja +"."; let messageOrder = "Atenção!\nO Crédito do Cliente não pode ser utilizado neste Orçamento.\nCaso queira utilizar o Crédito em um novo Orçamento, finalize faturando ou cancelando o Pedido {0}.\nCaso o Pedido de Venda mencionado não pertencer a sua loja, entre em contato com a loja de "+ loja +"."; if(objeto == 'quote') helper.toastError(messageQuote,objeto,idObjeto,numero); else helper.toastError(messageOrder,objeto,idObjeto,numero); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') cmp.find('addBtn').set('v.disabled',true); } }); $A.enqueueAction(action2); } }); $A.enqueueAction(action1); } if(forma === 'Chq.Prazo'){ let isforma = false; let containsLoja = 'false'; var action1 = cmp.get('c.duplicidadeCondicao'); action1.setParams({ quoteId : cmp.get('v.quoteId'), formaPagamento : 'ChqPrazo' }); action1.setCallback(this, function(response){ let valueReturn = response.getReturnValue(); if(valueReturn === 'duplicidade'){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'A condição de pagamento selecionada não pode ser combinada com a condição já existente.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') cmp.find('addBtn').set('v.disabled',true); }else{ var action2 = cmp.get('c.verificaLoja'); action2.setParams({ quoteId : cmp.get('v.quoteId') }); action2.setCallback(this, function(response){ let valueReturn = response.getReturnValue(); containsLoja = valueReturn; if(containsLoja == 'true'){ let isFormaPagamento = window.confirm("A forma de pagamento selecionada requer uma análise de crédito. Deseja continuar ?"); if (isFormaPagamento) { //cmp.set('v.paymentPlanInsert.Valor__c','') cmp.set('v.paymentPlanInsert.Descricao__c', null); cmp.set('v.showSpinner', true); cmp.find('addBtn').set('v.disabled',true); let pmtMaxixo = 0; let prazoMinimo = 0; let situacaoP1 =''; var action = cmp.get('c.sendP1'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); if(valueReturn.includes('RET_ENTRADA_MINIMA') ){ // cmp.set('v.isRecarregarSessao',true); JSON.parse(valueReturn).forEach(item => { if(item.includes("RET_ENTRADA_MINIMA") ){ cmp.set('v.pmtMaxixo',item.split('Value=')[1].replace(']','')); }else if(item.includes("RET_PRAZO_MINIMO") ){ cmp.set('v.prazoMinimo',item.split('Value=')[1].replace(']','')); }else{ if(item.includes('APROVADO')){ cmp.find('addBtn').set('v.disabled',false); var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Analise de Crédito", "message": 'Pré-Análise de Crédito - Aprovada.'+'\n'+'Favor enviar para análise de crédito final.Acesse a seção Análise de Crédito para mais informações.', "type":"success", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',false); }else if( item.includes('PENDENTE')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Analise de Crédito", "message": 'Pré-Análise de Crédito - Pendente.'+'\n'+'Favor aguardar decisão da mesa de crédito.Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') }else if(item.includes('REPROVADO') ){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Pré-Análise de Crédito - Reprovada.'+'\n'+'Favor selecionar outra condição de pagamento.Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') } cmp.set('v.situacaoP1',item); return; } }); }else{ if(valueReturn.includes('APROVADO')){ cmp.find('addBtn').set('v.disabled',false); var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Analise de Crédito", "message": 'Pré-Análise de Crédito - Aprovada.'+'\n'+'Favor enviar para análise de crédito final.Acesse a seção Análise de Crédito para mais informações.', "type":"success", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',false); var action = cmp.get('c.verifyCondicoesPagamento'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); cmp.set('v.paymentPlanInsert.Valor__c', cmp.get('v.FaltaPagar')); cmp.set('v.showSpinner', false); }); $A.enqueueAction(action); var valueReturn = response.getReturnValue(); //aqui preciso vericar se existe condições de pagamento }else if(valueReturn.includes('existem campos para preencher')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Não pode selecionar essa Forma de Pagamento: ainda existe alguns campos da conta à serem preenchidos.'+'\n'+'Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') }else if ( valueReturn.includes('PENDENTE')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Pré-Análise de Crédito - Pendente.'+'\n'+'Favor aguardar decisão da mesa de crédito.Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') }else if (valueReturn.includes('REPROVADO')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Pré-Análise de Crédito - Reprovada.'+'\n'+'Favor selecionar outra condição de pagamento.Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') }else{ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Erro ao realizar o envio da da Pré-Análise de Crédito. '+'\n'+'Motivo:'+valueReturn, "type":"error", "duration":10000, }); toastEvent.fire(); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c',''); } } cmp.set('v.showSpinner', false); }); $A.enqueueAction(action); }else { cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c',''); cmp.find('addBtn').set('v.disabled',true); isforma = false; } } }); $A.enqueueAction(action2); } }); $A.enqueueAction(action1); }else{ cmp.find('addBtn').set('v.disabled',false); } condicoes.sort((a, b) => a - b); condicoes.unshift('Selecione o Nº Parcelas'); cmp.set('v.Condicoes',condicoes); var descricoes = ['Selecione a Descrição']; cmp.set('v.Descricoes',descricoes); cmp.set('v.loaded',true); /*var action = cmp.get('c.getCondicoes'); action.setParams({ quoteId : cmp.get('v.quoteId'), Forma : cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c'), }); action.setCallback(this, function(response){ var state = response.getState(); if(state === "SUCCESS"){ var retorno = response.getReturnValue(); cmp.set('v.Condicoes', retorno); } cmp.set('v.loaded', true); //cmp.find("condicoes").set('v.disabled',false); }); $A.enqueueAction(action);*/ }, getClossSession : function(cmp) { cmp.set('v.isRecarregarSessao', false); }, getDescricoesJS : function(cmp, event, helper) { //cmp.find("descricoes").set('v.disabled',true); cmp.set('v.loaded', false); cmp.set('v.Descricoes',null); cmp.set('v.DescontoMaximo', null); cmp.set('v.paymentPlanInsert.Descricao__c', null); cmp.set('v.maxDiscountPercent', 0); cmp.set('v.maxDiscountValue', 0); cmp.set('v.DisabledDesconto', true); var forma = cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c'); if(forma.includes('Chq.Prazo')){ var action = cmp.get('c.senValuePrazoAndValor'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); if(! valueReturn.includes('ignorar')){ let prazoMinimo = valueReturn.split('-')[0].replace('"',''); let parcelaMaxima = valueReturn.split('-')[1].replace('"',''); let condicao = cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c') var numberCondicao = parseInt(condicao,10); var numberPrazoMinimo = parseInt(prazoMinimo,10); let resultado = numberPrazoMinimo - numberCondicao; let resultadoString = resultado.toString() // if(! resultadoString.includes('-')){ console.log('prazoMinimo',prazoMinimo) console.log('condicao',condicao) if( prazoMinimo != condicao && prazoMinimo != '0'){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Erro", "message": 'O valor de Parcelamento não pode ser menor que o valor fornecido pela Análise de Credito: '+prazoMinimo+' .Caso o valor seja inferior, a aprovação da proposta será realizada pela mesa de crédito.', "type":"error", "duration":10000, }); toastEvent.fire(); //cmp.set('v.paymentPlanInsert.Condi_o_de_Pagamento__c',''); } } }else{ } //} }); $A.enqueueAction(action); } var condicao = cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c') var retorno = cmp.get('v.PaymentMethod'); var descricoes = []; for(var i in retorno.formas) { if(retorno.formas[i].nome == forma) { for(var j in retorno.formas[i].condicoes) { if(retorno.formas[i].condicoes[j].nome == condicao) { for(var k in retorno.formas[i].condicoes[j].descricoes) { descricoes.push(retorno.formas[i].condicoes[j].descricoes[k].nome); } } } } } descricoes.sort(); descricoes.unshift('Selecione a Descrição'); //let isBoletoDisponivel = helper.calcularDisponibilidadeBoleto(cmp); if(cmp.get('v.isSantanderEnabled') && (forma && forma.toLowerCase() === 'crediário') && (condicao && condicao > 2) && !cmp.get('v.isBoletoProprioLiberado')){ var getFinanciamentoNegado = cmp.get('c.getFinanciamentoNegado'); getFinanciamentoNegado.setParams({ quoteId : cmp.get('v.quoteId') }); getFinanciamentoNegado.setCallback(this, function(response){ let valueReturn = response.getReturnValue(); if(!valueReturn){ descricoes = descricoes.filter(descricao => { return !descricao.toLowerCase().includes('boleto') }) } cmp.set('v.Descricoes',descricoes); cmp.set('v.loaded',true); }); $A.enqueueAction(getFinanciamentoNegado); } else { cmp.set('v.Descricoes',descricoes); cmp.set('v.loaded',true); } /*var action = cmp.get('c.getDescricoes'); action.setParams({ quoteId : cmp.get('v.quoteId'), Forma : cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c'), Condicao : cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c'), }); action.setCallback(this, function(response){ var state = response.getState(); if(state === "SUCCESS"){ var retorno = response.getReturnValue(); cmp.set('v.Descricoes', retorno); } cmp.set('v.loaded', true); //cmp.find("descricoes").set('v.disabled',false); }); $A.enqueueAction(action);*/ }, getDescontoMaximoJS : function(cmp, event, helper) { cmp.set('v.DescontoMaximo', null); let form = cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c') let cond = cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c') var desc = cmp.get('v.paymentPlanInsert.Descricao__c') let quoteRecordType = cmp.get('v.quoteRecordType'); cmp.set('v.maxDiscountPercent', 0); cmp.set('v.maxDiscountValue', 0); cmp.set('v.DisabledDesconto', true); cmp.set('v.boletoSantander', form.includes('Crediário') && desc.includes('SANTANDER')); cmp.set('v.boletoLosango', form.includes('Crediário') && desc.includes('LOSANGO')); if(desc.includes('SANTANDER') || desc.includes('LOSANGO') || desc.includes('BOLETO') || desc.includes('Boleto')) cmp.set('v.paymentPlanInsert.Descricao__c',''); let boletoSantander = cmp.get('v.boletoSantander'); if (boletoSantander){ var action = cmp.get('c.verifyStoreEnableSantander'); action.setCallback(this, function(response){ let resposta = response.getReturnValue(); if(resposta){ cmp.set('v.nomeBanco', helper.getNomeBanco(cmp)); var action1 = cmp.get('c.duplicidadeCondicao'); action1.setParams({ quoteId : cmp.get('v.quoteId'), formaPagamento : 'Santander' }); action1.setCallback(this, function(response){ let valueReturn = response.getReturnValue(); if(valueReturn === 'duplicidade'){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'A condição de pagamento selecionada não pode ser combinada com a condição já existente.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.set('v.paymentPlanInsert.Descricao__c','') cmp.find('addBtn').set('v.disabled',true); } else { let confirmaAnaliseCredito = window.confirm("A forma de pagamento selecionada requer uma análise de crédito. Deseja continuar ?"); if(confirmaAnaliseCredito){ cmp.set('v.paymentPlanInsert.Descricao__c',desc); var event = $A.get("e.c:AtualizarValidacaoEvent"); event.fire(); } else { cmp.set('v.paymentPlanInsert.Descricao__c','') } } }); $A.enqueueAction(action1); } }); $A.enqueueAction(action); } if (cmp.get('v.boletoLosango') && cmp.get('v.isLosangoEnabled')){ let validaContaPJ = cmp.get('c.validaContaPJ'); validaContaPJ.setParams({quoteId : cmp.get('v.quoteId')}); validaContaPJ.setCallback(this, function(response){ let isContaPJ = response.getReturnValue(); if(isContaPJ){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "", "message": 'Forma de Pagamento não disponível para conta PJ.', "type":"error", "duration":10000, }); toastEvent.fire(); } else { let confirmaAnaliseCredito = window.confirm("A forma de pagamento selecionada requer uma análise de crédito. Deseja continuar ?"); if(confirmaAnaliseCredito){ cmp.set('v.paymentPlanInsert.Descricao__c',desc); var event = $A.get("e.c:AtualizarValidacaoEvent"); event.fire(); //Autenticacao Losango var validarFinanciamento = cmp.get('c.validarFinanciamento'); validarFinanciamento.setParams({ quoteId : cmp.get('v.quoteId') }); validarFinanciamento.setCallback(this, function(response){ let resposta = response.getReturnValue(); if(resposta.includes('existem campos para preencher')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Não pode selecionar essa Forma de Pagamento: ainda existe alguns campos da conta à serem preenchidos.'+'\n'+'Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); //cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Descricao__c','') } }); $A.enqueueAction(validarFinanciamento); } else { cmp.set('v.paymentPlanInsert.Descricao__c',''); } } }); $A.enqueueAction(validaContaPJ); } if(form.includes('Crediário') && (desc.includes('BOLETO') || desc.includes('Boleto')) && !desc.includes('VISTA') && (quoteRecordType == 'Varejo' || quoteRecordType == 'B2B Corporativo CIF' || quoteRecordType == 'B2B Contas Nacionais CIF') ){ //Validacao valor de entrada do boleto if(cmp.get('v.paymentPlanInsert.Valor__c') && cmp.get('v.paymentPlanInsert.Valor__c') !== cmp.get('v.FaltaPagar') && !cmp.get('v.paymentPlan').length ){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Caso o financiamento tenha valor de entrada, selecione a opção de boleto por último.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.set('v.paymentPlanInsert.Descricao__c','') cmp.find('addBtn').set('v.disabled',true); return false; } //cmp.find('addBtn').set('v.disabled',true); let isforma = false; let containsLoja = 'false'; var action1 = cmp.get('c.duplicidadeCondicao'); action1.setParams({ quoteId : cmp.get('v.quoteId'), formaPagamento : 'BoletoProprio' }); action1.setCallback(this, function(response){ let valueReturn = response.getReturnValue(); if(valueReturn === 'duplicidade'){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'A condição de pagamento selecionada não pode ser combinada com a condição já existente.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.set('v.paymentPlanInsert.Descricao__c','') cmp.find('addBtn').set('v.disabled',true); }else{ var action2 = cmp.get('c.verificaLoja'); action2.setParams({ quoteId : cmp.get('v.quoteId') }); action2.setCallback(this, function(response){ let valueReturn = response.getReturnValue(); containsLoja = valueReturn; if(containsLoja == 'true'){ let isFormaPagamento = window.confirm("A forma de pagamento selecionada requer uma análise de crédito. Deseja continuar ?"); if (isFormaPagamento) { cmp.set('v.paymentPlanInsert.Descricao__c',desc); cmp.set('v.showSpinner', true); cmp.find('addBtn').set('v.disabled',true); let pmtMaxixo = 0; let prazoMinimo = 0; let situacaoP1 =''; var action = cmp.get('c.sendP1'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); if(valueReturn.includes('RET_ENTRADA_MINIMA') ){ cmp.set('v.isRecarregarSessao',true); JSON.parse(valueReturn).forEach(item => { if(item.includes("RET_PMT_MAXIMA") ){ cmp.set('v.pmtMaxixo',item.split('Value=')[1].replace(']','')); }else if(item.includes("RET_PRAZO_MINIMO") ){ cmp.set('v.prazoMinimo',item.split('Value=')[1].replace(']','')); }else{ if(item.includes('APROVADO')){ cmp.find('addBtn').set('v.disabled',false); var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Analise de Crédito", "message": 'Pré-Análise de Crédito - Aprovada.'+'\n'+'Favor enviar para análise de crédito final.Acesse a seção Análise de Crédito para mais informações.', "type":"success", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',false); //cmp.set('v.paymentPlanInsert.Descricao__c',''); }else if(item.includes('PENDENTE')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Pré-Análise de Crédito - Pendente.'+'\n'+'Favor aguardar decisão da mesa de crédito.Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') }else if(item.includes('REPROVADO')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Pré-Análise de Crédito - Reprovada.'+'\n'+'Favor selecionar outra condição de pagamento.Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') cmp.set('v.paymentPlanInsert.Condi_o_de_Pagamento__c','') cmp.set('v.paymentPlanInsert.Descricao__c','') } cmp.set('v.situacaoP1',item); var action = cmp.get('c.senValuePrazoAndValor'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); let prazoMinimo = valueReturn.split('-')[0].replace('"',''); let parcelaMaxima = valueReturn.split('-')[1].replace('"',''); let condicao = cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c') var numberCondicao = parseInt(condicao,10); var numberPrazoMinimo = parseInt(prazoMinimo,10); let resultado = numberPrazoMinimo - numberCondicao; let resultadoString = resultado.toString() if(! resultadoString.includes('-')){ console.log('prazoMinimo',prazoMinimo) console.log('condicao',condicao) if( prazoMinimo != condicao && prazoMinimo != '0'){ cmp.find('addBtn').set('v.disabled',true); var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Erro", "message": 'O valor de Parcelamento não pode ser menor que o valor fornecido pela Analise de Crédito: '+prazoMinimo+' .Caso o valor seja inferior, a aprovação da proposta será realizada pela mesa de crédito.', "type":"error", "duration":10000, }); toastEvent.fire(); } cmp.find('addBtn').set('v.disabled',false); }else{ cmp.find('addBtn').set('v.disabled',false); } var action = cmp.get('c.verifyCondicoesPagamento'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); cmp.set('v.showSpinner', false); }); $A.enqueueAction(action); //cmp.set('v.showSpinner', false); }); $A.enqueueAction(action); var action = cmp.get('c.senValuePrazoAndValor'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); let prazoMinimo = valueReturn.split('-')[0].replace('"',''); let parcelaMaxima = valueReturn.split('-')[1].replace('"',''); var valorPagamento = cmp.get('v.paymentPlanInsert.Valor__c') }); $A.enqueueAction(action); } }); }else{ //cmp.find('addBtn').set('v.disabled',false); if(valueReturn.includes('APROVADO')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Analise de Crédito", "message": 'Pré-Análise de Crédito - Aprovada.'+'\n'+'Favor enviar para análise de crédito final.Acesse a seção Análise de Crédito para mais informações.', "type":"success", "duration":10000, }); toastEvent.fire(); var action = cmp.get('c.senValuePrazoAndValor'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); let prazoMinimo = valueReturn.split('-')[0].replace('"',''); let parcelaMaxima = valueReturn.split('-')[1].replace('"',''); let condicao = cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c') var numberCondicao = parseInt(condicao,10); var numberPrazoMinimo = parseInt(prazoMinimo,10); let resultado = numberPrazoMinimo - numberCondicao; let resultadoString = resultado.toString() if(! resultadoString.includes('-')){ console.log('prazoMinimo',prazoMinimo) console.log('prazoMinimo',prazoMinimo) if( prazoMinimo != condicao && prazoMinimo != '0' ){ cmp.find('addBtn').set('v.disabled',true); var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Erro", "message": 'O valor de Parcelamento não pode ser menor que o valor fornecido pela Analise de Crédito: '+prazoMinimo+'.Caso o valor seja inferior, a aprovação da proposta será realizada pela mesa de crédito.', "type":"error", "duration":10000, }); toastEvent.fire(); //cmp.set('v.paymentPlanInsert.Valor__c','') //cmp.set('v.paymentPlanInsert.Valor__c','') //cmp.set('v.paymentPlanInsert.Descricao__c',''); } cmp.find('addBtn').set('v.disabled',false); }else{ cmp.find('addBtn').set('v.disabled',false); } var action = cmp.get('c.verifyCondicoesPagamento'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); cmp.set('v.showSpinner', false); var action = cmp.get('c.refreshView'); $A.enqueueAction(action); var event = $A.get("e.c:UpdateQuoteEvent"); event.setParams({ "message" : "updateTotal"}); event.fire(); }); $A.enqueueAction(action); //cmp.set('v.showSpinner', false); }); $A.enqueueAction(action); var action = cmp.get('c.senValuePrazoAndValor'); action.setParams({ quoteId : cmp.get('v.quoteId') }); action.setCallback(this, function(response){ var valueReturn = response.getReturnValue(); let prazoMinimo = valueReturn.split('-')[0].replace('"',''); let parcelaMaxima = valueReturn.split('-')[1].replace('"',''); var valorPagamento = cmp.get('v.paymentPlanInsert.Valor__c') }); $A.enqueueAction(action); //cmp.find('addBtn').set('v.disabled',false); }else{ if(valueReturn.includes('existem campos para preencher')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Não pode selecionar essa Forma de Pagamento: ainda existe alguns campos da conta à serem preenchidos.'+'\n'+'Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') cmp.set('v.paymentPlanInsert.Condi_o_de_Pagamento__c','') cmp.set('v.paymentPlanInsert.Descricao__c','') }else if(valueReturn.includes('PENDENTE')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Pré-Análise de Crédito - Pendente.'+'\n'+'Favor aguardar decisão da mesa de crédito.Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') cmp.set('v.paymentPlanInsert.Condi_o_de_Pagamento__c','') cmp.set('v.paymentPlanInsert.Descricao__c','') }else if(valueReturn.includes('REPROVADO')){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Pré-Análise de Crédito - Reprovada.'+'\n'+'Favor selecionar outra condição de pagamento.Acesse a seção Análise de Crédito para mais informações.', "type":"error", "duration":10000, }); toastEvent.fire(); cmp.find('addBtn').set('v.disabled',true); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') cmp.set('v.paymentPlanInsert.Condi_o_de_Pagamento__c','') cmp.set('v.paymentPlanInsert.Descricao__c','') }else{ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Análise de Crédito", "message": 'Erro ao realizar o envio da da Pré-Análise de Crédito. '+'\n'+'Motivo:'+valueReturn, "type":"error", "duration":10000, }); toastEvent.fire(); cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') cmp.find('addBtn').set('v.disabled',false); } } var event = $A.get("e.c:RefreshViewEvent"); event.fire(); } cmp.set('v.showSpinner', false); var action = cmp.get('c.refreshView'); $A.enqueueAction(action); }); $A.enqueueAction(action); }else{ cmp.set('v.paymentPlanInsert.Forma_de_Pagamento__c','') cmp.set('v.paymentPlanInsert.Condi_o_de_Pagamento__c', null); cmp.set('v.paymentPlanInsert.Descricao__c', null); cmp.find('addBtn').set('v.disabled',true); isforma = false; } }else{ cmp.find('addBtn').set('v.disabled',false); } }); $A.enqueueAction(action2); } }); $A.enqueueAction(action1); }else{ //cmp.find('addBtn').set('v.disabled',false); } var action = cmp.get('c.getDescontoMaximo'); action.setParams({ quoteId : cmp.get('v.quoteId'), Forma : cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c'), Condicao : cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c'), Descricao : cmp.get('v.paymentPlanInsert.Descricao__c') }); action.setCallback(this, function(response){ var state = response.getState(); if (state === "SUCCESS") { var retorno = response.getReturnValue(); if (retorno != '' && retorno > 0) { var valorPagamento = cmp.get('v.paymentPlanInsert.Valor__c') var maxDiscountPercent = parseFloat(retorno); var maxDiscountValue = ((valorPagamento*maxDiscountPercent)/100).toFixed(2); let quoteVendasCorporativas = cmp.get('v.quoteRecordType') == 'Vendas Corporativas'; cmp.set('v.maxDiscountPercent', retorno); cmp.set('v.maxDiscountValue', maxDiscountValue); cmp.set('v.DisabledDesconto', false); if (quoteVendasCorporativas) { cmp.set('v.DescontoMaximo', retorno); cmp.set('v.DescontoMaximoValor', maxDiscountValue); } cmp.set('v.DisabledDesconto', quoteVendasCorporativas); } else { cmp.set('v.maxDiscountPercent', 0); cmp.set('v.maxDiscountValue', 0); cmp.set('v.DisabledDesconto', true); cmp.set('v.DescontoMaximo', null); cmp.set('v.DescontoMaximoValor', null); } } }); $A.enqueueAction(action); }, checkVisibleTable : function(cmp) { var count = 0; for (var prop in cmp.get('v.paymentPlan')) { if (cmp.get('v.paymentPlan')[prop].Id!=undefined) { count++; } } if (count > 0) { cmp.set('v.showTable', true); } else { cmp.set('v.showTable', false); } }, onChangePaymentPlan : function(cmp, event, helper) { var paymentPlan = cmp.get('v.paymentPlan'); if (paymentPlan.length > 0) { cmp.set('v.desabilitarDesconto', true); } else { cmp.set('v.desabilitarDesconto', false); } }, formPress: function(cmp, event, helper) { var input = event.getSource(); var auraId = input.getLocalId(); var oinput = false; switch (auraId) { case 'descontoCondicaoPagamento': oinput = cmp.find("descontoValorCondicaoPagamento"); break; case 'descontoValorCondicaoPagamento': oinput = cmp.find("descontoCondicaoPagamento"); break; default: alert('error'); } if (oinput) { if (input.get('v.value') != '') { oinput.set('v.value',''); } else { input.set('v.disabled', false); oinput.set('v.disabled', false); } } }, showTooltip : function(c, e, h) { c.set("v.tooltip" , true); }, hideTooltip : function(c,e,h){ c.set("v.tooltip" , false); }, setCamposBancoEvent: function(cmp, event, helper){ helper.callDomains(cmp); }, handleLiberarBoletoProprio: function(cmp, event, helper){ cmp.set('v.showSpinner', true); let isChecked = event.getSource().get("v.checked"); cmp.set('v.isBoletoProprioLiberado', isChecked); cmp.get('v.exibeLiberarBoletoProprio'); var toastEvent = $A.get("e.force:showToast"); if(cmp.get('v.quoteStatus').Status !== 'Novo' && cmp.get('v.quoteStatus').Status !== 'Aprovado') { toastEvent.setParams({ type: "Error", message: 'Erro! Não é possível liberar o boleto próprio pois o orçamento foi convertido' }); toastEvent.fire(); cmp.set('v.showSpinner', false); } else if(cmp.get('v.exibeLiberarBoletoProprio')){ var setLiberacaoBoletoProprio = cmp.get('c.setLiberacaoBoletoProprio'); setLiberacaoBoletoProprio.setParams({ quoteId: cmp.get('v.quoteId'), value: isChecked }); setLiberacaoBoletoProprio.setCallback(this, function(response){ if(cmp.get('v.paymentPlanInsert') && cmp.get('v.paymentPlanInsert.Forma_de_Pagamento__c') && cmp.get('v.paymentPlanInsert.Condi_o_de_Pagamento__c')){ var getDescricoes = cmp.get('c.getDescricoesJS'); getDescricoes.setParams({ cmp : cmp, event: event, helper: helper }); $A.enqueueAction(getDescricoes); } let msgSucesso = 'O uso do boleto foi autorizado para esse pedido!'; if(!isChecked){ msgSucesso = 'O uso do boleto foi bloqueado para esse pedido!'; } toastEvent.setParams({ type: "Success", message: msgSucesso }); toastEvent.fire(); cmp.set('v.showSpinner', false); }); $A.enqueueAction(setLiberacaoBoletoProprio); } } })
Leave a Comment