Untitled
unknown
plain_text
a year ago
69 kB
8
Indexable
({
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);
}
}
})Editor is loading...
Leave a Comment