diff --git a/src/js/controller.js b/src/js/controller.js index f9ce5fa..d113717 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -1,228 +1,229 @@ -angular.module('focaModalPuntoDescarga') - .controller('focaModalPuntoDescargaController', [ - '$timeout', - '$filter', - '$scope', - '$uibModalInstance', - 'focaModalPuntoDescargaService', - 'filters', - 'focaModalService', - function($timeout, $filter, $scope, $uibModalInstance, - focaModalPuntoDescargaService, filters, focaModalService) { + angular.module('focaModalPuntoDescarga') + .controller('focaModalPuntoDescargaController', [ + '$timeout', + '$filter', + '$scope', + '$uibModalInstance', + 'focaModalPuntoDescargaService', + 'filters', + 'focaModalService', + function($timeout, $filter, $scope, $uibModalInstance, + focaModalPuntoDescargaService, filters, focaModalService) { - $scope.cantidadArticulo = 0; - $scope.articuloSeleccionado = 0; - $scope.ivas = []; - $scope.puntosSeleccionados = []; - $scope.editando = false; - $scope.puntoDescarga = { - id: 0, - id_cliente: filters.idCliente, - id_da_config_0: filters.idDomicilio, - latitud: -32.89214159952345, - longitud: -68.84572999101856 - }; - $scope.articulos = angular.copy(filters.articulos); - $scope.articulos.map(function(articulo) { - articulo.restante = articulo.cantidad; - }); - actualizarTabla(); - cargarPuntos(filters.puntosDescarga); + $scope.cantidadArticulo = 0; + $scope.articuloSeleccionado = 0; + $scope.ivas = []; + $scope.puntosSeleccionados = []; + $scope.editando = false; + $scope.puntoDescarga = { + id: 0, + id_cliente: filters.idCliente, + id_da_config_0: filters.idDomicilio, + latitud: filters.domicilio.Latitud , + longitud: filters.domicilio.Longitud + }; - $scope.cancel = function() { - if($scope.ingreso) { - $scope.ingreso = false; - $scope.puntoDescarga = { - id: 0, - id_cliente: filters.idCliente, - id_da_config_0: filters.idDomicilio, - latitud: -32.89214159952345, - longitud: -68.84572999101856 - }; - $scope.editando = false; - }else { - $uibModalInstance.dismiss('cancel'); - } - }; - - $scope.aceptar = function() { - if($scope.cargaArticulos) { - cargarArticulos(); - }else if(!$scope.puntosSeleccionados.length) { - $uibModalInstance.dismiss('cancel'); - }else { - enviarPuntos(); - } - }; + $scope.articulos = angular.copy(filters.articulos); + $scope.articulos.map(function(articulo) { + articulo.restante = articulo.cantidad; + }); + actualizarTabla(); + cargarPuntos(filters.puntosDescarga); - $scope.guardar = function(key) { - if(key === 13) { - focaModalPuntoDescargaService - .guardarPuntoDescarga($scope.puntoDescarga) - .then(function() { - actualizarTabla(); + $scope.cancel = function() { + if ($scope.ingreso) { $scope.ingreso = false; $scope.puntoDescarga = { id: 0, id_cliente: filters.idCliente, id_da_config_0: filters.idDomicilio, - latitud: -32.89214159952345, - longitud: -68.84572999101856 + latitud: filters.domicilio.Latitud, + longitud: filters.domicilio.Longitud }; $scope.editando = false; - }); - } - }; + } else { + $uibModalInstance.dismiss('cancel'); + } + }; - $scope.editar = function(id) { - focaModalPuntoDescargaService.getPuntoDescargaById(id).then(function(res) { - $scope.puntoDescarga = res.data; - $scope.ingreso = true; - $scope.editando = true; - }); - }; + $scope.aceptar = function() { + if ($scope.cargaArticulos) { + cargarArticulos(); + } else if(!$scope.puntosSeleccionados.length) { + $uibModalInstance.dismiss('cancel'); + } else { + enviarPuntos(); + } + }; - $scope.eliminar = function(idx, puntoDescarga) { - focaModalService.confirm('¿Está seguro que desea borrar el punto de descarga '+ - puntoDescarga.descripcion + '?').then(function(data) { - if(data) { - focaModalPuntoDescargaService - .eliminarPuntoDescarga(puntoDescarga.id) - .then(function() { - $scope.puntosDescarga.splice(idx, 1); - }); - } + $scope.guardar = function(key) { + if(key === 13) { + focaModalPuntoDescargaService + .guardarPuntoDescarga($scope.puntoDescarga) + .then(function() { + actualizarTabla(); + $scope.ingreso = false; + $scope.puntoDescarga = { + id: 0, + id_cliente: filters.idCliente, + id_da_config_0: filters.idDomicilio, + latitud: filters.domicilio.Latitud, + longitud: filters.domicilio.Longitud + }; + $scope.editando = false; + }); + } + }; + + $scope.editar = function(id) { + focaModalPuntoDescargaService.getPuntoDescargaById(id).then(function(res) { + $scope.puntoDescarga = res.data; + $scope.ingreso = true; + $scope.editando = true; }); - }; + }; - $scope.seleccionarPunto = function(idx, esCheckbox) { - var indexPunto = $scope.puntosSeleccionados.indexOf(idx); - if(indexPunto !== -1) { - if(!esCheckbox){ - $scope.puntosDescarga[idx].seleccionado = false; - } - $scope.puntosSeleccionados.splice(indexPunto, 1); - }else { - if(!esCheckbox){ - $scope.puntosDescarga[idx].seleccionado = true; + $scope.eliminar = function(idx, puntoDescarga) { + focaModalService.confirm('¿Está seguro que desea borrar el punto de descarga '+ + puntoDescarga.descripcion + '?').then(function(data) { + if (data) { + focaModalPuntoDescargaService + .eliminarPuntoDescarga(puntoDescarga.id) + .then(function() { + $scope.puntosDescarga.splice(idx, 1); + }); + } + }); + }; + + $scope.seleccionarPunto = function(idx, esCheckbox) { + var indexPunto = $scope.puntosSeleccionados.indexOf(idx); + if (indexPunto !== -1) { + if (!esCheckbox) { + $scope.puntosDescarga[idx].seleccionado = false; + } + $scope.puntosSeleccionados.splice(indexPunto, 1); + } else { + if (!esCheckbox) { + $scope.puntosDescarga[idx].seleccionado = true; + } + $scope.puntosSeleccionados.push(idx); } - $scope.puntosSeleccionados.push(idx); - } - }; + }; - $scope.agregarArticulo = function(punto, key) { - key = (typeof key === 'undefined') ? 13 : key; + $scope.agregarArticulo = function(punto, key) { + key = (typeof key === 'undefined') ? 13 : key; - if(key === 13){ - var articulo = $scope.articulos[$scope.articuloSeleccionado], - cantidadRestante = articulo.restante - punto.cantidadACargar; + if (key === 13) { + var articulo = $scope.articulos[$scope.articuloSeleccionado], + cantidadRestante = articulo.restante - punto.cantidadACargar; - if(cantidadRestante < 0) { - focaModalService - .alert('La cantidad a cargar debe ser menor o igual al restante'); - }else if(punto.cantidadACargar <= 0) { - focaModalService - .alert('La cantidad a cargar debe ser mayor que cero'); - }else { - punto.cargado += parseInt(punto.cantidadACargar); - articulo.restante = cantidadRestante; - var existeArticulo = punto.articulosAgregados.filter( - function (articuloAAgregar) { - return articuloAAgregar.id === articulo.idArticulo; - }); - //Si el articulo ya fue agregado - if(existeArticulo.length) { - //Solo sumo cantidad - var total = parseInt(existeArticulo[0].cantidad) + - parseInt(punto.cantidadACargar); - existeArticulo[0].cantidad = total; - }else { - //Agrego el articulo con la cantidad - punto.articulosAgregados.push({ - id: articulo.idArticulo, - descripcion: articulo.descripcion, - cantidad: punto.cantidadACargar, - index: $scope.articuloSeleccionado - }); + if (cantidadRestante < 0) { + focaModalService + .alert('La cantidad a cargar debe ser menor o igual al restante'); + } else if (punto.cantidadACargar <= 0) { + focaModalService + .alert('La cantidad a cargar debe ser mayor que cero'); + } else { + punto.cargado += parseInt(punto.cantidadACargar); + articulo.restante = cantidadRestante; + var existeArticulo = punto.articulosAgregados.filter( + function (articuloAAgregar) { + return articuloAAgregar.id === articulo.idArticulo; + }); + //Si el articulo ya fue agregado + if (existeArticulo.length) { + //Solo sumo cantidad + var total = parseInt(existeArticulo[0].cantidad) + + parseInt(punto.cantidadACargar); + existeArticulo[0].cantidad = total; + } else { + //Agrego el articulo con la cantidad + punto.articulosAgregados.push({ + id: articulo.idArticulo, + descripcion: articulo.descripcion, + cantidad: punto.cantidadACargar, + index: $scope.articuloSeleccionado + }); + } + punto.cantidadACargar = 0; } - punto.cantidadACargar = 0; } - } - }; + }; - $scope.quitarArticulo = function(articulo, idx, punto) { - var articuloAEliminar = $scope.articulos.filter(function(art) { - return art.id === articulo.id; - }); - var restante = parseInt(articuloAEliminar[0].restante); - restante += parseInt(articulo.cantidad); - articuloAEliminar[0].restante = restante; + $scope.quitarArticulo = function(articulo, idx, punto) { + var articuloAEliminar = $scope.articulos.filter(function(art) { + return art.id === articulo.id; + }); + var restante = parseInt(articuloAEliminar[0].restante); + restante += parseInt(articulo.cantidad); + articuloAEliminar[0].restante = restante; - punto.cargado -= parseInt(punto.articulosAgregados[idx].cantidad); - punto.articulosAgregados.splice(idx, 1); - }; + punto.cargado -= parseInt(punto.articulosAgregados[idx].cantidad); + punto.articulosAgregados.splice(idx, 1); + }; - function actualizarTabla() { - focaModalPuntoDescargaService - .getPuntosDescargaByClienDom(filters.idDomicilio, filters.idCliente) - .then(function(res) { - $scope.puntosDescarga = res.data; + function actualizarTabla() { + focaModalPuntoDescargaService + .getPuntosDescargaByClienDom(filters.idDomicilio, filters.idCliente) + .then(function(res) { + $scope.puntosDescarga = res.data; + }); + } + function verCargaArticulos() { + $scope.puntosACargar = []; + $scope.cargaArticulos = true; + $scope.puntosSeleccionados.forEach(function(idx) { + $scope.puntosACargar.push($scope.puntosDescarga[idx]); }); - } - function verCargaArticulos() { - $scope.puntosACargar = []; - $scope.cargaArticulos = true; - $scope.puntosSeleccionados.forEach(function(idx) { - $scope.puntosACargar.push($scope.puntosDescarga[idx]); - }); - $scope.puntosACargar.map(function(punto) { - punto.articulosAgregados = []; - punto.cantidadACargar = 0; - punto.cargado = 0; - }); - } - function cargarArticulos() { - $uibModalInstance.close($scope.puntosACargar); - } - function cargarPuntos(puntosDescarga) { - //Si existen puntos ya cargados - if(puntosDescarga) { - if(!puntosDescarga[0].cargado) { - agregarTotalCargado(puntosDescarga); + $scope.puntosACargar.map(function(punto) { + punto.articulosAgregados = []; + punto.cantidadACargar = 0; + punto.cargado = 0; + }); + } + function cargarArticulos() { + $uibModalInstance.close($scope.puntosACargar); + } + function cargarPuntos(puntosDescarga) { + //Si existen puntos ya cargados + if (puntosDescarga) { + if (!puntosDescarga[0].cargado) { + agregarTotalCargado(puntosDescarga); + } + $scope.puntosACargar = puntosDescarga; + $scope.cargaArticulos = true; + //Recorro los puntos + puntosDescarga.forEach(function(punto) { + //Recorro los articulos cargados en cada punto + punto.articulosAgregados.forEach(function(articulo) { + var articuloARestar = $scope.articulos.filter(function(art) { + return art.idArticulo === articulo.id; + }); + articuloARestar[0].restante -= articulo.cantidad; + }); + }); } - $scope.puntosACargar = puntosDescarga; - $scope.cargaArticulos = true; - //Recorro los puntos + } + function agregarTotalCargado(puntosDescarga) { + puntosDescarga.map(function(punto) { + punto.cantidadACargar = 0; + punto.cargado = 0; + }); + //Agrego cantidad de combustible cargada en los puntos de descarga puntosDescarga.forEach(function(punto) { - //Recorro los articulos cargados en cada punto punto.articulosAgregados.forEach(function(articulo) { - var articuloARestar = $scope.articulos.filter(function(art) { - return art.idArticulo === articulo.id; - }); - articuloARestar[0].restante -= articulo.cantidad; + punto.cargado += articulo.cantidad; }); }); } - } - function agregarTotalCargado(puntosDescarga) { - puntosDescarga.map(function(punto) { - punto.cantidadACargar = 0; - punto.cargado = 0; - }); - //Agrego cantidad de combustible cargada en los puntos de descarga - puntosDescarga.forEach(function(punto) { - punto.articulosAgregados.forEach(function(articulo) { - punto.cargado += articulo.cantidad; + function enviarPuntos() { + var result = []; + $scope.puntosSeleccionados.forEach(function(idx) { + result.push($scope.puntosDescarga[idx]); }); - }); - } - function enviarPuntos() { - var result = []; - $scope.puntosSeleccionados.forEach(function(idx) { - result.push($scope.puntosDescarga[idx]); - }); - $uibModalInstance.close(result); - } - }] - ); + $uibModalInstance.close(result); + } + }] + );