Untitled

mail@pastecode.io avatar
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