Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function () {
- 'use strict';
- angular.module('PosRest.pagar').
- controller('pagarController', pagarController);
- pagarController.$inject = ['$http', "prodState",'$state','localStorageService','$scope','$filter','toaster','deviceDetector','$interval','$window']
- function pagarController($http, prodState, $state, localStorageService,$scope,$filter,toaster,deviceDetector,$interval,$window) {
- var vm = this
- //vm.filtrarCartItems = filtrarCartItems;
- vm.LlamadoFuncion = LlamadoFuncion;
- //vm.nexCartPage = nexCartPage;<
- //vm.prevCartPage = prevCartPage;
- vm.select = select;
- vm.borrarCant = borrarCant;
- vm.limpiar = limpiar;
- vm.cantSalir = cantSalir;
- vm.cantListo = cantListo;
- vm.selectCampo = selectCampo;
- vm.listo = listo;
- vm.regresar = regresar;
- vm.mostrarTeclado = mostrarTeclado;
- vm.teclear = teclear;
- vm.borrar = borrar;
- vm.teclListo = teclListo;
- vm.validarCupon = validarCupon;
- vm.aplicaCupon = aplicaCupon;
- vm.validarCertificado = validarCertificado;
- vm.aplicacertificado = aplicacertificado;
- vm.selCampo = selCampo;
- vm.selectMonto = selectMonto;
- vm.borrarCampo = borrarCampo;
- vm.selectPasarela = selectPasarela;
- vm.digitalizar = digitalizar;
- vm.salvarDatosCliente = salvarDatosCliente;
- vm.limpiarDescuento = limpiarDescuento;
- vm.limpiarPago = limpiarPago;
- vm.aplicaDescManual = aplicaDescManual;
- vm.suma = suma;
- vm.igual = igual;
- vm.resta = resta;
- vm.multiplica = multiplica;
- vm.divide = divide;
- vm.reversarCertificados = reversarCertificados;
- vm.validarCargos = validarCargos;
- vm.listaPagos = listaPagos;
- vm.selectLimPago = selectLimPago;
- vm.borrarLimPago = borrarLimPago;
- vm.GetEmpresa = GetEmpresa;
- vm.selectedEmpresa = selectedEmpresa;
- vm.inputchanged = inputchanged;
- vm.calculatarjeta = calculatarjeta;
- vm.pagaCarnet = pagaCarnet;
- vm.snapShot = snapShot;
- vm.cuponElectronico = cuponElectronico;
- vm.setCuponElectronicoProd = setCuponElectronicoProd;
- vm.GenerarlinkDePago = GenerarlinkDePago;
- vm.copiarLink = copiarLink;
- vm.validarCamposVacios = validarCamposVacios;
- vm.setSeleccionRegalia = setSeleccionRegalia;
- vm.PagoTengo = PagoTengo;
- vm.pagoBipBip = pagoBipBip
- vm.getClienteBipBip = getClienteBipBip
- vm.pagarBipBip = pagarBipBip
- vm.sanitizeCodigoClienteBipBip = sanitizeCodigoClienteBipBip
- vm.validateMontoPuntosBips = validateMontoPuntosBips
- vm.setRedimirPuntosBipsLempiras = setRedimirPuntosBipsLempiras
- vm.validarPagoTengo = validarPagoTengo;
- vm.aplicarTENGO = aplicarTENGO;
- vm.redimirCuponElectronico = redimirCuponElectronico
- vm.autorizando = false;
- vm.Orden = [{
- encabezado: {},
- lineas: [],
- }];
- vm.funciones = [];
- vm.funcionesExtras = [];
- vm.Totales = {
- total: 0,
- subtotal: 0,
- impuestos:0,
- descuento:0
- }
- vm.lectura = {
- identidad : "",
- nombre : "",
- nacimiento : "",
- codigoTransaccion : "",
- transaccion : "",
- numOrden : ""
- }
- vm.pagoParams = {
- numOrden : "",
- formaspago : "",
- descuento : "",
- cambio : "",
- }
- vm.dataCliente = {
- consumidor : "",
- rtn : "",
- empresa : ""
- }
- vm.PagoTarjeta = {
- numtarjeta : "",
- nombre : "",
- vence : "",
- monto : "",
- autorizacion : "",
- banco : ""
- }
- vm.Tarjetas = [];
- vm.TotalPaginasCart =0;
- vm.Pagineo = 5;
- vm.CartNumItems = vm.Pagineo;
- vm.CartActivePage = 1;
- vm.formasPago = [];
- vm.pagos = [];
- vm.monto = "0.00";
- vm.funcionActual = "";
- vm.cambio = 0;
- vm.pagacon="";
- vm.nomostrar = false;
- vm.textLCD="";
- vm.opcionActual = "";
- vm.aplicar = aplicar;
- vm.enviando=false;
- vm.textLCDError = "Use su tarjeta o huella";
- vm.MensajeError = false;
- vm.enviando = false;
- vm.primero = false;
- vm.impuestos = [];
- vm.descuentoAplicado = "0.00"
- vm.requiereAuth = false;
- vm.cuponingresado = "";
- vm.giftcardIngresado = "";
- vm.ordenesDeCocina = "";
- vm.cuponvalido = "";
- vm.impuestosAplicados = [];
- vm.pasarelas = [];
- vm.formas = [];
- vm.cargosTodos = [];
- vm.cargos = [];
- vm.txtTarjeta = "";
- vm.txtVence = "";
- vm.txtAutorizacion = "";
- vm.txtNombre = "";
- vm.txtMontoTarjeta = "";
- vm.txtMontoImpuesto = "";
- vm.selectedPasarela = "";
- vm.pagandoExacto = false;
- vm.beneficios = "";
- vm.mostrarlogo = true;
- vm.datosMesa ="";
- vm.certificados = "";
- vm.giftcards = "";
- vm.esMovil=deviceDetector.isMobile();
- vm.descuentoAPlicadoCodigo = "";
- vm.totalesTemporal = {
- total : 0,
- subtotal : 0,
- descuentoAplicado : 0,
- }
- vm.certificadosAplicados = [];
- vm.giftcardsAplicados = [];
- vm.lecturaTarjeta = "";
- vm.dataIngresada = "";
- vm.anio = "";
- vm.mes = "";
- vm.dia = "";
- vm.esSeparacion = "";
- vm.tituloRedencion = ""
- vm.esCertificado = false;
- vm.esGiftcard = false;
- vm.descuentosAplicados = [];
- vm.currentLimPago = "";
- vm.esExcento = "";
- vm.encontradoCliente = false;
- vm.intervalPromise = "";
- vm.video="";
- vm.carnet = "";
- vm.pais = ""
- vm.linkDePago = "";
- vm.correo = "";
- vm.constraint = {
- audio: false,
- video: true
- };
- vm.esCuponElectronico = false;
- vm.cuponelectronicoProds=[];
- vm.validandocupon = false;
- vm.seteandoproductocupon = false;
- vm.descuentoForm = "";
- vm.pagoTengoRes = "";
- vm.tengoPagoMonto = "";
- vm.qrTengo = "";
- vm.validandopago = false;
- vm.configuraciones = []
- vm.cuponElectronicoCampaña = []
- vm.cuponesElectronicosAgregados = []
- vm.cuponesElectronicosAplicados = []
- vm.loadingPagoBipBip = false
- vm.codigoClienteBipBip = ''
- vm.clienteBipBip = {}
- vm.puntosBips = 0
- vm.montoPuntosBips = ''
- vm.redimirPuntosBipsLempiras = false
- activate();
- $.connection.hub.stop()
- $.connection.ordenHub.client.ordenActualizada
- = $.connection.ordenHub.client.ordenCreada
- = $.connection.ordenHub.client.ordenFacturada
- = () => { }
- function activate() {
- vm.esCuponElectronico = false;
- if (prodState.dataCliente) {
- vm.dataCliente = prodState.dataCliente;
- }
- loadConfiguraciones()
- loadCuponElectronicoCampaña()
- getFunciones(8);
- getFunciones(9);
- vm.pais = prodState.Pais;
- var res = prodState.getSeleccionMesaAsiento();
- vm.datosMesa = res;
- if(res.esSeparacion != "" && res.esSeparacion != undefined){
- vm.esSeparacion = res.esSeparacion.anterior;
- }
- $scope.$watch('vm.txtMontoTarjeta',function() {
- calculatarjeta();
- },true);
- $scope.$on('$viewContentLoaded', function(event,toState,toParams,fromState,fromParams){
- if(vm.focus){
- prodState.setFocus(vm.focus);
- vm.focus="";
- }
- });
- $scope.$watch('vm.lecturaTarjeta', function () {
- parsearTarjeta();
- },true);
- $scope.$watch('vm.dataIngresada', function (){
- parsearIdentidad();
- },true);
- $scope.$on('$viewContentLoaded', function(event,toState,toParams,fromState,fromParams){
- if(vm.focus){
- prodState.setFocus(vm.focus);
- vm.focus="";
- }
- })
- vm.Usuario = prodState.Usuario;
- var confCajero = prodState.confCajero;
- prodState.getTurnosCaja(vm.Usuario.usuario[0].id).then(function(data){
- if(data.length == 0 && vm.Usuario.usuario[0].puedeCobrar == "S"){
- toaster.pop('error', "ATENCION", "ERROR EN TURNO, INGRESO DE NUEVO!");
- setTimeout(function(){
- Salir();
- },5000);
- }else{
- if(vm.Usuario.usuario[0].puedeCobrar == "S")
- prodState.confCajero = {codigoCaja : data[0].cajas,codigoTurno : data[0].turnos};
- getFormasPago().then(function (){
- if (res.NumOrden){
- getOrden(res.NumOrden).then(function(){
- //calcularTotales();
- getTarjetas(res.NumOrden).then(function (data) {
- if (data.tarjetas.length > 0) {
- vm.Tarjetas = data.tarjetas;
- var total = 0;
- var dev = 0;
- angular.forEach(data.tarjetas, function (m, r) {
- if (m.aprobada == "S" && m.anulada != "S") {
- total = total + parseFloat(m.monto);
- dev = dev + parseFloat(m.devolucion)
- }
- })
- vm.pagos[2].valor = total;
- calcularCambio();
- }
- prodState.MesaAsiento.Zona = "-2";
- prodState.MesaAsiento.Mesa = { codigo_Mesa: vm.Orden[0].encabezado.codigo_Mesa };
- prodState.MesaAsiento.Asiento = { asiento: { codigo_SubMesa: vm.Orden[0].encabezado.codigo_Asiento } };
- vm.TotalPaginasCart = Math.ceil($filter('filter')(vm.Orden[0].lineas, vm.OrdenFilter).length / vm.Pagineo);
- console.log("Orden Procesada")
- vm.validarCargos();
- vm.constraint = {
- audio: false,
- video: true
- };
- });
- getRegalias(res.NumOrden).then(function(data){
- if(data.data.resultado == "OK"){
- vm.regaliaSeleccion = data.data.detalle;
- $state.transitionTo("pagar.regaliasdet");
- }
- })
- }).catch(function(e){
- $state.transitionTo("mesas.usuario")
- })
- }else{
- vm.Orden =[{
- encabezado: {},
- lineas: [],
- }];
- }
- });
- }
- });
- const cuponesElectronicosAplicados = localStorageService.get('cuponesElectronicosAplicados')
- if (!jQuery.isEmptyObject(cuponesElectronicosAplicados))
- vm.cuponesElectronicosAplicados = cuponesElectronicosAplicados
- }
- function handleSuccess(stream) {
- var videoTracks = stream.getVideoTracks();
- console.log('Using video device: ' + videoTracks[0].label);
- stream.oninactive = function () {
- console.log('Stream inactive');
- };
- window.stream = stream; // make variable available to browser console
- vm.video.srcObject = stream;
- }
- function getTarjetas(numorden) {
- return prodState.getTarjetas(numorden).then(function (data) {
- return data.data;
- });
- }
- function LlamadoFuncion(func){
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- vm.selectedCampo = "";
- vm.funcionActual = func;
- eval(func.nombre_Funcion+"()");
- }
- function getFunciones(seccion){
- return prodState.getFunciones(seccion).then(function (data){
- if(seccion==8){
- var num = 12;
- if(vm.esMovil){
- num = 4;
- }
- if(data.length<num){
- for (var i = data.length+1; i <=num; i++) {
- if(vm.esMovil){
- data.push({orden:99});
- }else{
- data.push({orden:i});
- }
- }
- }
- vm.funciones = data;
- }
- else
- vm.funcionesExtras = data;
- return data;
- })
- }
- function getFormasPago(){
- return prodState.getFormasPago().then(function(data){
- vm.formasPago = data.formas;
- vm.impuestos = data.impuestos;
- vm.pagos =[];
- vm.impuestosAplicados = [];
- vm.cargosTodos = data.cargos;
- angular.forEach(data.impuestos, function(r,k){
- vm.impuestosAplicados[r.codigo_Impuesto] = {valor:0,esDescuento : r.esDescuento};
- });
- angular.forEach(data.formas, function (row,key){
- vm.pagos[row.codigo_Pago] = {valor:0 , codigoPago : row.codigo_Pago};
- });
- })
- }
- function getOrden(numorden){
- return prodState.getOrden(numorden).then(function (data){
- prodState.getPago(numorden).then(function (data){
- });
- vm.Orden[0] = data;
- vm.Orden[0].encabezado.total == parseFloat(vm.Orden[0].encabezado.total).toFixed(2);
- vm.cambio = parseFloat(vm.Orden[0].encabezado.grantotal * -parseFloat("1.00")).toFixed(2);
- if(vm.Orden[0].encabezado.cliente != null){
- if(vm.Orden[0].encabezado.cliente.length > 0){
- vm.dataCliente.consumidor = vm.Orden[0].encabezado.cliente;
- }
- }
- if(data.encabezado.impuesto1 != null){
- vm.impuestosAplicados[1] = {valor : data.encabezado.impuesto1,esDescuento:"N"};
- }
- if(data.encabezado.impuesto2 != null){
- vm.impuestosAplicados[2] = {valor : data.encabezado.impuesto2,esDescuento:"N"};
- }
- return data;
- })
- }
- function resetDescuentoFiscal(){
- angular.forEach(vm.impuestos, function(im,l){
- if(im.esDescuento == "S"){
- vm.Orden[0].encabezado.total = vm.Orden[0].encabezado.total + vm.impuestosAplicados[im.codigo_Impuesto].valor;
- vm.impuestosAplicados[im.codigo_Impuesto].valor = 0;
- }
- })
- calcularCambio();
- }
- /** FUNCIONES METHODOS DE PAGO */
- function pagaEfec(){
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- vm.primero = true;
- var monto = 0;
- angular.forEach(vm.pagos, function (row,key){
- if(vm.funcionActual.funcionPago == row.codigoPago)
- if(row.valor > 0){
- monto = row.valor;
- }
- });
- if(monto > 0){
- vm.monto = monto;
- }else{
- vm.monto = "0.00";
- }
- $state.transitionTo("pagar.efectivo");
- }
- function pagaCarnet(){
- $state.transitionTo("pagar.descuentocaptura");
- vm.intervalPromise = $interval(function(){
- vm.video = $window.document.getElementById('cam');
- if(vm.video != null || vm.video != "" || vm.video != undefined){
- $interval.cancel(vm.intervalPromise);
- navigator.mediaDevices.getUserMedia(vm.constraint).then(handleSuccess);
- }
- console.log(vm.video);
- },1000);
- }
- function snapShot(){
- vm.video = $window.document.getElementById('cam');
- vm.canvas = $window.document.getElementById('imagen');
- vm.canvas.getContext('2d').drawImage(vm.video,0,0,vm.canvas.width,vm.canvas.height);
- vm.carnet=vm.canvas.toDataURL("image/png");
- }
- function calculatarjeta(){
- var impuestoDescuento = 0;
- angular.forEach(vm.impuestos, function(imp,key){
- if(imp.esDescuento == "S" && vm.selectedPasarela.manejaDevolucion == "N"){
- if(vm.impuestosAplicados[imp.codigo_Impuesto].valor == 0){
- vm.impuestosAplicados[imp.codigo_Impuesto].valor = (imp.porcentaje_Impuesto/100) * Math.abs((vm.cambio/1.15) - vm.cambio)
- vm.Orden[0].encabezado.total = vm.Orden[0].encabezado.total - vm.impuestosAplicados[imp.codigo_Impuesto].valor;
- impuestoDescuento = vm.impuestosAplicados[imp.codigo_Impuesto].valor;
- calcularCambio();
- }
- }
- });
- if(vm.cambio < 0){
- if(vm.txtMontoTarjeta != parseFloat(Math.abs(vm.cambio)).toFixed(2)){
- }else{
- vm.txtMontoTarjeta = parseFloat(Math.abs(vm.cambio)).toFixed(2);
- }
- if (vm.txtMontoTarjeta < vm.Orden[0].encabezado.total) {
- vm.txtMontoImpuesto = parseFloat(Math.abs((vm.txtMontoTarjeta/vm.Orden[0].encabezado.total) * parseFloat(vm.Orden[0].encabezado.impuestos) - parseFloat(impuestoDescuento))).toFixed(2);
- }else{
- vm.txtMontoImpuesto = vm.Orden[0].encabezado.impuestos;
- }
- }
- }
- function pagaTarj(){
- vm.lecturaTarjeta = "";
- vm.txtTarjeta = "";
- vm.txtVence = "";
- vm.txtNombre = "";
- vm.txtAutorizacion = "";
- if(vm.cambio < 0){
- prodState.getBancos().then(function(data){
- vm.pasarelas = data;
- angular.forEach(data, function(r,w){
- if(r.esDefault == "S"){
- vm.selectedPasarela = r;
- }
- })
- });
- var impuestoDescuento = 0;
- angular.forEach(vm.impuestos, function(imp,key){
- if(imp.esDescuento == "S" && vm.selectedPasarela.manejaDevolucion == "N"){
- if(vm.impuestosAplicados[imp.codigo_Impuesto].valor == 0){
- vm.impuestosAplicados[imp.codigo_Impuesto].valor = (imp.porcentaje_Impuesto/100) * Math.abs((vm.cambio/1.15) - vm.cambio)
- vm.Orden[0].encabezado.total = vm.Orden[0].encabezado.total - vm.impuestosAplicados[imp.codigo_Impuesto].valor;
- impuestoDescuento = vm.impuestosAplicados[imp.codigo_Impuesto].valor;
- calcularCambio();
- }
- }
- });
- if(vm.cambio < 0){
- vm.txtMontoTarjeta = parseFloat(Math.abs(vm.cambio)).toFixed(2);
- if (vm.txtMontoTarjeta < vm.Orden[0].encabezado.total) {
- vm.txtMontoImpuesto = parseFloat(Math.abs((vm.Orden[0].encabezado.total/vm.txtMontoTarjeta) * parseFloat(vm.Orden[0].encabezado.impuestos) - parseFloat(impuestoDescuento))).toFixed(2);
- }else{
- vm.txtMontoImpuesto = vm.Orden[0].encabezado.impuestos;
- }
- }
- $state.transitionTo("pagar.tarjeta");
- //prodState.setFocus("lectura");
- vm.focus="lectura";
- }else{
- vm.mostrarlogo = true;
- $state.transitionTo("pagar");
- }
- }
- function pagarExac(){
- vm.mostrarlogo=false;
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- vm.pagandoExacto = true;
- vm.monto=parseFloat(vm.Orden[0].encabezado.total).toFixed(2);
- vm.nomostrar = true;
- vm.Orden[0].encabezado.cambio = vm.cambio;
- vm.pagos[vm.funcionActual.funcionPago].valor = parseFloat(vm.pagos[vm.funcionActual.funcionPago].valor) + parseFloat(Math.abs(vm.cambio));
- calcularCambio();
- finPagar();
- }
- function paga1000(){
- vm.mostrarlogo=true;
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- vm.nomostrar = true;
- vm.monto = "1000.00";
- vm.pagos[vm.funcionActual.funcionPago].valor = vm.monto;
- calcularCambio();
- vm.Orden[0].encabezado.cambio = vm.cambio;
- $state.transitionTo("pagar");
- }
- function paga500(){
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- vm.nomostrar = true;
- vm.monto = "500.00";
- vm.pagos[vm.funcionActual.funcionPago].valor = vm.monto;
- calcularCambio();
- vm.Orden[0].encabezado.cambio = vm.cambio;
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }
- function paga1500(){
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- vm.nomostrar = true;
- vm.monto = "1500.00";
- vm.pagos[vm.funcionActual.funcionPago].valor = vm.monto;
- calcularCambio();
- vm.Orden[0].encabezado.cambio = vm.cambio;
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }
- function paga10() {
- vm.mostrarlogo = true;
- if (vm.pagos[2].valor <= 0) {
- resetDescuentoFiscal();
- }
- vm.nomostrar = true;
- vm.monto = "10.00";
- vm.pagos[vm.funcionActual.funcionPago].valor = vm.monto;
- calcularCambio();
- vm.Orden[0].encabezado.cambio = vm.cambio;
- $state.transitionTo("pagar");
- }
- function paga15() {
- vm.mostrarlogo = true;
- if (vm.pagos[2].valor <= 0) {
- resetDescuentoFiscal();
- }
- vm.nomostrar = true;
- vm.monto = "15.00";
- vm.pagos[vm.funcionActual.funcionPago].valor = vm.monto;
- calcularCambio();
- vm.Orden[0].encabezado.cambio = vm.cambio;
- $state.transitionTo("pagar");
- }
- function paga20() {
- vm.mostrarlogo = true;
- if (vm.pagos[2].valor <= 0) {
- resetDescuentoFiscal();
- }
- vm.nomostrar = true;
- vm.monto = "20.00";
- vm.pagos[vm.funcionActual.funcionPago].valor = vm.monto;
- calcularCambio();
- vm.Orden[0].encabezado.cambio = vm.cambio;
- $state.transitionTo("pagar");
- }
- function paga25() {
- vm.mostrarlogo = true;
- if (vm.pagos[2].valor <= 0) {
- resetDescuentoFiscal();
- }
- vm.nomostrar = true;
- vm.monto = "25.00";
- vm.pagos[vm.funcionActual.funcionPago].valor = vm.monto;
- calcularCambio();
- vm.Orden[0].encabezado.cambio = vm.cambio;
- $state.transitionTo("pagar");
- }
- function paga50() {
- vm.mostrarlogo = true;
- if (vm.pagos[2].valor <= 0) {
- resetDescuentoFiscal();
- }
- vm.nomostrar = true;
- vm.monto = "50.00";
- vm.pagos[vm.funcionActual.funcionPago].valor = vm.monto;
- calcularCambio();
- vm.Orden[0].encabezado.cambio = vm.cambio;
- $state.transitionTo("pagar");
- }
- function PagoTengo() {
- vm.pagoTengoRes = "";
- vm.tengoPagoMonto = "";
- vm.qrTengo = "";
- $state.transitionTo("pagar.pagoTengo");
- }
- function pagoBipBip() {
- resetPagoBipBip()
- $state.transitionTo('pagar.pagoBipBip')
- }
- function getClienteBipBip() {
- vm.loadingPagoBipBip = true
- prodState.getClienteBipBip(vm.codigoClienteBipBip).then(response => {
- if (response.status == 200) {
- vm.clienteBipBip = response.data
- vm.puntosBips = vm.clienteBipBip.puntosDisponibles
- validateMontoPuntosBips()
- } else vm.clienteBipBip.error = response.data.response
- || response.data.message
- || 'No se pudo conectar al servicio'
- vm.loadingPagoBipBip = false
- })
- }
- function setRedimirPuntosBipsLempiras(value) {
- if (vm.redimirPuntosBipsLempiras == value) return
- vm.redimirPuntosBipsLempiras = value
- if (vm.redimirPuntosBipsLempiras)
- vm.montoPuntosBips *= vm.clienteBipBip.factor
- else
- vm.montoPuntosBips /= vm.clienteBipBip.factor
- validateMontoPuntosBips()
- }
- function pagarBipBip() {
- delete vm.clienteBipBip.error
- vm.loadingPagoBipBip = true
- prodState.postPagoBipBip(
- vm.codigoClienteBipBip,
- vm.clienteBipBip.nombre,
- vm.Orden[0].encabezado.grantotal,
- vm.Orden[0].encabezado.numOrden,
- vm.puntosBips
- ).then(response => {
- if (response.status == 200) {
- notifyOrdenFacturadaBipBip()
- $state.transitionTo('pagar')
- } else vm.clienteBipBip.error = response.data.response
- || response.data.message
- || 'No se pudo conectar al servicio'
- vm.loadingPagoBipBip = false
- })
- }
- function notifyOrdenFacturadaBipBip() {
- if (!vm.configuraciones.habilitarNotificaciones) {
- toaster.pop('warning', 'LAS NOTIFICACIONES NO ESTAN HABILITADAS')
- return
- }
- $.connection.hub.disconnected(() => {
- if (!$.connection.hub.lastError) return
- console.error(`Connection hub disconnected: ${$.connection.hub.lastError}`)
- toaster.pop('error', 'LA CONEXION DE EVENTOS SE HA DESCONECTADO')
- })
- $.connection.ordenHub.client.ordenActualizada = (orden) => {
- console.log(`Connection ordenHub received: ${JSON.stringify(orden)}`)
- const encabezado = vm.Orden[0].encabezado,
- numOrden = encabezado.numOrden
- if (typeof orden !== 'object' || orden.NumOrden != numOrden) return
- const valor = (valor) => valor || 0
- encabezado.subtotal = valor(orden.SubTotal)
- if (vm.impuestos.some(element => element.codigo_Impuesto == 1))
- vm.impuestosAplicados[1].valor = valor(orden.Impuesto1)
- if (vm.impuestos.some(element => element.codigo_Impuesto == 2))
- vm.impuestosAplicados[2].valor = valor(orden.Impuesto2)
- encabezado.impuestos = valor(orden.ImptVta)
- if (vm.impuestos.some(element => element.codigo_Impuesto == 3))
- vm.impuestosAplicados[3].valor = valor(orden.Descuento_Fiscal)
- if (vm.impuestos.some(element => element.codigo_Impuesto == 4))
- vm.impuestosAplicados[4].valor = valor(orden.Descuento)
- encabezado.grantotal = valor(orden.GranTotal)
- vm.pagos[1].valor = valor(orden.MontoEfectivo)
- vm.pagos[2].valor = valor(orden.MontoTarjeta)
- vm.pagos[3].valor = valor(orden.MontoFormaPago3)
- vm.pagos[4].valor = valor(orden.MontoFormaPago4)
- vm.pagos[5].valor = valor(orden.MontoFormaPago5)
- vm.pagos[6].valor = valor(orden.MontoFormaPago6)
- vm.pagos[7].valor = valor(orden.MontoFormaPago7)
- vm.cambio = parseFloat(valor(vm.monto)) - (encabezado.grantotal - vm.pagos
- .map(e => e.valor).reduce((a, b) => a + b, 0))
- toaster.pop({
- type: 'success',
- title: `PAGO RECIBIDO DESDE BIP BIP POR ${vm.clienteBipBip.nombre.toUpperCase()}`,
- tapToDismiss: false,
- timeout: 0
- })
- }
- $.connection.hub.start()
- .done(() => {
- console.log('Connection hub started successfully')
- toaster.pop({
- type: 'info',
- title: `SOLICITUD DE PAGO ENVIADO A ${vm.clienteBipBip.nombre.toUpperCase()} EN BIP BIP`,
- tapToDismiss: false,
- timeout: 0
- })
- })
- .fail(() => {
- console.error('Connection hub failed to start')
- toaster.pop('error', 'ERROR AL INICIAR LA CONEXION DE EVENTOS')
- })
- }
- function resetPagoBipBip() {
- vm.loadingPagoBipBip = false
- vm.codigoClienteBipBip = ''
- vm.clienteBipBip = {}
- vm.puntosBips = 0
- vm.montoPuntosBips = ''
- vm.redimirPuntosBipsLempiras = false
- }
- function sanitizeCodigoClienteBipBip() {
- if (vm.codigoClienteBipBip)
- vm.codigoClienteBipBip = filterStringNumbers(vm.codigoClienteBipBip)
- else
- resetPagoBipBip()
- }
- function validateMontoPuntosBips() {
- if (typeof vm.montoPuntosBips === 'string')
- vm.montoPuntosBips = parseFloat(filterStringNumbers(vm.montoPuntosBips))
- if (!vm.montoPuntosBips)
- vm.montoPuntosBips = vm.clienteBipBip.puntosDisponibles
- vm.puntosBips = vm.redimirPuntosBipsLempiras
- ? (vm.montoPuntosBips / vm.clienteBipBip.factor)
- : vm.montoPuntosBips
- if (vm.puntosBips > vm.clienteBipBip.puntosDisponibles) {
- vm.puntosBips = vm.clienteBipBip.puntosDisponibles
- vm.montoPuntosBips = vm.redimirPuntosBipsLempiras
- ? (vm.puntosBips * vm.clienteBipBip.factor) : vm.puntosBips
- }
- const totalPuntosBips = vm.Orden[0].encabezado.grantotal / vm.clienteBipBip.factor
- if (vm.puntosBips <= totalPuntosBips) return
- vm.puntosBips = totalPuntosBips
- vm.montoPuntosBips = vm.redimirPuntosBipsLempiras
- ? vm.Orden[0].encabezado.grantotal : vm.puntosBips
- }
- function cupones(){
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- if(vm.cambio < 0){
- vm.mostrarlogo=false;
- getCupones().then(function(data){
- vm.esCuponElectronico = false;
- vm.cupones = data;
- vm.opciones = vm.cupones;
- $state.transitionTo("pagar.cupones");
- })
- }
- }
- function descuentos(){
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- if(vm.cambio < 0){
- vm.mostrarlogo=false;
- getDescuentos().then(function(data){
- vm.descuentos = data;
- vm.opciones = vm.descuentos;
- $state.transitionTo("pagar.descuentos");
- })
- }
- }
- function certificados(){
- vm.mostrarlogo=true;
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- if(vm.cambio < 0){
- vm.certificados = [];
- vm.tituloRedencion = "CERTIFICADO"
- vm.esCertificado = true;
- $state.transitionTo("pagar.certificados")
- const certificadosAplicados = localStorageService.get('certificadosAplicados')
- if (certificadosAplicados) {
- const codigoMesa = prodState.getSeleccionMesaAsiento().Mesa.codigo_Mesa,
- certificadosDisponibles = certificadosAplicados
- .filter(element => element.codigoMesa == codigoMesa)
- .filter(({ correlativo }) => !vm.certificadosAplicados
- .some(element => element.correlativo == correlativo))
- if (certificadosDisponibles) {
- vm.ordenesDeCocina = vm.certificadoIngresado = certificadosDisponibles[0].correlativo
- vm.focus = 'validar-certificado'
- validarCertificado()
- return
- }
- }
- vm.certificadoIngresado = ''
- vm.focus = 'exampleInputEmail1'
- }
- /*
- getCertificados().then(function(data){
- vm.certificados = data;
- vm.opciones = vm.certificados;
- })
- */
- }
- function giftcards(){
- vm.mostrarlogo=true;
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- if(vm.cambio < 0){
- vm.giftcardIngresado = "";
- vm.giftcards = [];
- vm.tituloRedencion = "GIFTCARD"
- vm.esGiftcard = true;
- $state.transitionTo("pagar.giftcards")
- vm.focus = "exampleInputEmail1"
- }
- }
- function getDescuentos(){
- return prodState.getDescuentos().then(function (data){
- vm.Descuentos = data;
- return data;
- });
- }
- function getCupones(){
- return prodState.getCupones().then(function (data){
- vm.Cupones = data;
- return data;
- });
- }
- function getCertificados(){
- return prodState.getCertificados().then(function (data){
- vm.certificados = data;
- return data;
- });
- }
- /*
- function filtrarCartItems(){
- if(vm.Orden[0]){
- vm.CartItems = vm.Orden[0].lineas.slice(vm.CartNumItems - vm.Pagineo, vm.CartNumItems);
- }else{
- vm.CartItems = [];
- }
- return vm.CartItems;
- }
- function nexCartPage(){
- var total = vm.Orden[0].lineas.length;
- console.log(total);
- if (vm.CartActivePage +1 <= Math.ceil(total/vm.Pagineo)){
- vm.CartActivePage = vm.CartActivePage + 1;
- vm.CartNumItems = vm.CartActivePage * vm.Pagineo;
- }
- }
- function prevCartPage(){
- var total = vm.Orden[0].lineas.length;
- if (vm.CartActivePage -1 < Math.ceil(total/vm.Pagineo) && vm.CartActivePage -1 > 0 ){
- vm.CartActivePage = vm.CartActivePage - 1;
- vm.CartNumItems = vm.CartActivePage * vm.Pagineo;
- }
- }
- */
- /* FUNCIONES DE CALCULOS */
- function calcularTotales(){
- //vm.Orden[0].encabezado.subtotal = vm.Totales.subtotal;
- prodState.calcularTotales(vm.Orden[0].encabezado.numOrden).then(function(data){
- console.log("TotalesRecibidos");
- vm.Orden[0].encabezado.Impuestos = data.impuestos;
- vm.Orden[0].encabezado.Descuento = data.orden_Descuento;
- vm.Orden[0].encabezado.total = data.total;
- vm.Orden[0].encabezado.cambio = "0";
- vm.total = data.total.toFixed(2);
- })
- }
- function calcularCambio(){
- var total = 0;
- angular.forEach(vm.pagos,function (row,key){
- total = parseFloat(total) + parseFloat(row.valor);
- })
- if(vm.certificadosAplicados.length > 0){
- var total2 = 0;
- angular.forEach(vm.certificadosAplicados, function (e,w){
- total2 = total2 + e.total;
- });
- if(total2 < vm.Orden[0].encabezado.grantotal){
- vm.cambio = parseFloat(total).toFixed(2) - parseFloat(vm.Orden[0].encabezado.grantotal).toFixed(2);
- }else{
- vm.cambio = 0;
- }
- //if(vm.certificados.certificado.total < vm.Orden[0].encabezado.total){
- // vm.cambio = parseFloat(total) - parseFloat(vm.Orden[0].encabezado.total);
- //}else{
- // vm.cambio = 0;
- //}
- }else{
- vm.cambio = parseFloat(total).toFixed(2) - parseFloat(vm.Orden[0].encabezado.grantotal).toFixed(2);
- }
- if(vm.giftcardsAplicados.length > 0){
- var total2 = 0;
- angular.forEach(vm.giftcardsAplicados, function (e,w){
- total2 = total2 + e.valor;
- });
- if(total2 < vm.Orden[0].encabezado.grantotal){
- vm.cambio = parseFloat(total).toFixed(2) - parseFloat(vm.Orden[0].encabezado.grantotal).toFixed(2);
- }else{
- vm.cambio = 0;
- }
- }
- }
- /** FUNCIONES DEL TECLADO **/
- function teclListo(){
- if($state.current.name == "pagar.cupones.formulario.teclado"){
- vm.cuponingresado = vm.ordenesDeCocina;
- vm.ordenesDeCocina = "";
- $state.transitionTo("pagar.cupones.formulario");
- }else{
- if ($state.current.name == "pagar.certificados.teclado") {
- if (vm.certificadoIngresado !== vm.ordenesDeCocina) {
- vm.certificadoIngresado = vm.ordenesDeCocina
- vm.certificados = []
- }
- $state.transitionTo("pagar.certificados")
- }else{
- if($state.current.name.indexOf("digitalizar.teclado") > -1){
- if(vm.selectedCampo == "n"){
- vm.lectura.nombre = vm.ordenesDeCocina;
- }
- if (vm.selectedCampo == "m"){
- vm.lectura.motivo = vm.ordenesDeCocina;
- }
- if (vm.selectedCampo == "cd"){
- vm.lectura.codigo = vm.ordenesDeCocina;
- }
- vm.ordenesDeCocina = "";
- var estado = $state.current.name.split(".")[1];
- $state.transitionTo("pagar." + estado + ".digitalizar");
- }else{
- if($state.current.name == "pagar.tarjeta.teclado"){
- vm.txtNombre = vm.ordenesDeCocina;
- vm.ordenesDeCocina = "";
- $state.transitionTo("pagar.tarjeta");
- }else{
- if($state.current.name =="pagar.datos.tecladoConsumidor"){
- vm.dataCliente.consumidor = vm.ordenesDeCocina;
- vm.ordenesDeCocina = "";
- $state.transitionTo("pagar.datos");
- }else{
- if($state.current.name =="pagar.datos.tecladoEmpresa"){
- vm.dataCliente.empresa = vm.ordenesDeCocina;
- vm.ordenesDeCocina = "";
- $state.transitionTo("pagar.datos");
- }else{
- if($state.current.name == "pagar.giftcards.teclado"){
- vm.giftcardIngresado = vm.ordenesDeCocina;
- vm.ordenesDeCocina = "";
- $state.transitionTo("pagar.giftcards");
- }
- }
- }
- }
- }
- }
- }
- }
- function select(num){
- prodState.setFocus('pass');
- vm.MensajeError = false;
- vm.textLCDError = "";
- if(vm.primero){
- vm.monto = ""
- vm.primero = false;
- }
- if($state.current.name == "pagar.autorizacion"){
- vm.textLCD= vm.textLCD + num
- }else{
- if(vm.selectedCampo){
- if(vm.selectedCampo =="t"){
- vm.txtTarjeta = vm.txtTarjeta + num ;
- prodState.setFocus("tarjeta");
- }else{
- if(vm.selectedCampo =="v"){
- if(vm.txtVence.length <5){
- if(vm.txtVence.length == 2){
- vm.txtVence = vm.txtVence + "/";
- }
- vm.txtVence = vm.txtVence + num;
- prodState.setFocus("vence");
- }
- }else{
- if(vm.selectedCampo == "a"){
- vm.txtAutorizacion = vm.txtAutorizacion + num;
- prodState.setFocus("auth");
- }else{
- if(vm.selectedCampo == "x"){
- vm.txtMontoTarjeta = vm.txtMontoTarjeta + num;
- angular.forEach(vm.impuestos, function(imp,key){
- if(imp.esDescuento == "S" && vm.selectedPasarela.manejaDevolucion == 'N'){
- resetDescuentoFiscal();
- vm.impuestosAplicados[imp.codigo_Impuesto].valor = (imp.porcentaje_Impuesto/100) * Math.abs((vm.txtMontoTarjeta/1.15) - vm.txtMontoTarjeta)
- vm.Orden[0].encabezado.total = vm.Orden[0].encabezado.total - vm.impuestosAplicados[imp.codigo_Impuesto].valor;
- calcularCambio(true);
- }
- });
- prodState.setFocus("montoT");
- }else{
- vm.textLCD = vm.textLCD + num;
- }
- }
- }
- }
- }else{
- vm.monto = String(vm.monto) + String(num);
- }
- }
- }
- function limpiar(){
- vm.monto ="";
- vm.textLCD = "0";
- prodState.setFocus("pass");
- }
- function borrarCant(){
- vm.monto = vm.monto.substring(0,vm.monto.length -1);
- prodState.setFocus("pass");
- }
- function borrarCampo(){
- if(vm.selectedCampo){
- if(vm.selectedCampo =="t"){
- vm.txtTarjeta = vm.txtTarjeta.substring(0,vm.txtTarjeta.length -1);
- prodState.setFocus('tarjeta');
- }else{
- if(vm.selectedCampo =="v"){
- vm.txtVence = vm.txtVence.substring(0,vm.txtVence.length -1);
- prodState.setFocus('vence');
- }else{
- if(vm.selectedCampo == "a"){
- vm.txtAutorizacion = vm.txtAutorizacion.substring(0,vm.txtAutorizacion.length -1);
- prodState.setFocus('auth');
- }else{
- if(vm.selectedCampo == "x"){
- vm.txtMontoTarjeta = vm.txtMontoTarjeta.substring(0,vm.txtMontoTarjeta.length -1);
- prodState.setFocus('montoT');
- }else{
- if(vm.selectedCampo == "x"){
- $state.transitionTo("pagar.teclado")
- }
- }
- }
- }
- }
- }
- }
- function cantSalir(){
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- if($state.current.name.indexOf("digitalizar.numpad") > -1){
- var estado = $state.current.name.split(".")[1];
- vm.textLCD = "";
- } else if ($state.current.name == 'pagar.pagoBipBip.numpad') {
- vm.textLCD = ''
- } else {
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }
- }
- function cantListo(){
- if($state.current.name.indexOf("digitalizar") == -1){
- var proceder = true;
- if($state.current.name == "pagar.tarjeta"){
- // if (vm.txtAutorizacion == "" && vm.selectedPasarela.autorizacionAutomatica == "N" && vm.selectedPasarela.tipoConexion == "O") {
- // prodState.setFocus("auth");
- // vm.selectedCampo = 'a'
- // proceder = false;
- // }else{
- // if (vm.txtAutorizacion.length >= 12 && vm.selectedPasarela.autorizacionAutomatica == "N" && vm.selectedPasarela.tipoConexion == "O") {
- // prodState.setFocus("auth");
- // vm.selectedCampo = 'a'
- // proceder = false;
- // }
- // }
- if (vm.txtNombre == "" && vm.selectedPasarela.tipoConexion == "M") {
- prodState.setFocus("nombre");
- vm.selectedCampo = 'p'
- proceder = false;
- }else{
- if (vm.txtNombre.length >= 40 && vm.selectedPasarela.tipoConexion == "M") {
- proceder = false;
- prodState.setFocus("nombre");
- vm.selectedCampo = 'p';
- }
- }
- if (vm.txtVence == "" && vm.selectedPasarela.tipoConexion == "M") {
- prodState.setFocus("vence");
- vm.selectedCampo = 'v'
- proceder = false;
- }else{
- if(vm.txtVence.length > 5 && vm.selectedPasarela.tipoConexion == "M"){
- proceder = false;
- prodState.setFocus("vence");
- vm.selectedCampo = 'v'
- }
- }
- if (vm.txtTarjeta == "" && vm.selectedPasarela.tipoConexion == "M") {
- prodState.setFocus("tarjeta");
- vm.selectedCampo = 't'
- proceder = false;
- }else{
- if (vm.txtTarjeta.length > 18 && vm.selectedPasarela.tipoConexion == "M") {
- toaster.pop("error","","Numero de Tarjeta Invalido");
- proceder = false;
- prodState.setFocus("tarjeta");
- vm.selectedCampo = 't'
- }
- }
- if(vm.selectedPasarela.tipoConexion == "L"){
- }else{
- if(vm.selectedPasarela.autorizacionAutomatica == "N" && proceder){
- if(parseFloat(parseFloat(vm.txtMontoTarjeta).toFixed(2)) > parseFloat(Math.abs(vm.cambio).toFixed(2))){
- toaster.pop("error","","El monto no puede ser mayor a " + Math.abs(vm.cambio).toFixed(2));
- proceder = false;
- }else{
- var info = {};
- info.numtarjeta = vm.txtTarjeta || "XXXXXXXX";
- info.nombre = vm.txtNombre || "Cliente Tarjeta";
- info.vence = vm.txtVence || "";
- info.monto = vm.txtMontoTarjeta;
- info.autorizacion = vm.txtAutorizacion;
- info.banco = vm.selectedPasarela.codigoBanco;
- info.numOrden = vm.Orden[0].encabezado.numOrden;
- info.impuesto = vm.txtMontoImpuesto;
- info.autorizada = ""
- vm.PagoTarjeta.numtarjeta = vm.txtTarjeta || "XXXXXXXX";
- vm.PagoTarjeta.nombre = vm.txtNombre || "Cliente Tarjeta";
- vm.PagoTarjeta.vence = vm.txtVence || "";
- vm.PagoTarjeta.monto = vm.txtMontoTarjeta;
- vm.PagoTarjeta.autorizacion = vm.txtAutorizacion;
- vm.PagoTarjeta.banco = vm.selectedPasarela.codigoBanco;
- vm.PagoTarjeta.numOrden = vm.Orden[0].encabezado.numOrden;
- vm.PagoTarjeta.impuesto = vm.txtMontoImpuesto;
- vm.pagos[vm.funcionActual.funcionPago].valor = parseFloat(vm.pagos[vm.funcionActual.funcionPago].valor) + parseFloat(vm.txtMontoTarjeta);
- vm.Tarjetas.push(info);
- }
- }else{
- if(vm.selectedPasarela.autorizacionAutomatica == "S" && proceder){
- if(parseFloat(parseFloat(vm.txtMontoTarjeta).toFixed(2)) > parseFloat(Math.abs(vm.cambio).toFixed(2))){
- toaster.pop("error","","El monto no puede ser mayor a " + Math.abs(vm.cambio).toFixed(2));
- proceder = false;
- }else{
- var info = {};
- info.numtarjeta = vm.txtTarjeta;
- info.nombre = vm.txtNombre;
- info.vence = vm.txtVence;
- info.monto = vm.txtMontoTarjeta;
- info.autorizacion = vm.txtAutorizacion;
- info.banco = vm.selectedPasarela.codigoBanco;
- info.numOrden = vm.Orden[0].encabezado.numOrden;
- info.impuesto = vm.txtMontoImpuesto;
- info.autorizada = ""
- vm.PagoTarjeta.numtarjeta = vm.txtTarjeta;
- vm.PagoTarjeta.nombre = vm.txtNombre;
- vm.PagoTarjeta.vence = vm.txtVence;
- vm.PagoTarjeta.monto = vm.txtMontoTarjeta;
- vm.PagoTarjeta.autorizacion = vm.txtAutorizacion;
- vm.PagoTarjeta.banco = vm.selectedPasarela.codigoBanco;
- vm.PagoTarjeta.numOrden = vm.Orden[0].encabezado.numOrden;
- vm.PagoTarjeta.impuesto = vm.txtMontoImpuesto;
- vm.pagos[vm.funcionActual.funcionPago].valor = parseFloat(vm.pagos[vm.funcionActual.funcionPago].valor) + parseFloat(vm.txtMontoTarjeta);
- vm.Tarjetas.push(info);
- }
- }
- }
- }
- }else{
- if($state.current.name == "pagar.efectivo"){
- if(vm.monto != "."){
- vm.pagos[vm.funcionActual.funcionPago].valor = vm.monto;
- }else{
- vm.pagos[vm.funcionActual.funcionPago].valor = "0.00";
- }
- }else{
- if($state.current.name == "pagar.datos.numpad"){
- vm.dataCliente.rtn = vm.textLCD;
- proceder = false;
- $state.transitionTo("pagar.datos");
- }else{
- if($state.current.name == "pagar.datos.ordenCompraEx") {
- vm.dataCliente.ordenCompraEx = vm.textLCD;
- proceder = false;
- $state.transitionTo("pagar.datos");
- }else{
- if($state.current.name == "pagar.datos.constanciaRegistroEx") {
- vm.dataCliente.constanciaRegistroEx = vm.textLCD;
- proceder = false;
- $state.transitionTo("pagar.datos");
- }else{
- if($state.current.name == "pagar.datos.registroSAG") {
- vm.dataCliente.registroSAG = vm.textLCD;
- proceder = false;
- $state.transitionTo("pagar.datos");
- } else if ($state.current.name == 'pagar.pagoBipBip.numpad') {
- if (vm.textLCD) {
- switch (vm.selectedCampo) {
- case 'CodigoClienteBipBip':
- vm.codigoClienteBipBip = vm.textLCD
- getClienteBipBip()
- break
- case 'MontoPuntosBips':
- vm.montoPuntosBips = vm.textLCD
- validateMontoPuntosBips()
- break
- }
- vm.textLCD = ''
- }
- $state.transitionTo('pagar.pagoBipBip')
- return
- }
- }
- }
- }
- }
- }
- if(proceder){
- calcularCambio();
- vm.Orden[0].encabezado.cambio = vm.cambio;
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- vm.mostrarlogo=true;
- if(vm.selectedPasarela.tipoConexion == 'M'){
- var data = { "tarjetas": vm.Tarjetas }
- vm.autorizando = true;
- pagarTarjeta(data).then(function (w) {
- }).catch(function (e) {
- vm.autorizando = false;
- toaster.pop('error', '', e.toString());
- })
- }else{
- $state.transitionTo("pagar");
- }
- }else{
- //toaster.pop('error','' ,'Debe Ingresar codigo de autorizacion');
- }
- }else{
- if($state.current.name.indexOf("digitalizar.numpad") > -1 || $state.current.name.indexOf("digitalizar.telefono") > -1){
- var proceder = false;
- if (vm.selectedCampo == "i") {
- if (vm.pais == 'SV') {
- if (vm.textLCD.length >= 9) {
- vm.lectura.identidad = vm.textLCD;
- proceder = true;
- }
- }
- if (vm.pais == 'HN') {
- if (vm.textLCD.length >= 13) {
- vm.lectura.identidad = vm.textLCD;
- proceder = true;
- }
- }
- }else{
- if(vm.selectedCampo == "c1"){
- if(vm.textLCD.length == 4){
- vm.anio = vm.textLCD;
- proceder = true;
- }
- }else{
- if(vm.selectedCampo == "c2"){
- if(vm.textLCD.length == 2){
- if(parseInt(vm.textLCD) <=12){
- vm.mes = vm.textLCD;
- proceder = true;
- }
- }
- }else{
- if(vm.selectedCampo == "c3"){
- if(parseInt(vm.textLCD) <= 31){
- if(vm.textLCD.length == 2){
- vm.dia = vm.textLCD;
- proceder = true;
- }
- }
- }else{
- if(vm.selectedCampo == "t"){
- if(vm.textLCD.length > 0){
- vm.lectura.telefono = vm.textLCD;
- proceder = true;
- }
- }else{
- if(vm.selectedCampo == "tf"){
- if(vm.textLCD.length > 0){
- vm.lectura.telefono = vm.textLCD;
- proceder = true;
- }
- }
- }
- }
- }
- }
- }
- if(proceder){
- vm.selectedCampo = "";
- vm.textLCD ="";
- var estado = $state.current.name.split(".")[1];
- $state.transitionTo("pagar." + estado + ".digitalizar");
- }else{
- toaster.pop("error","","Datos incorrectos")
- //prodState.setFocus("pass");
- vm.focus ="pass";
- }
- }
- }
- }
- function excentos(){
- vm.dataIngresada = "";
- vm.lectura.identidad = "";
- vm.lectura.anio = "";
- vm.lectura.mes = "";
- vm.lectura.dia = "";
- vm.lectura.nombre = "";
- vm.lectura.transaccion = "EX";
- $state.transitionTo("pagar.excento.digitalizar");
- }
- function selectLimPago(id){
- vm.currentLimPago = id;
- switch(id){
- case "desc":
- vm.paramsLimPago = vm.descuentosAplicados
- break;
- case "tarjs":
- vm.paramsLimPago = vm.Tarjetas;
- break;
- case "cert":
- vm.paramsLimPago = vm.certificadosAplicados;
- break;
- case "gift":
- vm.paramsLimPago = vm.giftcardsAplicados;
- break;
- }
- }
- function borrarLimPago(obj){
- switch(vm.currentLimPago){
- case "desc":
- var index = 0;
- var descActual = "";
- index = vm.descuentosAplicados.indexOf(obj);
- descActual = vm.descuentosAplicados[index];
- vm.descuentosAplicados.splice(index,1);
- vm.Orden[0].encabezado.total = vm.Orden[0].encabezado.total + descActual.valor;
- vm.descuentoAplicado = vm.descuentoAplicado - descActual.valor;
- calcularCambio();
- break;
- case "tarjs":
- vm.paramsLimPago = vm.Tarjetas;
- var index = vm.Tarjetas.indexOf(obj);
- vm.Tarjetas.splice(index,1);
- if(vm.selectedPasarela.tipoConexion == "M"){
- prodState.anulTarjetas(obj.id).then(function(){
- vm.pagos[2].valor = parseFloat(vm.pagos[2].valor) - parseFloat(obj.monto);
- if(vm.Tarjetas.length == 0){
- vm.pagos[2].valor = 0.00;
- }
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- vm.lectura.identidad = "";
- vm.lectura.nombre = "";
- vm.lectura.nacimiento = "";
- vm.mostrarlogo=false;
- });
- }else{
- vm.pagos[2].valor = parseFloat(vm.pagos[2].valor) - parseFloat(obj.monto);
- if(vm.Tarjetas.length == 0){
- vm.pagos[2].valor = 0.00;
- }
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- vm.lectura.identidad = "";
- vm.lectura.nombre = "";
- vm.lectura.nacimiento = "";
- vm.mostrarlogo=false;
- }
- calcularCambio();
- break;
- case "cert":
- vm.paramsLimPago = vm.certificadosAplicados;
- var index = 0;
- var descActual = "";
- index = vm.certificadosAplicados.indexOf(obj);
- descActual = vm.certificadosAplicados[index];
- vm.certificadosAplicados.splice(index,1);
- calcularCambio();
- break;
- case "gift":
- vm.paramsLimPago = vm.giftcardsAplicados;
- var index = 0;
- var descActual = "";
- index = vm.certificadosAplicados.indexOf(obj);
- descActual = vm.certificadosAplicados[index];
- vm.certificadosAplicados.splice(index,1);
- calcularCambio();
- break;
- }
- }
- function validarCamposVacios(){
- var proceder = true;
- if (vm.descuentoForm.form != undefined) {
- if(vm.lectura.identidad == "" && vm.descuentoForm.campo_identidad == "*" ){
- proceder = false;
- }
- vm.lectura.nacimiento = vm.anio +"-"+vm.mes+"-"+vm.dia;
- if(vm.descuentoForm.campo_nacimiento == "*" && vm.lectura.nacimiento.length < 10 ){
- proceder = false;
- }
- vm.lectura.vence = vm.anio + "-" + vm.mes + "-" + vm.dia;
- if (vm.descuentoForm.form.campo_vence == "*" && vm.lectura.vence.length < 10) {
- proceder = false;
- }
- if(vm.lectura.motivo == "" && vm.descuentoForm.campo_motivo == "*" ){
- proceder = false;
- }
- if(vm.lectura.telefono == "" && vm.descuentoForm.campo_telefono == "*" ){
- proceder = false;
- }
- if(vm.lectura.identidad == "" && vm.descuentoForm.campo_identidad == "*"){
- proceder = false
- }
- if(vm.lectura.nombre == "" && vm.descuentoForm.campo_nombre == "*"){
- proceder = false
- }
- }
- return proceder
- }
- function digitalizar(){
- if (validarCamposVacios()){
- vm.lectura.numOrden = vm.Orden[0].encabezado.numOrden;
- if(vm.opcionActual.pedirDocumento == "C"){
- vm.lectura.contenido = vm.carnet;
- }
- if(vm.opcionActual.validar != null){
- prodState.validarDescuento(vm.lectura,vm.opcionActual.validar,vm.lectura.nacimiento).then(function (d){
- if (d.data.valido == "S"){
- toaster.pop('success','',d.data.mensaje);
- prodState.digitalizar(vm.lectura).then(function (){
- if(parseFloat(vm.totalesTemporal.total).toFixed(2) >= 0.0 && vm.totalesTemporal.descuentoAplicado > 0){
- vm.descuentosAplicados.push({
- codigo_descuento : vm.opcionActual.codigoDescuento,
- numOrden : vm.Orden[0].encabezado.numOrden,
- valor : vm.totalesTemporal.descuento,
- titulo : vm.totalesTemporal.titulo
- });
- vm.Orden[0].encabezado.grantotal = vm.totalesTemporal.total;
- vm.Orden[0].encabezado.total = vm.totalesTemporal.total2;
- //vm.Orden[0].encabezado.subtotal = vm.totalesTemporal.subtotal;
- if(vm.totalesTemporal.descuentoAplicado > 0){
- vm.descuentoAplicadoCodigo = vm.opcionActual.codigoDescuento;
- vm.descuentoAplicado = vm.totalesTemporal.descuentoAplicado;
- }
- vm.totalesTemporal.total = 0;
- vm.totalesTemporal.total2 = 0;
- vm.totalesTemporal.subtotal = 0 ;
- vm.totalesTemporal.descuentoAplicado = 0;
- vm.totalesTemporal.titulo = "";
- if(vm.lectura.transaccion == "EX"){
- vm.esExcento="S"
- vm.Orden[0].encabezado.grantotal = vm.Orden[0].encabezado.grantotal - vm.Orden[0].encabezado.impuestos;
- vm.Orden[0].encabezado.impuestos = 0;
- vm.Orden[0].encabezado.impuesto1 = 0;
- vm.impuestosAplicados[1].valor = 0
- vm.Orden[0].encabezado.impuesto2 = 0;
- vm.impuestosAplicados[2].valor = 0
- vm.Orden[0].esExcento = "S";
- calcularCambio();
- }else{
- calcularCambio();
- }
- }else{
- if(vm.lectura.transaccion == "EX"){
- vm.esExcento="S"
- vm.Orden[0].encabezado.grantotal = vm.Orden[0].encabezado.grantotal - vm.Orden[0].encabezado.impuestos;
- vm.Orden[0].encabezado.impuestos = 0;
- vm.Orden[0].encabezado.impuesto1 = 0;
- vm.impuestosAplicados[1].valor = 0
- vm.Orden[0].encabezado.impuesto2 = 0;
- vm.impuestosAplicados[2].valor = 0
- vm.Orden[0].esExcento = "S";
- calcularCambio();
- }
- }
- vm.lectura.identidad = "";
- vm.lectura.nombre = "";
- vm.lectura.nacimiento = "";
- vm.lectura.transaccion = "";
- vm.lectura.codigoTransaccion = "";
- vm.beneficios = "";
- vm.anio ="";
- vm.mes = "";
- vm.dia = "";
- vm.mostrarlogo = true;
- filterCuponesElectronicosAplicados()
- $state.transitionTo("pagar");
- });
- }else{
- toaster.pop('warning','ERROR', d.data.mensaje)
- }
- })
- }else{
- prodState.digitalizar(vm.lectura).then(function (){
- if(parseFloat(vm.totalesTemporal.total).toFixed(2) >= 0.0 && vm.totalesTemporal.descuentoAplicado > 0){
- vm.descuentosAplicados.push({
- codigo_descuento : vm.opcionActual.codigoDescuento,
- numOrden : vm.Orden[0].encabezado.numOrden,
- valor : vm.totalesTemporal.descuento,
- titulo : vm.totalesTemporal.titulo
- });
- vm.Orden[0].encabezado.grantotal = vm.totalesTemporal.total;
- vm.Orden[0].encabezado.total = vm.totalesTemporal.total2;
- //vm.Orden[0].encabezado.subtotal = vm.totalesTemporal.subtotal;
- if(vm.totalesTemporal.descuentoAplicado > 0){
- vm.descuentoAplicadoCodigo = vm.opcionActual.codigoDescuento;
- vm.descuentoAplicado = vm.totalesTemporal.descuentoAplicado;
- }
- vm.totalesTemporal.total = 0;
- vm.totalesTemporal.total2 = 0;
- vm.totalesTemporal.subtotal = 0 ;
- vm.totalesTemporal.descuentoAplicado = 0;
- vm.totalesTemporal.titulo = "";
- if(vm.lectura.transaccion == "EX"){
- vm.esExcento="S"
- vm.Orden[0].encabezado.grantotal = vm.Orden[0].encabezado.grantotal - vm.Orden[0].encabezado.impuestos;
- vm.Orden[0].encabezado.impuestos = 0;
- vm.Orden[0].encabezado.impuesto1 = 0;
- vm.impuestosAplicados[1].valor = 0
- vm.Orden[0].encabezado.impuesto2 = 0;
- vm.impuestosAplicados[2].valor = 0
- vm.Orden[0].esExcento = "S";
- calcularCambio();
- }else{
- calcularCambio();
- }
- }else{
- if(vm.lectura.transaccion == "EX"){
- vm.esExcento="S"
- vm.Orden[0].encabezado.grantotal = vm.Orden[0].encabezado.grantotal - vm.Orden[0].encabezado.impuestos;
- vm.Orden[0].encabezado.impuestos = 0;
- vm.Orden[0].encabezado.impuesto1 = 0;
- vm.impuestosAplicados[1].valor = 0
- vm.Orden[0].encabezado.impuesto2 = 0;
- vm.impuestosAplicados[2].valor = 0
- vm.Orden[0].esExcento = "S";
- calcularCambio();
- }
- }
- vm.lectura.identidad = "";
- vm.lectura.nombre = "";
- vm.lectura.nacimiento = "";
- vm.lectura.transaccion = "";
- vm.lectura.codigoTransaccion = "";
- vm.beneficios = "";
- vm.anio ="";
- vm.mes = "";
- vm.dia = "";
- vm.mostrarlogo = true;
- filterCuponesElectronicosAplicados()
- $state.transitionTo("pagar");
- });
- }
- }else{
- toaster.pop("warning",'CAMPOS REQUERIDOS', "DEBE LLENAR TODOS LOS CAMPOS...")
- }
- }
- /*** FUNCIONES DEL TECLADO ***/
- function borrar(){
- vm.ordenesDeCocina = vm.ordenesDeCocina.substring(0, vm.ordenesDeCocina.length-1);
- }
- function teclear(valor){
- vm.ordenesDeCocina = vm.ordenesDeCocina + valor;
- prodState.setFocus("teclado");
- }
- /* FUNCIONES GENERALES */
- function authenticar(passcode,redir,esAuth){
- vm.enviando = true;
- return prodState.ingresar(String(passcode),esAuth).then(function (data){
- if (!data.autenticado){
- vm.MensajeError = true;
- vm.textLCDError = "*** " + data.msgerror + " ***" ;
- vm.textLCD = "";
- vm.Autorizado = false;
- vm.Autorizador = "";
- prodState.setFocus('pass');
- }else{
- if(data.usuario[0].usuarioRole[0].codigoRol == 1){
- vm.MensajeError = false;
- vm.Autorizado = true;
- vm.textLCDError = ""
- vm.Autorizador = data.usuario[0].id;
- return data;
- if(!redir){
- eval(vm.funcionActual.nombre_Funcion + "()");
- }
- }else{
- vm.MensajeError = true;
- vm.textLCDError = "*** No esta autorizado ***" ;
- vm.textLCD = "";
- vm.Autorizado = false;
- vm.Autorizador = "";
- prodState.setFocus('pass');
- }
- }
- })
- }
- function listo(){
- if(vm.enviando==false){
- authenticar(vm.textLCD,true,"S").then(function(){
- vm.enviando = false;
- if(!vm.Autorizado){
- prodState.setFocus('pass');
- }else{
- eval(vm.funcionActual.nombre_Funcion + "()");
- }
- });
- }
- }
- function selectCampo(campo){
- if(campo =="p"){
- if(vm.txtNombre.length >0){
- vm.ordenesDeCocina = vm.txtNombre;
- }
- $state.transitionTo("pagar.tarjeta.teclado");
- }else{
- if(campo == "x"){
- vm.txtMontoTarjeta = "";
- vm.selectedCampo = campo;
- }else{
- vm.selectedCampo = campo;
- }
- }
- }
- function selCampo(campo){
- vm.selectedCampo = campo;
- if (["t", "i", "c1", "c2", "c3", "rt", "oe", "cr", "rs", "tf"].includes(campo)) {
- if($state.current.name == "pagar.descuentos.digitalizar"){
- vm.tituloPad = "";
- $state.transitionTo("pagar.descuentos.digitalizar.numpad");
- }
- if($state.current.name == "pagar.cupones.digitalizar"){
- vm.tituloPad = "";
- $state.transitionTo("pagar.cupones.digitalizar.numpad");
- }
- if($state.current.name == "pagar.certificados.digitalizar"){
- vm.tituloPad = "";
- $state.transitionTo("pagar.certificados.digitalizar.numpad");
- }
- if($state.current.name == "pagar.excento.digitalizar"){
- vm.tituloPad = "";
- $state.transitionTo("pagar.excento.digitalizar.numpad");
- }
- if($state.current.name == "pagar.datos"){
- if(campo == "oe"){
- vm.tituloPad = "No. Orden Compra Exenta";
- $state.transitionTo("pagar.datos.ordenCompraEx");
- }else{
- if(campo == "cr"){
- vm.tituloPad = "No. Constancia Registro Exonerado";
- $state.transitionTo("pagar.datos.constanciaRegistroEx");
- }else{
- if(campo == "rs"){
- vm.tituloPad = "No. Registro SAG";
- $state.transitionTo("pagar.datos.registroSAG");
- }else{
- vm.tituloPad = "RTN";
- $state.transitionTo("pagar.datos.numpad");
- }
- }
- }
- }
- if(campo == "i"){
- vm.tituloPad = "Identidad";
- if(vm.lectura.identidad.length > 0){
- vm.textLCD = vm.lectura.identidad
- }else{
- vm.textLCD ="";
- }
- vm.focus = "pass";
- //prodState.setFocus("pass");
- }else{
- if(campo == "c1"){
- vm.tituloPad = "Año";
- if(vm.anio.length > 0){
- vm.anio = vm.textLCD;
- }else{
- vm.textLCD = "";
- }
- vm.focus = "pass";
- }else{
- if(campo == "c2"){
- vm.tituloPad = "Mes";
- if(vm.mes.length > 0){
- vm.mes = vm.textLCD;
- }else{
- vm.textLCD = "";
- }
- vm.focus = "pass";
- }else{
- if(campo == "c3"){
- vm.tituloPad = "Dia";
- if(vm.dia.length > 0){
- vm.dia = vm.textLCD;
- }else{
- vm.textLCD = "";
- }
- vm.focus = "pass";
- }else{
- if(campo == "tf"){
- vm.tituloPad = "Telefono"
- if(vm.lectura.telefono.length > 0){
- vm.textLCD = vm.lectura.telefono;
- }else{
- vm.textLCD = "";
- }
- vm.focus = "pass";
- }else{
- vm.textLCD = "";
- }
- }
- }
- }
- prodState.setFocus("pass");
- }
- }else{
- if($state.current.name == "pagar.descuentos.digitalizar"){
- $state.transitionTo("pagar.descuentos.digitalizar.teclado");
- vm.focus = "teclado";
- }
- if($state.current.name == "pagar.cupones.digitalizar"){
- $state.transitionTo("pagar.cupones.digitalizar.teclado");
- vm.focus = "teclado";
- }
- if($state.current.name == "pagar.certificados.digitalizar"){
- $state.transitionTo("pagar.certificados.digitalizar.teclado");
- vm.focus = "teclado";
- }
- if($state.current.name == "pagar.excento.digitalizar"){
- $state.transitionTo("pagar.excento.digitalizar.teclado");
- vm.focus = "teclado";
- }
- if($state.current.name == "pagar.datos"){
- if(campo == "em"){
- $state.transitionTo("pagar.datos.tecladoEmpresa");
- vm.focus = "teclado";
- }else{
- if(campo == "dc"){
- $state.transitionTo("pagar.datos.tecladoConsumidor");
- vm.focus = "teclado";
- }else{
- if(campo == "oe"){
- $state.transitionTo("pagar.datos.tecladoConsumidor");
- vm.focus = "teclado";
- }
- }
- }
- }
- if ($state.current.name == 'pagar.pagoBipBip') {
- vm.tituloPad = (() => {
- switch (campo) {
- case 'CodigoClienteBipBip':
- return 'Código de Cliente Bip Bip'
- case 'MontoPuntosBips':
- return 'Puntos Bips a Redimir'
- }
- })()
- vm.textLCD = ''
- $state.transitionTo('pagar.pagoBipBip.numpad')
- return
- }
- if(campo == "n"){
- if(vm.lectura.nombre.length > 0){
- vm.ordenesDeCocina = vm.lectura.nombre;
- }else{
- vm.ordenesDeCocina ="";
- }
- //prodState.setFocus("pass");
- vm.focus = "teclado";
- }
- if(campo == "m"){
- if(vm.lectura.motivo.length > 0){
- vm.ordenesDeCocina = vm.lectura.nombre;
- }else{
- vm.ordenesDeCocina ="";
- }
- //prodState.setFocus("pass");
- vm.focus = "teclado";
- }
- }
- }
- function finPagar(){
- var proceder = true;
- var total = 0;
- angular.forEach(vm.pagos,function (row,key){
- total = parseFloat(total) + parseFloat(row.valor);
- })
- if(vm.cambio.toFixed(2) >= 0 && total.toFixed(2) >= 0){
- vm.funcionActual = {nombre_Funcion : "finPagar"};
- var cajerodata = prodState.confCajero;
- vm.Usuario = prodState.Usuario;
- var caja = "";
- var turno = "";
- if(cajerodata.codigoCaja){
- caja = cajerodata.codigoCaja.codigoCaja;
- }
- if(cajerodata.codigoTurno){
- turno = cajerodata.codigoTurno.codigoTurno;
- }
- var descFiscal = $filter('filter')(vm.impuestosAplicados,{esDescuento: "S"});
- vm.pagoParams = {
- numOrden : vm.Orden[0].encabezado.numOrden,
- formaspago : vm.pagos,
- descuento : vm.descuentoAplicado,
- cambio : vm.cambio,
- autorizador : vm.Autorizador,
- cliente : vm.dataCliente,
- descuentoFiscal : (descFiscal.length > 0 ? descFiscal[0].valor:0),
- cajero : prodState.Usuario.usuario[0].id,
- Caja : caja || 0,
- Turno : turno || 0,
- codigoDescuento : vm.descuentoAplicadoCodigo,
- Tarjetas : [],
- cargos : vm.cargos,
- descuentos : vm.descuentosAplicados,
- esExcento : vm.esExcento,
- canal: prodState.selectedCanal,
- pedidoFuturo_fecha: (prodState.PedidoFuturo ? prodState.PedidoFuturo.fecha: null),
- pedidofuturo_hora: (prodState.PedidoFuturo ? prodState.PedidoFuturo.hora : null),
- codigo_cliente: (prodState.ClienteDom ? prodState.ClienteDom.codigO_CLIENTE : null),
- codigo_direccion: (prodState.ClienteDom ? prodState.ClienteDom.codigo_direccion : null),
- codigo_restaurante: (prodState.ClienteDom ? prodState.ClienteDom.restaurante : null)
- }
- if(vm.PagoTarjeta.numtarjeta != ""){
- vm.pagoParams.tarjeta = vm.PagoTarjeta;
- vm.pagoParams.Tarjetas = vm.Tarjetas;
- }
- if(vm.requiereAuth == true){
- if(!vm.Autorizado){
- vm.textLCD = "";
- vm.Autorizado =false;
- proceder = false;
- $state.transitionTo("pagar.autorizacion");
- vm.nomostrar = true;
- vm.focus ="pass";
- //prodState.setFocus("pass");
- }else{
- // REVISO SI EXITE CERTIFICADO APLICADO
- if(vm.certificadosAplicados.length> 0 && vm.enviando == false){
- var numeros = [];
- angular.forEach(vm.certificadosAplicados, function(c,w){
- numeros.push(c.correlativo);
- })
- var res = prodState.getSeleccionMesaAsiento();
- vm.Usuario = prodState.Usuario;
- var data = {
- usuario : vm.Usuario.usuario[0].id,
- numOrden : res.NumOrden,
- numCertificado : numeros
- }
- vm.enviando = true;
- prodState.redimirCertificado(data).then(function(data){
- if(data.data.msgerror != "OK"){
- proceder = false;
- vm.enviando = false;
- $state.transitionTo("pagar");
- vm.reversarCertificados(data.data.certificados);
- } else {
- let certificadosAplicados = localStorageService.get('certificadosAplicados')
- if (certificadosAplicados) {
- const codigoMesa = prodState.MesaAsiento.Mesa.codigo_Mesa
- certificadosAplicados = certificadosAplicados.filter(e => e.codigoMesa != codigoMesa)
- localStorageService.set('certificadosAplicados', certificadosAplicados)
- }
- proceder = false;
- if(vm.pagoParams.Tarjetas.length > 0){
- var data = {"tarjetas" : vm.Tarjetas};
- vm.Loading = true;
- toaster.pop("warning","","AUTORIZANDO TARJETA(S)....")
- prodState.postTarjetas(data).then(function(data){
- if(data.data.msg == "Error"){
- vm.Tarjetas = data.data.tarjetas;
- vm.Loading = false;
- vm.enviando = false;
- toaster.pop("error","","Su transaccion ha sido denegada");
- $state.transitionTo("pagar.listadoTarjetas");
- }else{
- addProductoCuponesElectronicos()
- const timeout = vm.cuponesElectronicosAgregados
- .some(element => element.couponType == 'PRODUCTO') ? 500 : 0
- setTimeout(() => {
- prodState.postPagoFactura(vm.pagoParams).then(function (da) {
- vm.enviando = false;
- if (da.data == null) {
- deleteCuponesElectronicos()
- if (vm.esSeparacion != "") {
- prodState.MesaAsiento.NumOrden = prodState.MesaAsiento.esSeparacion.anterior;
- prodState.dataCliente = null;
- $state.transitionTo("mesas.separarcuentas");
- } else {
- if (vm.Usuario.tipoRest == "T") {
- prodState.dataCliente = null;
- prodState.ClienteDom = {};
- $interval.cancel(vm.intervalPromise);
- $state.transitionTo("mesas.usuario");
- } else {
- prodState.MesaAsiento = {
- Zona: vm.selTab,
- Mesa: { codigoMesa: vm.Usuario.usuario[0].id },
- Asiento: { codigo_SubMesa: 1 },
- NumOrden: "",
- personas: vm.personas
- }
- prodState.dataCliente = null;
- prodState.ClienteDom = {};
- $interval.cancel(vm.intervalPromise);
- if (vm.Usuario.canalDefecto == 3) {
- $state.transitionTo("clientedomi");
- } else {
- prodState.dataCliente = null;
- prodState.PedidoFuturo = null
- prodState.ClienteDom = null
- $state.transitionTo("tomapedido", {}, { reload: true });
- }
- }
- }
- } else {
- toaster.pop("error", "", da.data);
- }
- });
- }, timeout)
- }
- })
- }else{
- addProductoCuponesElectronicos()
- const timeout = vm.cuponesElectronicosAgregados
- .some(element => element.couponType == 'PRODUCTO') ? 500 : 0
- setTimeout(() => {
- prodState.postPagoFactura(vm.pagoParams).then(function (da) {
- vm.enviando = false;
- if (da.data == null) {
- deleteCuponesElectronicos()
- if (vm.Usuario.tipoRest == "T") {
- prodState.dataCliente = null;
- prodState.ClienteDom = {};
- $interval.cancel(vm.intervalPromise);
- $state.transitionTo("mesas.usuario");
- } else {
- prodState.MesaAsiento = {
- Zona: vm.selTab,
- Mesa: { codigoMesa: vm.Usuario.usuario[0].id },
- Asiento: { codigo_SubMesa: 1 },
- NumOrden: "",
- personas: vm.personas
- }
- prodState.dataCliente = null;
- prodState.ClienteDom = {};
- $interval.cancel(vm.intervalPromise);
- if (vm.Usuario.canalDefecto == 3) {
- $state.transitionTo("clientedomi");
- } else {
- prodState.dataCliente = null;
- prodState.PedidoFuturo = null
- prodState.ClienteDom = null
- $state.transitionTo("tomapedido", {}, { reload: true });
- }
- }
- } else {
- toaster.pop("error", "", da.data);
- }
- });
- }, timeout)
- }
- }
- });
- }
- //REDENCION DE GIFTCARDS INGRESADOS
- if(vm.giftcardsAplicados.length> 0 && vm.enviando == false){
- var numeros = [];
- angular.forEach(vm.giftcardsAplicados, function(c,w){
- numeros.push(c.serie);
- })
- var res = prodState.getSeleccionMesaAsiento();
- vm.Usuario = prodState.Usuario;
- var data = {
- usuario : vm.Usuario.usuario[0].id,
- numOrden : res.NumOrden,
- numCertificado : numeros
- }
- vm.enviando = true;
- prodState.redimirGiftcard(data).then(function(data){
- if(data.data.msgerror != "OK"){
- proceder = false;
- vm.enviando = false;
- $state.transitionTo("pagar");
- vm.reversarCertificados(data.data.giftcards);
- }else{
- proceder = false;
- if(vm.pagoParams.Tarjetas.length > 0){
- var data = {"tarjetas" : vm.Tarjetas};
- vm.Loading = true;
- toaster.pop("warning","","AUTORIZANDO TARJETA(S)....")
- prodState.postTarjetas(data).then(function(data){
- if(data.data.msg == "Error"){
- vm.Tarjetas = data.data.tarjetas;
- vm.Loading = false;
- vm.enviando = false;
- toaster.pop("error","","Su transaccion ha sido denegada");
- $state.transitionTo("pagar.listadoTarjetas");
- }else{
- addProductoCuponesElectronicos()
- const timeout = vm.cuponesElectronicosAgregados
- .some(element => element.couponType == 'PRODUCTO') ? 500 : 0
- setTimeout(() => {
- prodState.postPagoFactura(vm.pagoParams).then(function (da) {
- vm.enviando = false;
- if (da.data == null) {
- deleteCuponesElectronicos()
- if (vm.esSeparacion != "") {
- prodState.MesaAsiento.NumOrden = prodState.MesaAsiento.esSeparacion.anterior;
- prodState.dataCliente = null;
- $state.transitionTo("mesas.separarcuentas");
- } else {
- if (vm.Usuario.tipoRest == "T") {
- prodState.ClienteDom = {};
- prodState.dataCliente = null;
- $interval.cancel(vm.intervalPromise);
- $state.transitionTo("mesas.usuario");
- } else {
- prodState.MesaAsiento = {
- Zona: vm.selTab,
- Mesa: { codigoMesa: vm.Usuario.usuario[0].id },
- Asiento: { codigo_SubMesa: 1 },
- NumOrden: "",
- personas: vm.personas
- }
- prodState.ClienteDom = {};
- prodState.dataCliente = null;
- $interval.cancel(vm.intervalPromise);
- if (vm.Usuario.canalDefecto == 3) {
- $state.transitionTo("clientedomi");
- } else {
- prodState.PedidoFuturo = null
- prodState.ClienteDom = null
- $state.transitionTo("tomapedido", {}, { reload: true });
- }
- }
- }
- } else {
- toaster.pop("error", "", da.data);
- }
- });
- }, timeout)
- }
- })
- }else{
- addProductoCuponesElectronicos()
- const timeout = vm.cuponesElectronicosAgregados
- .some(element => element.couponType == 'PRODUCTO') ? 500 : 0
- setTimeout(() => {
- prodState.postPagoFactura(vm.pagoParams).then(function (da) {
- vm.enviando = false;
- if (da.data == null) {
- deleteCuponesElectronicos()
- $interval.cancel(vm.intervalPromise);
- if (vm.Usuario.tipoRest == "T") {
- $state.transitionTo("mesas.usuario");
- } else {
- prodState.MesaAsiento = {
- Zona: vm.selTab,
- Mesa: { codigoMesa: vm.Usuario.usuario[0].id },
- Asiento: { codigo_SubMesa: 1 },
- NumOrden: "",
- personas: vm.personas
- }
- prodState.ClienteDom = {};
- prodState.dataCliente = null;
- if (vm.Usuario.canalDefecto == 3) {
- $state.transitionTo("clientedomi");
- } else {
- prodState.PedidoFuturo = null
- prodState.ClienteDom = null
- $state.transitionTo("tomapedido", {}, { reload: true });
- }
- }
- } else {
- toaster.pop("error", "", da.data);
- }
- });
- }, timeout)
- }
- }
- });
- }
- }
- }
- if(proceder && vm.enviando == false){
- vm.enviando = true;
- if(vm.pagoParams.Tarjetas.length > 0){
- var data = {"tarjetas" : vm.Tarjetas};
- vm.Loading = true;
- toaster.pop("warning","","AUTORIZANDO TARJETA(S)....")
- prodState.postTarjetas(data).then(function(data){
- if(vm.selectedPasarela.tipoConexion != "O"){
- listaPagos();
- }
- if(data.data.msg == "Error"){
- vm.Tarjetas = data.data.tarjetas;
- vm.Loading = false;
- toaster.pop("error","","Su transaccion ha sido denegada");
- $state.transitionTo("pagar.listadoTarjetas");
- } else {
- addProductoCuponesElectronicos()
- const timeout = vm.cuponesElectronicosAgregados
- .some(element => element.couponType == 'PRODUCTO') ? 500 : 0
- setTimeout(() => {
- prodState.postPagoFactura(vm.pagoParams).then(function (da) {
- vm.enviando = false;
- if (da.data == null) {
- deleteCuponesElectronicos()
- if (vm.esSeparacion != "") {
- prodState.MesaAsiento.NumOrden = prodState.MesaAsiento.esSeparacion.anterior;
- prodState.dataCliente = null;
- $state.transitionTo("mesas.separarcuentas");
- } else {
- if (vm.Usuario.tipoRest == "T") {
- prodState.ClienteDom = {};
- prodState.dataCliente = null;
- $interval.cancel(vm.intervalPromise);
- $state.transitionTo("mesas.usuario");
- } else {
- prodState.MesaAsiento = {
- Zona: vm.selTab,
- Mesa: { codigoMesa: vm.Usuario.usuario[0].id },
- Asiento: { codigo_SubMesa: 1 },
- NumOrden: "",
- personas: vm.personas
- }
- prodState.ClienteDom = {};
- prodState.dataCliente = null;
- $interval.cancel(vm.intervalPromise);
- if (vm.Usuario.canalDefecto == 3) {
- $state.transitionTo("clientedomi");
- } else {
- prodState.PedidoFuturo = null
- prodState.ClienteDom = null
- $state.transitionTo("tomapedido", {}, { reload: true });
- }
- }
- }
- } else {
- toaster.pop("error", "", da.data);
- }
- });
- }, timeout)
- }
- })
- } else {
- vm.enviando = true
- addProductoCuponesElectronicos()
- const timeout = vm.cuponesElectronicosAgregados
- .some(element => element.couponType == 'PRODUCTO') ? 500 : 0
- setTimeout(() => {
- prodState.postPagoFactura(vm.pagoParams).then(function (da) {
- vm.enviando = false;
- if (da.data == null) {
- deleteCuponesElectronicos()
- if (vm.esSeparacion != "") {
- prodState.MesaAsiento.NumOrden = prodState.MesaAsiento.esSeparacion.anterior;
- prodState.dataCliente = null;
- $state.transitionTo("mesas.separarcuentas");
- } else {
- if (vm.Usuario.tipoRest == "T") {
- prodState.MesaAsiento = {
- Zona: vm.selTab,
- NumOrden: "",
- personas: vm.personas
- }
- prodState.ClienteDom = {};
- prodState.dataCliente = null;
- $interval.cancel(vm.intervalPromise);
- prodState.selectedCanal = "";
- $state.transitionTo("mesas.usuario");
- } else {
- prodState.MesaAsiento = {
- Zona: vm.selTab,
- Mesa: { codigoMesa: vm.Usuario.usuario[0].id },
- Asiento: { codigo_SubMesa: 1 },
- NumOrden: "",
- personas: vm.personas
- }
- prodState.ClienteDom = {};
- prodState.dataCliente = null;
- $interval.cancel(vm.intervalPromise);
- if (vm.Usuario.canalDefecto == 3) {
- $state.transitionTo("clientedomi");
- } else {
- prodState.PedidoFuturo = null
- prodState.ClienteDom = null
- $state.transitionTo("tomapedido", {}, { reload: true });
- }
- }
- }
- } else {
- toaster.pop("error", "", da.data);
- }
- });
- }, timeout)
- }
- }
- }
- }
- function pagarTarjeta(data){
- toaster.pop("warning","","AUTORIZANDO TARJETA(S)....");
- return prodState.postTarjetas(data).then(function(data){
- if(data.data.msg == "Error"){
- vm.Loading = false;
- vm.autorizando = false;
- toaster.pop("error","","Su transaccion ha sido denegada");
- }
- if(vm.selectedPasarela.tipoConexion != "O"){
- listaPagos();
- }
- });
- }
- function Salir(){
- prodState.cerrarSesion(vm.Usuario.usuario[0].id).then(function(){
- if(vm.Usuario.tipoRest == "Q"){
- if(vm.Orden[0].encabezado.numOrden || vm.Orden[0].encabezado.NumOrden){
- prodState.deleteOrden(vm.Orden[0].encabezado.numOrden).then(function(){
- vm.currentFuncion = "";
- $state.transitionTo("ingreso",{},{reload:true});
- vm.focus="pass";
- filterCuponesElectronicosAplicados()
- });
- }else{
- vm.currentFuncion = "";
- $state.transitionTo("ingreso",{},{reload:true});
- vm.focus="pass";
- }
- }else{
- vm.currentFuncion = "";
- $state.transitionTo("ingreso",{},{reload:true});
- vm.focus="pass";
- }
- });
- if (vm.intervalPromise != "") {
- $interval.cancel(vm.intervalPromise);
- }
- }
- function regresar(){
- if($state.current.name =="pagar.autorizacion"){
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }else{
- if($state.current.name == "pagar.cupones.formulario.teclado"){
- $state.transitionTo("pagar.cupones.formulario");
- }else{
- if($state.current.name == "pagar.cupones.formulario.teclado"){
- $state.transitionTo("pagar.cupones");
- }else{
- if($state.current.name == "pagar.cupones.formulario"){
- $state.transitionTo("pagar.cupones");
- }else{
- if($state.current.name == "pagar.cupones.digitalizar"){
- $state.transitionTo("pagar.cupones");
- }else{
- if($state.current.name == "pagar.cupones.digitalizar.teclado"){
- vm.selectedCampo = "";
- $state.transitionTo("pagar.cupones.digitalizar");
- }else{
- if($state.current.name == "pagar.cupones.digitalizar.numpad"){
- vm.selectedCampo = "";
- $state.transitionTo("pagar.cupones.digitalizar");
- }else{
- if($state.current.name == "pagar.certificados"){
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }else{
- if($state.current.name == "pagar.certificados.teclado"){
- $state.transitionTo("pagar.certificados");
- }else{
- if($state.current.name == "pagar.certificados.digitalizar"){
- $state.transitionTo("pagar.certificados");
- }else{
- if($state.current.name == "pagar.certificados.digitalizar.teclado"){
- $state.transitionTo("pagar.certificados.digitalizar");
- }else{
- if($state.current.name == "pagar.certificados.digitalizar.numpad"){
- vm.selectedCampo = "";
- $state.transitionTo("pagar.certificados.digitalizar");
- }else{
- if($state.current.name == "pagar.descuentos.digitalizar.teclado"){
- $state.transitionTo("pagar.descuentos.digitalizar");
- }else{
- if($state.current.name == "pagar.descuentos.digitalizar.numpad"){
- vm.selectedCampo = "";
- $state.transitionTo("pagar.descuentos.digitalizar");
- }else{
- if($state.current.name == "pagar.descuentos.digitalizar"){
- vm.beneficios ="";
- $state.transitionTo("pagar.descuentos");
- }else{
- if($state.current.name == "pagar.datos.teclado"){
- $state.transitionTo("pagar.datos");
- }else{
- if($state.current.name == "pagar.datos.numpad"){
- $state.transitionTo("pagar.datos");
- }else{
- if($state.current.name == "pagar.datos"){
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }else{
- if($state.current.name == "pagar.tarjeta.teclado"){
- $state.transitionTo("pagar.tarjeta");
- }else{
- if($state.current.name == "pagar.descuentos.valor"){
- $state.transitionTo("pagar.descuentos");
- }else{
- if($state.current.name == "pagar.datos.tecladoEmpresa" || $state.current.name == "pagar.datos.tecladoConsumidor" ){
- $state.transitionTo("pagar.datos");
- }else{
- if($state.current.name == "pagar.giftcards"){
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }else{
- if($state.current.name == "pagar.giftcards.teclado"){
- $state.transitionTo("pagar.giftcards");
- }else{
- if($state.current.name == "pagar.giftcards.digitalizar"){
- $state.transitionTo("pagar.giftcards");
- }else{
- if($state.current.name == "pagar.giftcards.digitalizar.teclado"){
- $state.transitionTo("pagar.giftcards.digitalizar");
- }else{
- if($state.current.name == "pagar.giftcards.digitalizar.numpad"){
- vm.selectedCampo = "";
- $state.transitionTo("pagar.giftcards.digitalizar");
- }else{
- if($state.current.name == "pagar.excento.digitalizar"){
- $state.transitionTo("pagar");
- }else{
- if($state.current.name == "pagar.excento.digitalizar.teclado"){
- $state.transitionTo("pagar.excento.digitalizar");
- }else{
- if($state.current.name == "pagar.excento.digitalizar.numpad"){
- vm.selectedCampo = "";
- $state.transitionTo("pagar.excento.digitalizar");
- }else{
- if ($state.current.name == "pagar.descuentocaptura") {
- vm.selectedCampo = "";
- $state.transitionTo("pagar");
- } else {
- if ($state.current.name == "pagar.pagoTengo") {
- vm.selectedCampo = "";
- $state.transitionTo("pagar");
- } else if ($state.current.name == 'pagar.pagoBipBip')
- $state.transitionTo("pagar")
- else if ($state.current.name == 'pagar.pagoBipBip.numpad')
- $state.transitionTo("pagar.pagoBipBip")
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- function RegTomapedido(){
- $state.transitionTo('tomapedido');
- }
- function mostrarTeclado(){
- if($state.current.name == "pagar.cupones.formulario"){
- if(vm.cuponingresado.length > 0){
- vm.ordenesDeCocina = vm.cuponingresado;
- vm.cuponinvalido = "";
- vm.cuponvalido = "";
- }else{
- vm.ordenesDeCocina = "";
- }
- }
- vm.esInput = true;
- if(!vm.esMovil){
- if($state.current.name =='pagar.cupones.formulario'){
- $state.transitionTo('pagar.cupones.formulario.teclado');
- }else{
- if ($state.current.name == 'pagar.certificados') {
- vm.ordenesDeCocina = ''
- $state.transitionTo('pagar.certificados.teclado')
- }else{
- if($state.current.name == "pagar.giftcards"){
- $state.transitionTo('pagar.giftcards.teclado');
- }
- }
- }
- vm.focus="teclado";
- //prodState.setFocus('teclado');
- //prodState.setFocus('teclado');
- }
- }
- function aplicarCupon(){
- vm.nomostrar = true;
- vm.cuponvalido = "";
- vm.cuponingresado="";
- $state.transitionTo("pagar.cupones.formulario");
- }
- function validarCupon() {
- if (vm.validandocupon) return
- if (vm.cuponesElectronicosAgregados.some(element => element.cuponingresado == vm.cuponingresado
- || vm.cuponingresado.match(new RegExp(element.cuponingresado)))) {
- vm.cuponvalido = { validado: 'EL CUPÓN YA FUE INGRESADO', valido: false }
- return
- }
- const id = vm.cuponingresado
- vm.validandocupon = true
- if (vm.esCuponElectronico)
- prodState.getCuponElectronico(id).then(response => {
- if (response.status == 200) {
- const cupon = response.data.cupon, estado = response.data.estado
- if (cupon) {
- const campaña = vm.cuponElectronicoCampaña.find(element => element.nombre == cupon.descripcion)
- if (!jQuery.isEmptyObject(campaña)) {
- const validado = (() => {
- if (campaña.canales && !campaña.canales.split(',').includes(vm.Orden[0].encabezado.canal))
- return 'EL CANAL NO APLICA PARA EL CUPÓN'
- if (campaña.codigoDocumento && campaña.codigoDocumento != vm.Orden[0].encabezado.tipoDocumento)
- return 'EL DOCUMENTO NO APLICA PARA EL CUPÓN'
- })()
- if (validado) {
- vm.cuponvalido = { validado, valido: false }
- vm.validandocupon = false
- return
- }
- }
- vm.cuponvalido = {
- couponType: cupon.couponType,
- couponValue: cupon.codigoCupon,
- descripcion: cupon.descripcion,
- descuentoPorcentaje: cupon.descuento_Porcentaje,
- descuentoValor: cupon.descuento_Valor,
- fecha_Final: cupon.fecha_Final,
- fecha_Inicial: cupon.fecha_Inicial,
- monto_Minimo: cupon.monto_Minimo,
- validado: estado.msg,
- valido: estado.valido == 'S'
- }
- } else vm.cuponvalido = { validado: estado.msg, valido: estado.valido == 'S' }
- } else vm.cuponvalido = { validado: 'ERROR AL OBTENER INFORMACIÓN DEL CUPÓN, INTENTE NUEVAMENTE', valido: false }
- vm.validandocupon = false
- })
- else
- prodState.redimirCupon(id).then(data => {
- vm.cuponvalido = {
- descripcion: data.cupon ? data.cupon.descripcion : '',
- descuentoPorcentaje: data.cupon ? data.cupon.descuento_Porcentaje : '',
- descuentoValor: data.cupon ? data.cupon.descuento_Valor : '',
- fecha_Final: data.cupon ? data.cupon.fecha_Final : '',
- fecha_Inicial: data.cupon ? data.cupon.fecha_Inicial : '',
- monto_Minimo: data.cupon ? data.cupon.monto_Minimo : '',
- validado: data.estado.msg,
- valido: data.estado.valido == 'S'
- }
- vm.validandocupon = false
- })
- }
- function validarCertificado(){
- if(vm.esCertificado){
- prodState.getCertificados(vm.certificadoIngresado).then(function(data){
- if (data.estado.valido != "N"){
- if($filter('filter')(vm.certificadosAplicados, {correlativo:data.certificado.correlativo}).length <= 0){
- vm.certificadosAplicados.push(data.certificado);
- }
- }
- vm.certificados = data;
- });
- }
- if(vm.esGiftcard){
- prodState.getGiftcards(vm.giftcardIngresado).then(function(data){
- if (data.estado.valido != "N"){
- if($filter('filter')(vm.giftcardsAplicados, {serie:data.giftcard.serie}).length <= 0){
- vm.giftcardsAplicados.push(data.giftcard);
- }
- }
- vm.giftcards = data;
- })
- }
- }
- function validarPagoTengo() {
- if (!vm.validandopago) {
- vm.validandopago = true;
- var data = {
- monto: vm.tengoPagoMonto,
- QRWallet: vm.qrTengo
- };
- prodState.validarPagoTengo(data).then(function (data) {
- vm.validandopago = false;
- vm.pagoTengoRes = data.data;
- }).catch(function (err) {
- vm.validandopago = false;
- });
- }
- }
- function aplicaCupon(){
- vm.selectCuponProducts = false;
- vm.beneficios += `${vm.beneficios ? ' | ' : ''}Cupón ${vm.cuponvalido.descripcion}`
- switch (vm.cuponvalido.couponType) {
- case 'PRODUCTO':
- vm.pagos[vm.funcionActual.funcionPago].valor = 0
- vm.selectCuponProducts = false;
- break;
- case 'PORCENTAJE':
- var valorDescuento = parseFloat((vm.cuponvalido.descuentoPorcentaje / 100) * vm.Orden[0].encabezado.subtotal);
- vm.descuentosAplicados.push({
- codigo_descuento: 1,
- numOrden: vm.Orden[0].encabezado.numOrden,
- valor: valorDescuento,
- titulo: 'CUPON DESCUENTO',
- cuponingresado: vm.cuponingresado
- });
- vm.descuentoAplicado = parseFloat(vm.descuentoAplicado) + valorDescuento;
- prodState.aplicaDescuento(vm.Orden[0].encabezado.numOrden, vm.descuentoAplicado, vm.Orden[0].encabezado.grantotal).then(function (data) {
- vm.Orden[0].encabezado.grantotal = data.data.grantotal;
- vm.Orden[0].encabezado.total = data.data.grantotal;
- validarCargos();
- calcularCambio();
- })
- //vm.pagos[vm.funcionActual.funcionPago].valor = parseFloat((vm.cuponvalido.descuentoPorcentaje/100) * vm.Orden[0].encabezado.subtotal);
- //vm.beneficios = vm.beneficios + "(" + vm.pagos[vm.funcionActual.funcionPago].valor.toFixed(2).toString() + ")";
- vm.selectCuponProducts = false;
- break;
- case 'DIRECTO':
- vm.pagos[vm.funcionActual.funcionPago].valor += parseFloat(vm.cuponvalido.descuentoValor);
- vm.beneficios += ` (Valor: ${vm.cuponvalido.couponValue})`
- vm.selectCuponProducts = false;
- break;
- case 'SELECT_PRODUCTO':
- vm.pagos[vm.funcionActual.funcionPago].valor = 0
- vm.selectCuponProducts = true;
- getCuponElectronicoProds(vm.cuponvalido.couponValue)
- break;
- default:
- ''
- }
- const cupon = { cuponingresado: vm.cuponingresado, couponType: vm.cuponvalido.couponType }
- vm.cuponesElectronicosAgregados.push(cupon)
- vm.cuponesElectronicosAplicados.push(Object.assign({ codigo_Mesa: vm.Orden[0].encabezado.codigo_Mesa }, cupon))
- localStorageService.set('cuponesElectronicosAplicados', vm.cuponesElectronicosAplicados)
- vm.cuponvalido = "";
- vm.cuponinvalido ="";
- calcularCambio()
- if(vm.opcionActual.pedirDocumento == "S"){
- vm.lectura.transaccion = "CP";
- vm.lectura.codigoTransaccion = vm.cuponingresado;
- vm.cuponingresado = "";
- $state.transitionTo("pagar.cupones.digitalizar");
- }else{
- if(vm.opcionActual.pedirDocumento == "S"){
- vm.lectura.transaccion = "CP";
- vm.lectura.codigoTransaccion = vm.cuponingresado;
- vm.cuponingresado = "";
- pagaCarnet();
- }else{
- if(vm.selectCuponProducts){
- }else{
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }
- }
- }
- }
- function aplicarTENGO() {
- vm.pagos[vm.funcionActual.funcionPago].valor = parseFloat(vm.tengoPagoMonto);
- vm.mostrarlogo=true;
- calcularCambio();
- $state.transitionTo("pagar");
- }
- function aplicacertificado(){
- var arreglo = "";
- if(vm.esCertificado){
- arreglo = vm.certificadosAplicados;
- vm.lectura.transaccion = "CR";
- vm.lectura.codigoTransaccion = vm.certificadoIngresado;
- }
- if(vm.esGiftcard){
- arreglo = vm.giftcardsAplicados;
- vm.lectura.transaccion = "GC";
- vm.lectura.codigoTransaccion = vm.giftcardIngresado;
- }
- vm.requiereAuth = true;
- var total = 0;
- angular.forEach(arreglo, function (e,w){
- if(vm.esCertificado){
- total = total + e.total;
- }
- if(vm.esGiftcard){
- total = total + e.valor;
- }
- });
- vm.pagos[vm.funcionActual.funcionPago].valor = total;
- calcularCambio()
- if (vm.certificadosAplicados.length == 1) {
- $state.transitionTo("pagar.certificados.digitalizar");
- } else {
- $state.transitionTo("pagar");
- }
- }
- function reversarCertificados(certificados){
- var invalidos = "";
- var arreglo = "";
- if(vm.esCertificado){
- arreglo = vm.certificadosAplicados;
- }
- if(vm.esGiftcard){
- arreglo = vm.giftcardsAplicados;
- }
- angular.forEach(certificados, function(c,w){
- vm.requiereAuth = true;
- if(vm.esCertificado){
- var res = $filter('filter')(arreglo, {correlativo:c.correlativo});
- }
- if(vm.esGiftcard){
- var res = $filter('filter')(arreglo, {serie:c.serie});
- }
- var indice = arreglo.indexOf(res[0]);
- if(indice >= 0){
- arreglo.splice(indice,1);
- if(vm.esCertificado){
- invalidos = invalidos + c.correlativo + ",";
- }
- if(vm.esGiftcard){
- invalidos = invalidos + c.serie + ",";
- }
- }
- });
- if(vm.esCertificado){
- vm.certificadosAplicados = arreglo;
- }
- if(vm.esGiftcard){
- vm.giftcardsAplicados = arreglo;
- }
- var total = 0;
- angular.forEach(arreglo, function (e,w){
- total = total + e.total;
- });
- var tit = "";
- if(vm.esCertificado){
- vm.pagos[3].valor = total;
- tit = "Certificados";
- }
- if(vm.esGiftcard){
- vm.pagos[5].valor = total;
- tit = "Giftcards";
- }
- calcularCambio();
- toaster.pop("error","Atencion", tit + " invalidos " + invalidos,4000);
- }
- function aplicarDescuento(){
- vm.nomostrar = true;
- var descuento = vm.opcionActual;
- vm.funcionActual = {nombre_Funcion : "aplicarDescuento"}
- if(descuento.esAbierto == "S"){
- vm.primero = true;
- vm.monto = "0.00";
- vm.esCalculadora = true;
- $state.transitionTo("pagar.descuentos.valor");
- //prodState.setFocus("pass");
- vm.focus="pass";
- }else{
- aplicaDescuento();
- }
- }
- function aplicaDescManual(){
- aplicaDescuento(true);
- /*var subtotal = 0;
- var total = 0;
- var descuento = 0;
- if(vm.opcionActual.requiereAuth == "S"){
- vm.requiereAuth = true;
- if(vm.opcionActual.tipoDescuento == "M"){
- if(vm.descuentoAplicado > 0){
- total = vm.Orden[0].encabezado.total + vm.descuentoAplicado;
- }
- descuento = parseFloat(vm.monto);
- //subtotal = vm.Orden[0].encabezado.subtotal - descuento;
- total = vm.Orden[0].encabezado.total - descuento;
- }else{
- var valor=0;
- if(parseInt(vm.monto) > 1){
- valor = parseInt(vm.monto)/100;
- }else{
- valor = vm.monto;
- }
- if(vm.descuentoAplicado >= 0){
- //subtotal = vm.Orden[0].encabezado.subtotal + descuento;
- total = (vm.Orden[0].encabezado.total + vm.descuentoAplicado);
- }
- if(vm.opcionActual.aplica_aisv == "S"){
- descuento = parseFloat(valor) * vm.Orden[0].encabezado.subtotal;
- }else{
- descuento = parseFloat(valor) * vm.Orden[0].encabezado.total;
- }
- //subtotal = vm.Orden[0].encabezado.subtotal - descuento;
- total = vm.Orden[0].encabezado.total - descuento;
- }
- vm.beneficios += "(" + descuento.toFixed(2) +")";
- vm.Autorizado = false;
- if(vm.opcionActual.pedirDocumento == "S"){
- vm.lectura = {
- identidad : "",
- nombre : "",
- nacimiento : "",
- codigoTransaccion : "",
- transaccion : "",
- numOrden : ""
- }
- vm.dataIngresada = "";
- //vm.totalesTemporal.subtotal = subtotal;
- vm.totalesTemporal.total = total;
- vm.totalesTemporal.descuentoAplicado = descuento;
- calcularCambio();
- vm.lectura.transaccion = "DS";
- vm.lectura.codigoTransaccion = vm.opcionActual.codigoDescuento;
- $state.transitionTo("pagar.descuentos.digitalizar");
- vm.focus ="lectura";
- }else{
- //vm.Orden[0].encabezado.subtotal = subtotal;
- vm.descuentoAplicadoCodigo = vm.opcionActual.codigoDescuento;
- vm.Orden[0].encabezado.total = total;
- vm.descuentoAplicado = descuento;
- calcularCambio();
- vm.lectura.transaccion = "DS";
- vm.lectura.codigoTransaccion = vm.opcionActual.codigoDescuento;
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }
- }*/
- }
- function aplicaDescuento(esManual){
- var esManual;
- if(esManual == undefined){
- esManual = false;
- }
- var total = 0;
- var subtotal = 0;
- var descuento = 0;
- var proceder = true;
- var totaldescuento = 0;
- var total2 = 0;
- vm.funcionActual = {nombre_Funcion : "aplicaDescuento"};
- if(vm.opcionActual.codigoDescuento){
- if(vm.opcionActual.requiereAuth == "S"){
- vm.requiereAuth = true;
- vm.beneficios = "Descuento | " + vm.opcionActual.descripcion;
- angular.forEach(vm.descuentosAplicados, function(row,key){
- if(vm.opcionActual.sobreDescuento == "S"){
- if(row.codigo_descuento == vm.opcionActual.codigoDescuento){
- if(vm.opcionActual.esMultiple == "S"){
- proceder = true;
- }else{
- proceder = false;
- toaster.pop("error","","Este descuento no se puede aplicar mas de una vez");
- }
- }
- }
- totaldescuento = totaldescuento + row.valor;
- });
- if(vm.opcionActual.minimo != null){
- if(vm.opcionActual.minimo <= vm.Orden[0].encabezado.grantotal){
- proceder=true;
- }else{
- proceder = false;
- toaster.pop('error',"Debe cumplir con el monto minimo de " + vm.opcionActual.minimo);
- }
- }
- if(proceder){
- ///EN CASO SEA MONTO MANUAL
- if(vm.opcionActual.tipoDescuento == "M"){
- if(totaldescuento > 0){
- total = vm.Orden[0].encabezado.grantotal + totaldescuento;
- total2 = vm.Orden[0].encabezado.total + totaldescuento;
- }else{
- total = vm.Orden[0].encabezado.grantotal;
- total2 = vm.Orden[0].encabezado.total;
- }
- if(vm.opcionActual.maximo != null){
- if(parseFloat(vm.Orden[0].encabezado.total) >= vm.opcionActual.maximo){
- if(esManual){
- descuento = parseFloat(vm.monto);
- }else{
- descuento = vm.opcionActual.monto;
- }
- }else{
- if(esManual){
- descuento = parseFloat(vm.monto);
- }else{
- descuento = vm.opcionActual.monto;
- }
- }
- }else{
- if(esManual){
- descuento = parseFloat(vm.monto);
- }else{
- descuento = vm.opcionActual.monto;
- }
- }
- if(vm.opcionActual.aplica_aisv == "S"){
- totaldescuento = totaldescuento + descuento;
- total = total- totaldescuento;
- total2 = total2 - totaldescuento;
- }else{
- prodState.aplicaDescuento(vm.Orden[0].encabezado.numOrden, totaldescuento + descuento, vm.Orden[0].encabezado.grantotal).then(function(data) {
- total = data.data.grantotal;
- total2 = data.data.grantotal;
- totaldescuento = totaldescuento + descuento;
- vm.beneficios += "(" + descuento.toFixed(2) +")";
- vm.Autorizado = false;
- if(vm.opcionActual.pedirDocumento == "S"){
- vm.totalesTemporal.total = total;
- vm.totalesTemporal.total2 = total2;
- vm.totalesTemporal.subtotal = subtotal;
- vm.totalesTemporal.descuentoAplicado = totaldescuento;
- vm.totalesTemporal.descuento = descuento;
- vm.totalesTemporal.titulo = vm.opcionActual.descripcion;
- vm.anio = "";
- vm.mes = "";
- vm.dia ="";
- vm.dataIngresada = "";
- vm.lectura = {
- identidad : "",
- nombre : "",
- nacimiento : "",
- codigoTransaccion : "",
- transaccion : "",
- numOrden : ""
- }
- calcularCambio();
- vm.lectura.transaccion = "DS";
- vm.lectura.codigoTransaccion = vm.opcionActual.codigoDescuento;
- vm.focus="lectura";
- prodState.getFormDigDescuento(vm.opcionActual.codigoDescuento).then(function(data) {
- vm.descuentoForm = data.data;
- $state.transitionTo("pagar.descuentos.digitalizar");
- vm.focus = "lectura";
- })
- //prodState.setFocus("lectura");
- }else{
- if(vm.opcionActual.pedirDocumento == "C"){
- vm.totalesTemporal.total = total;
- vm.totalesTemporal.total2 = total2;
- vm.totalesTemporal.subtotal = subtotal;
- vm.totalesTemporal.descuentoAplicado = totaldescuento;
- vm.totalesTemporal.descuento = descuento;
- vm.totalesTemporal.titulo = vm.opcionActual.descripcion;
- vm.lectura = {
- identidad : "",
- nombre : "",
- nacimiento : "",
- codigoTransaccion : "",
- transaccion : "",
- numOrden : ""
- }
- vm.lectura.transaccion = "DS";
- vm.lectura.codigoTransaccion = vm.opcionActual.codigoDescuento;
- vm.numOrden = vm.Orden[0].encabezado.numOrden;
- calcularCambio();
- pagaCarnet();
- }else{
- vm.descuentoAplicadoCodigo = vm.opcionActual.codigoDescuento;
- vm.descuentoAplicado = totaldescuento;
- //vm.Orden[0].encabezado.subtotal = subtotal;
- vm.Orden[0].encabezado.grantotal = total;
- vm.Orden[0].encabezado.total = total2;
- vm.descuentosAplicados.push({
- codigo_descuento : vm.opcionActual.codigoDescuento,
- numOrden : vm.Orden[0].encabezado.numOrden,
- valor : descuento,
- titulo : vm.opcionActual.descripcion
- });
- calcularCambio();
- vm.lectura.transaccion = "DS";
- vm.lectura.codigoTransaccion = vm.opcionActual.codigoDescuento;
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }
- }
- })
- }
- }else{
- //EN CASO SEA MONTO PORCENTUAL
- if(vm.opcionActual.tipoDescuento == "P"){
- if(totaldescuento > 0){
- //subtotal = vm.Orden[0].encabezado.subtotal + descuento;
- total = vm.Orden[0].encabezado.grantotal + totaldescuento;
- total2 = vm.Orden[0].encabezado.total + totaldescuento;
- }
- if(vm.opcionActual.maximo != null ){
- if(parseFloat(vm.Orden[0].encabezado.total) >= vm.opcionActual.maximo){
- if(esManual){
- descuento = parseFloat(parseInt(vm.monto)/100) * vm.opcionActual.maximo;
- }else{
- descuento = parseFloat(parseInt(vm.opcionActual.porcentaje)/100) * vm.opcionActual.maximo;
- }
- }else{
- if(vm.opcionActual.aplica_aisv == "S"){
- if(esManual){
- descuento = parseFloat(parseInt(vm.monto)/100) * vm.Orden[0].encabezado.subtotal;
- }else{
- descuento = parseFloat(parseInt(vm.opcionActual.porcentaje)/100) * vm.Orden[0].encabezado.subtotal;
- }
- }else{
- if(esManual){
- descuento = parseFloat(parseInt(vm.monto)/100) * vm.Orden[0].encabezado.total;
- }else{
- descuento = parseFloat(parseInt(vm.opcionActual.porcentaje)/100) * vm.Orden[0].encabezado.total;
- }
- }
- }
- }else{
- if(vm.opcionActual.aplica_aisv == "S"){
- if(esManual){
- descuento = parseFloat(parseInt(vm.monto)/100) * vm.Orden[0].encabezado.subtotal;
- }else{
- descuento = parseFloat(parseInt(vm.opcionActual.porcentaje)/100) * vm.Orden[0].encabezado.subtotal;
- if(vm.opcionActual.porcentaje == 100){
- //vm.Orden[0].encabezado.grantotal = vm.Orden[0].encabezado.grantotal - parseFloat(vm.Orden[0].encabezado.impuestos);
- }
- }
- }else{
- if(esManual){
- descuento = parseFloat(parseInt(vm.monto)/100) * vm.Orden[0].encabezado.total;
- }else{
- descuento = parseFloat(parseInt(vm.opcionActual.porcentaje)/100) * vm.Orden[0].encabezado.total;
- }
- }
- }
- }else{
- if(vm.opcionActual.tipoDescuento == "E"){
- descuento = parseFloat(vm.Orden[0].encabezado.impuestos);
- }
- }
- prodState.aplicaDescuento(vm.Orden[0].encabezado.numOrden, totaldescuento + descuento, vm.Orden[0].encabezado.grantotal).then(function(data) {
- total = data.data.grantotal;
- total2 = data.data.grantotal;
- totaldescuento = totaldescuento + descuento;
- vm.beneficios += "(" + descuento.toFixed(2) +")";
- vm.Autorizado = false;
- if(vm.opcionActual.pedirDocumento == "S"){
- vm.totalesTemporal.total = total;
- vm.totalesTemporal.total2 = total2;
- vm.totalesTemporal.subtotal = subtotal;
- vm.totalesTemporal.descuentoAplicado = totaldescuento;
- vm.totalesTemporal.descuento = descuento;
- vm.totalesTemporal.titulo = vm.opcionActual.descripcion;
- vm.anio = "";
- vm.mes = "";
- vm.dia ="";
- vm.dataIngresada = "";
- vm.lectura = {
- identidad : "",
- nombre : "",
- nacimiento : "",
- codigoTransaccion : "",
- transaccion : "",
- numOrden : ""
- }
- calcularCambio();
- vm.lectura.transaccion = "DS";
- vm.lectura.codigoTransaccion = vm.opcionActual.codigoDescuento;
- prodState.getFormDigDescuento(vm.opcionActual.codigoDescuento).then(function(data) {
- vm.descuentoForm = data.data;
- vm.focus="lectura";
- $state.transitionTo("pagar.descuentos.digitalizar");
- })
- //prodState.setFocus("lectura");
- vm.focus = "lectura";
- }else{
- if(vm.opcionActual.pedirDocumento == "C"){
- vm.totalesTemporal.total = total;
- vm.totalesTemporal.total2 = total2;
- vm.totalesTemporal.subtotal = subtotal;
- vm.totalesTemporal.descuentoAplicado = totaldescuento;
- vm.totalesTemporal.descuento = descuento;
- vm.totalesTemporal.titulo = vm.opcionActual.descripcion;
- vm.lectura = {
- identidad : "",
- nombre : "",
- nacimiento : "",
- codigoTransaccion : "",
- transaccion : "",
- numOrden : ""
- }
- vm.lectura.transaccion = "DS";
- vm.lectura.codigoTransaccion = vm.opcionActual.codigoDescuento;
- vm.numOrden = vm.Orden[0].encabezado.numOrden;
- calcularCambio();
- pagaCarnet();
- }else{
- vm.descuentoAplicadoCodigo = vm.opcionActual.codigoDescuento;
- vm.descuentoAplicado = totaldescuento;
- //vm.Orden[0].encabezado.subtotal = subtotal;
- vm.Orden[0].encabezado.grantotal = total;
- vm.Orden[0].encabezado.total = total2;
- vm.descuentosAplicados.push({
- codigo_descuento : vm.opcionActual.codigoDescuento,
- numOrden : vm.Orden[0].encabezado.numOrden,
- valor : descuento,
- titulo : vm.opcionActual.descripcion
- });
- calcularCambio();
- vm.lectura.transaccion = "DS";
- vm.lectura.codigoTransaccion = vm.opcionActual.codigoDescuento;
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }
- }
- })
- //total = vm.Orden[0].encabezado.grantotal - descuento;
- //total2 = vm.Orden[0].encabezado.total - descuento;
- }
- }
- }
- }
- }
- function aplicar(opcion){
- vm.opcionActual = opcion;
- if(opcion.codigoDescuento){
- aplicarDescuento(opcion);
- }else{
- if(opcion.codigo_Cupon){
- aplicarCupon(opcion);
- }
- }
- }
- function selectMonto(){
- vm.monto = "";
- }
- function selectPasarela(pass){
- if (pass.tipoConexion == "C") {
- listaPagos();
- vm.intervalPromise = $interval(function(){
- consTarjetas();
- },3000);
- }
- vm.selectedPasarela = pass;
- }
- function parsearTarjeta(){
- if(vm.lecturaTarjeta.length>0){
- var result = vm.lecturaTarjeta.split("^");
- vm.txtTarjeta = result[0].substring(1,result[0].length);
- vm.txtNombre = result[1];
- vm.txtVence = result[2].substring(2,4) + "/" + result[2].substring(0,2);
- }
- }
- function parsearIdentidad() {
- if (vm.pais === "HN") {
- if (vm.dataIngresada.length > 0) {
- var datos = vm.dataIngresada.split(",");
- if (datos.length > 10) {
- vm.lectura.identidad = datos[2];
- vm.lectura.nombre = datos[3] + " " + datos[4] + " " + datos[5] + " " + datos[6];
- vm.anio = datos[10].substring(4, 8);
- vm.mes = datos[10].substring(2, 4);
- vm.dia = datos[10].substring(0, 2);
- }
- }
- }
- if (vm.pais === "SV") {
- if (vm.dataIngresada.length > 0) {
- var datos = vm.dataIngresada.split("]]");
- if (datos.length > 6) {
- vm.lectura.identidad = datos[0].substring(2, 10);
- vm.lectura.nombre = datos[2] + " " + datos[1];
- vm.anio = datos[9].substring(6, 10);
- vm.mes = datos[9].substring(3, 5);
- vm.dia = datos[9].substring(0, 2);
- }
- }
- }
- }
- function clienteDatos(){
- if(vm.dataCliente.consumidor.length ==0){
- vm.dataCliente.consumidor = "";
- }
- if(vm.dataCliente.rtn.length ==0){
- vm.dataCliente.rtn = "";
- }
- if(vm.dataCliente.empresa.length == 0){
- vm.dataCliente.empresa = "";
- }
- $state.transitionTo("pagar.datos");
- }
- function salvarDatosCliente(){
- if(vm.dataCliente.empresa.length > 0 || !vm.encontradoCliente){
- if (vm.dataCliente.rtn.length > 0) {
- prodState.dataCliente = vm.dataCliente;
- if(!vm.encontradoCliente){
- prodState.saveEmpresa(vm.dataCliente).then(function(res){
- vm.pagoParams.cliente = vm.dataCliente;
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- })
- }else{
- vm.pagoParams.cliente = vm.dataCliente;
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }
- }else{
- if(vm.dataCliente.ordenCompraEx.length < 0){
- toaster.pop("error","","Debe llenar todos los datos")
- }
- }
- }
- if(vm.dataCliente.ordenCompraEx.length > 0){
- if(vm.dataCliente.constanciaRegistroEx.length > 0){
- if(vm.dataCliente.registroSAG.length > 0){
- vm.pagoParams.cliente = vm.dataCliente;
- vm.mostrarlogo=true;
- $state.transitionTo("pagar");
- }else{
- toaster.pop("error","","Debe llenar todos los datos de EXENTOS")
- }
- }else{
- toaster.pop("error","","Debe llenar todos los datos de EXENTOS")
- }
- }else{
- toaster.pop("error","","Debe llenar todos los datos de EXENTOS")
- }
- }
- function consTarjetas() {
- getTarjetas(vm.Orden[0].encabezado.numOrden).then(function(data){
- vm.currentLimPago = "tarjs";
- if (data.tarjetas.length > 0) {
- vm.Tarjetas = data.tarjetas;
- vm.paramsLimPago = vm.Tarjetas;
- var total = 0;
- var dev = 0;
- angular.forEach(data.tarjetas, function (m, r) {
- if (m.aprobada == "S") {
- total = total + parseFloat(m.monto);
- dev = dev + parseFloat(m.devolucion)
- toaster.pop('success','',"Nuevo Pago en Tarjeta")
- if(vm.intervalPromise != null){
- $interval.cancel(vm.intervalPromise);
- vm.intervalPromise = null;
- }
- }
- })
- vm.pagos[2].valor = total;
- calcularCambio();
- }
- })
- }
- function listaPagos(){
- vm.mostrarlogo = false;
- vm.currentLimPago = "";
- vm.paramsLimPago = "";
- if(vm.Orden[0].encabezado.numOrden){
- consTarjetas();
- }
- if(vm.Tarjetas.length > 0){
- vm.currentLimPago = "tarjs";
- vm.paramsLimPago = vm.Tarjetas;
- }else{
- if(vm.descuentosAplicados.length > 0){
- vm.currentLimPago = "desc";
- vm.paramsLimPago = vm.descuentosAplicados
- }else{
- if(vm.certificadosAplicados.length > 0 ){
- vm.currentLimPago = "cert";
- vm.paramsLimPago = vm.certificadosAplicados;
- }else{
- if(vm.giftcardsAplicados.length > 0){
- vm.currentLimPago = "gift";
- vm.paramsLimPago = vm.giftcardsAplicados;
- }
- }
- }
- }
- $state.transitionTo("pagar.limpiarTodos");
- }
- function limpiarPagos(){
- vm.mostrarlogo = false;
- $state.transitionTo("pagar.limpiarPagos");
- }
- function limpiarPago(forma){
- if(forma.codigo_Pago == 1){
- //efectivo
- vm.pagos[forma.codigo_Pago].valor = 0.00;
- }else{
- if(forma.codigo_Pago == 2){
- //tarjeta
- vm.PagoTarjeta = {
- numtarjeta : "",
- nombre : "",
- vence : "",
- monto : "",
- autorizacion : "",
- banco : ""
- }
- vm.Tarjetas = []
- vm.pagos[forma.codigo_Pago].valor = 0.00;
- if(vm.pagos[2].valor <= 0){
- resetDescuentoFiscal();
- }
- }else{
- if(forma.codigo_Pago == 3){
- //certificados
- vm.certificadoIngresado = "";
- vm.certificados = "";
- vm.pagos[forma.codigo_Pago].valor = 0.00;
- }else{
- if(forma.codigo_Pago == 4){
- //cupon
- vm.pagos[forma.codigo_Pago].valor = 0.00
- vm.cuponingresado = vm.cuponvalido = ''
- vm.cuponesElectronicosAgregados = []
- filterCuponesElectronicosAplicados()
- }else{
- var data = {
- cargo: forma.id,
- orden: vm.Orden[0].encabezado.numOrden
- }
- prodState.anulCargo(data).then(function(s) {
- activate();
- $state.transitionTo("pagar");
- })
- }
- }
- }
- }
- vm.lectura.identidad = "";
- vm.lectura.nombre = "";
- vm.lectura.nacimiento = "";
- vm.mostrarlogo=false;
- calcularCambio();
- //$state.transitionTo("pagar");
- }
- function limpiarDescuento(){
- //vm.Orden[0].encabezado.subtotal = parseFloat(vm.Orden[0].encabezado.subtotal) + parseFloat(vm.descuentoAplicado);
- //vm.Orden[0].encabezado.total = parseFloat(vm.Orden[0].encabezado.total) + parseFloat(vm.descuentoAplicado);
- vm.descuentoAplicado = "0";
- vm.descuentosAplicados = [];
- vm.lectura.identidad = "";
- vm.lectura.nombre = "";
- vm.lectura.nacimiento = "";
- getOrden(vm.datosMesa.NumOrden).then(function () {
- calcularCambio();
- });
- }
- function validarCargos(){
- vm.cargos = [];
- var totalc = 0;
- var totalca = 0;
- var row;
- angular.forEach(vm.cargos, function(r,k){
- totalc = r.monto;
- });
- for (var i = 0; i < 5; i++) {
- if(eval("vm.Orden[0].encabezado.cargo" + (i+1)) == vm.cargosTodos[i].id){
- row = vm.cargosTodos[i];
- row.monto = 0;
- if(eval("vm.Orden[0].encabezado.montoCargo" + (i+1)) <= 0){
- if(row.tipo == "P"){
- if(row.antesdeISV == "S"){
- row.monto = parseFloat(parseInt(row.valor)/100) * vm.Orden[0].encabezado.subtotal;
- }else{
- row.monto = parseFloat(parseInt(row.valor)/100) * vm.Orden[0].encabezado.total;
- }
- }else{
- if(row.tipo == "M"){
- row.monto = row.valor;
- }
- }
- totalca = parseFloat(totalca) + parseFloat(row.monto);
- vm.cargos.push(row);
- }else{
- row.monto = eval("vm.Orden[0].encabezado.montoCargo" + (i+1));
- vm.cargos.push(row);
- }
- }
- };
- vm.Orden[0].encabezado.total = parseFloat(vm.Orden[0].encabezado.total) - parseFloat(totalc);
- vm.Orden[0].encabezado.total = parseFloat(vm.Orden[0].encabezado.total) + parseFloat(totalca);
- calcularCambio();
- }
- /* FUNCIONES CALCULADORA */
- function suma(){
- vm.monto = vm.monto + "+";
- }
- function resta(){
- vm.monto = vm.monto + "-";
- }
- function multiplica(){
- vm.monto = vm.monto + "*";
- }
- function divide(){
- vm.monto = vm.monto + "/";
- }
- function igual(){
- vm.monto = eval(vm.monto);
- }
- function GetEmpresa(search){
- return prodState.getEmpresa(search).then(function(data){
- if(data.length >0)
- vm.encontradoCliente = true;
- else
- vm.encontradoCliente = false;
- return data;
- })
- }
- function selectedEmpresa(selected){
- if(selected){
- vm.dataCliente.empresa = selected.originalObject.empresa;
- vm.dataCliente.rtn = selected.originalObject.rtn;
- vm.encontradoCliente = true;
- }else{
- vm.encontradoCliente = false;
- vm.dataCliente.empresa
- }
- }
- function inputchanged(data){
- vm.dataCliente.empresa = data;
- }
- function cuponElectronico() {
- vm.esCuponElectronico = true
- vm.cuponvalido = null
- vm.cuponingresado = ''
- $state.transitionTo("pagar.cupones.formulario")
- const cuponesElectronicosAplicados = vm.cuponesElectronicosAplicados
- .filter(element => element.codigo_Mesa == vm.Orden[0].encabezado.codigo_Mesa)
- if (!jQuery.isEmptyObject(cuponesElectronicosAplicados)) {
- const cupones = cuponesElectronicosAplicados
- .filter(aplicado => !vm.cuponesElectronicosAgregados
- .some(agregado => agregado.cuponingresado == aplicado.cuponingresado))
- if (!jQuery.isEmptyObject(cupones)) {
- vm.cuponingresado = cupones[0].cuponingresado
- validarCupon()
- }
- }
- }
- function getCuponElectronicoProds(id) {
- prodState.getCuponProducto(id).then(response => {
- if (response.status == 200) vm.cuponelectronicoProds = response.data
- else getCuponElectronicoProds(id)
- })
- }
- function setCuponElectronicoProd(item){
- var dta = {
- codigo_producto: item.codigo_Producto,
- codigo_cupon: item.codigo_Cupon
- }
- if(!vm.seteandoproductocupon){
- vm.seteandoproductocupon = true;
- prodState.selectCuponElectronicoProd(vm.Orden[0].encabezado.numOrden, dta).then(function(data){
- vm.seteandoproductocupon = false;
- if(data){
- toaster.pop('success', "", "PRODUCTO INGRESADO EXITOSAMENTE");
- $state.transitionTo('pagar')
- }
- }).catch(function(err) {
- if(err){
- }
- })
- }
- }
- function GenerarlinkDePago(){
- vm.linkDePago = ""
- prodState.getLinkPago(vm.Orden[0].encabezado.numOrden,vm.correo).then(function(data){
- if(data.data != "error"){
- vm.linkDePago = data.data;
- }else{
- toaster.pop("warning", "" , "NO SE HA PODIDO GENERAR EL LINK DE PAGO, INTENTE DE NUEVO")
- }
- })
- vm.intervalPromise = $interval(function(){
- consTarjetas();
- },3000);
- }
- function copiarLink(){
- document.getElementById('link').select()
- document.execCommand('copy')
- toaster.pop("success", "", "Link Copiado...!")
- }
- function getRegalias(orden){
- return prodState.getValidarRegalia(orden);
- }
- function setSeleccionRegalia(item){
- var data = {
- codigo_regalia: item.codigoRegalia,
- codigo_producto : item.codigo_producto,
- numOrden: vm.Orden[0].encabezado.numOrden
- }
- prodState.postValidarRegalia(data).then(function(data){
- if(data.status == 204){
- toaster.pop('success','','Producto de Regalia Agregado Correctamente...');
- $state.transitionTo('pagar');
- }
- })
- }
- function loadConfiguraciones() {
- prodState.getConfiguraciones().then(response => {
- if (response.status == 200) vm.configuraciones = response.data
- else loadConfiguraciones()
- })
- }
- function loadCuponElectronicoCampaña() {
- prodState.getCuponElectronicoCampaña().then(response => {
- if (response.status == 200) vm.cuponElectronicoCampaña = response.data
- else loadCuponElectronicoCampaña()
- })
- }
- function redimirCuponElectronico() {
- aplicaCupon()
- if (vm.configuraciones.requerirAutorizacionRedimirCuponElectronico && !vm.requiereAuth)
- vm.requiereAuth = true
- toaster.pop('success', 'CUPON APLICADO EXITOSAMENTE')
- }
- function filterCuponesElectronicosAplicados() {
- vm.cuponesElectronicosAplicados = vm.cuponesElectronicosAplicados
- .filter(element => element.codigo_Mesa != vm.Orden[0].encabezado.codigo_Mesa)
- localStorageService.set('cuponesElectronicosAplicados', vm.cuponesElectronicosAplicados)
- }
- function addProductoCuponesElectronicos() {
- if (jQuery.isEmptyObject(vm.cuponesElectronicosAgregados)) return
- const numOrden = vm.Orden[0].encabezado.numOrden,
- usuario = vm.Usuario.usuario[0].id
- vm.cuponesElectronicosAgregados
- .filter(element => element.couponType == 'PRODUCTO')
- .forEach(element => {
- prodState.postCuponElectronico(element.cuponingresado, numOrden, usuario).then(response => {
- if (response.status == 200)
- if (response.data.success) {
- toaster.pop('success', `PRODUCTO AGREGADO DEL CUPON ${element.cuponingresado}`)
- return
- } else toaster.pop('error', `ERROR AL AGREGAR PRODUCTO DEL CUPON ${element.cuponingresado}`)
- else toaster.pop('error', `ERROR AL PROCESAR CUPON ${element.cuponingresado}`)
- vm.cuponesElectronicosAgregados = vm.cuponesElectronicosAgregados
- .filter(element_ => element_ != element)
- localStorageService.set('cuponesElectronicosAplicados', vm.cuponesElectronicosAplicados)
- })
- })
- }
- function deleteCuponesElectronicos() {
- if (jQuery.isEmptyObject(vm.cuponesElectronicosAgregados)) return
- const id = vm.cuponesElectronicosAgregados.map(agregado => agregado.cuponingresado).join(),
- numOrden = vm.Orden[0].encabezado.numOrden,
- usuario = prodState.Usuario.usuario[0].id
- prodState.deleteCuponElectronico(id, numOrden, usuario).then(response => {
- if (response.status == 204) {
- console.log('Cupones electrónicos validados correctamente')
- filterCuponesElectronicosAplicados()
- } else {
- console.error('Error al validar cupones electrónicos, intentando nuevamente...')
- deleteCuponesElectronicos()
- }
- })
- }
- function filterStringNumbers(string) {
- return string.replace(/[^0-9]/g, '').replace(/(\..*)\./g, '$1')
- }
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement