diff --git a/src/js/controller.js b/src/js/controller.js index 0ba0491..1c275ba 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -3,15 +3,16 @@ angular.module('focaCrearNotaPedido') [ '$scope', '$uibModal', + '$location', 'crearNotaPedidoService', - function ($scope, $uibModal, crearNotaPedidoService) { + function($scope, $uibModal, $location, crearNotaPedidoService) { $scope.notaPedido = {}; $scope.articulosTabla = []; var idLista; var notaPedidoTemp = crearNotaPedidoService.getNotaPedido(); $scope.domiciliosCliente = crearNotaPedidoService.getDomicilios(1); crearNotaPedidoService.getPrecioCondicion().then( - function (res) { + function(res) { $scope.precioCondiciones = res.data; } ); @@ -20,8 +21,17 @@ angular.module('focaCrearNotaPedido') $scope.notaPedido = notaPedidoTemp; $scope.notaPedido.flete = ($scope.notaPedido.flete).toString(); $scope.notaPedido.bomba = ($scope.notaPedido.bomba).toString(); - idLista= $scope.notaPedido.precioCondicion; - + idLista = $scope.notaPedido.precioCondicion; + crearNotaPedidoService.getArticulosByIdNotaPedido($scope.notaPedido.id).then( + function(res) { + $scope.articulosTabla = res.data; + } + ); + crearNotaPedidoService.getDomiciliosByIdNotaPedido($scope.notaPedido.id).then( + function(res) { + $scope.notaPedido.domicilio = res.data; + } + ) } else { $scope.notaPedido.fechaCarga = new Date(); $scope.notaPedido.domicilio = [{ id: 0 }] @@ -29,17 +39,17 @@ angular.module('focaCrearNotaPedido') $scope.notaPedido.flete = '1'; idLista = undefined; } - $scope.addNewDom = function () { + $scope.addNewDom = function() { $scope.notaPedido.domicilio.push({ 'id': 0 }); } - $scope.removeNewChoice = function (choice) { + $scope.removeNewChoice = function(choice) { if ($scope.notaPedido.domicilio.length > 1) { $scope.notaPedido.domicilio.splice($scope.notaPedido.domicilio.findIndex(c => c.$$hashKey == choice.$$hashKey), 1) } } - $scope.crearNotaPedido = function () { + $scope.crearNotaPedido = function() { var notaPedido = { - idNotaPedido: 0, + id: 0, precioCondicion: $scope.notaPedido.precioCondicion, fechaCarga: $scope.notaPedido.fechaCarga, vendedor: $scope.notaPedido.vendedor, @@ -52,20 +62,29 @@ angular.module('focaCrearNotaPedido') jurisdiccionIIBB: $scope.notaPedido.jurisdiccionIIBB, costoFinanciacion: $scope.notaPedido.costoFinanciacion, flete: $scope.notaPedido.flete, - costoUnitarioKmFlete: $scope.notaPedido.costoUnitarioKmFlete, - articulosTabla: $scope.articulosTabla + costoUnitarioKmFlete: $scope.notaPedido.costoUnitarioKmFlete } crearNotaPedidoService.crearNotaPedido(notaPedido).then( - function (res) { - alert('Nota pedido creada') + function(res) { + alert('Nota pedido creada'); + $location.path('/venta-nota-pedido'); } ) + var articulosNotaPedido = $scope.articulosTabla; + for(var i = 0; i< articulosNotaPedido.length;i++) { + crearNotaPedidoService.crearArticulosParaNotaPedido(articulosNotaPedido[i]).then( + function(res) { + return; + } + ) + } + } - $scope.siguienteTab = function () { + $scope.siguienteTab = function() { $scope.active = 1; } - $scope.seleccionarArticulo = function () { - if(idLista==undefined){ + $scope.seleccionarArticulo = function() { + if (idLista == undefined) { alert('primero seleccione una lista de precio y condicion'); return; } @@ -74,14 +93,15 @@ angular.module('focaCrearNotaPedido') ariaLabelledBy: 'Busqueda de Productos', templateUrl: 'modal-busqueda-productos.html', controller: 'modalBusquedaProductosCtrl', - resolve: {idLista: function() {return idLista}}, + resolve: { idLista: function() { return idLista } }, size: 'lg' } ) modalInstance.result.then( - function (producto) { + function(producto) { var newArt = { + id: 0, codigo: producto.FiltroSectorCodigo, item: $scope.articulosTabla.length + 1, nombre: producto.descripcion, @@ -90,12 +110,12 @@ angular.module('focaCrearNotaPedido') cantidad: 1 } $scope.articulosTabla.unshift(newArt); - }, function () { + }, function() { // funcion ejecutada cuando se cancela el modal } ); } - $scope.seleccionarVendedor = function () { + $scope.seleccionarVendedor = function() { var modalInstance = $uibModal.open( { ariaLabelledBy: 'Busqueda de Vendedores', @@ -105,9 +125,9 @@ angular.module('focaCrearNotaPedido') } ) modalInstance.result.then( - function (vendedor) { + function(vendedor) { $scope.notaPedido.vendedor = vendedor.NomVen; - }, function () { + }, function() { } ); @@ -122,9 +142,9 @@ angular.module('focaCrearNotaPedido') } ) modalInstance.result.then( - function (petrolera) { + function(petrolera) { $scope.notaPedido.petrolera = petrolera.NOM; - }, function () { + }, function() { } ); @@ -139,30 +159,31 @@ angular.module('focaCrearNotaPedido') } ) modalInstance.result.then( - function (cliente) { + function(cliente) { $scope.notaPedido.cliente = cliente.nom; - }, function () { + }, function() { } ); } - $scope.obtenerDomicilios = function (id) { + $scope.obtenerDomicilios = function(id) { crearNotaPedidoService.getDomicilios(id).then( - function (res) { + function(res) { $scope.notaPedido.domicilio = res.data; } ) } $scope.getSubTotal = function(item) { - var subTotal=0; - var array = $scope.articulosTabla.filter(a=>a.item<=item); - for(var i = 0; i< array.length; i++) { - subTotal+=array[i].precio*array[i].cantidad + var subTotal = 0; + var array = $scope.articulosTabla.filter(a => a.item <= item); + for (var i = 0; i < array.length; i++) { + subTotal += array[i].precio * array[i].cantidad } return subTotal.toFixed(2); } $scope.cargarArticulos = function() { - idLista=$scope.notaPedido.precioCondicion; + idLista = $scope.notaPedido.precioCondicion; + $scope.articulosTabla = []; } } ] @@ -171,15 +192,15 @@ angular.module('focaCrearNotaPedido') '$scope', 'crearNotaPedidoService', '$location', - function ($scope, crearNotaPedidoService, $location) { - crearNotaPedidoService.obtenerNotaPedido().then(function (datos) { + function($scope, crearNotaPedidoService, $location) { + crearNotaPedidoService.obtenerNotaPedido().then(function(datos) { $scope.notaPedidos = datos.data; }); - $scope.editar = function (notaPedido) { + $scope.editar = function(notaPedido) { crearNotaPedidoService.setNotaPedido(notaPedido); $location.path('/venta-nota-pedido/abm/'); } - $scope.crearPedido = function () { + $scope.crearPedido = function() { $location.path('/venta-nota-pedido/abm/'); } } diff --git a/src/js/service.js b/src/js/service.js index 990db2d..f801ef3 100644 --- a/src/js/service.js +++ b/src/js/service.js @@ -1,10 +1,10 @@ angular.module('focaCrearNotaPedido') - .service('crearNotaPedidoService', ['$http',function($http) { - var route = 'http://192.168.0.23:9900'; + .service('crearNotaPedidoService', ['$http', 'API_ENDPOINT',function($http, API_ENDPOINT) { + var route = API_ENDPOINT.URL; var notaPedido; return { - crearNotaPedido: function(obj) { - return $http.post(route + '/nota-pedidos/crear', {obj}); + crearNotaPedido: function(notaPedido) { + return $http.post(route + '/nota-pedido', {notaPedido: notaPedido}); }, obtenerNotaPedido: function() { return $http.get(route +'/nota-pedido'); @@ -15,6 +15,15 @@ angular.module('focaCrearNotaPedido') getNotaPedido: function() { return this.notaPedido; }, + getArticulosByIdNotaPedido: function(id) { + return $http.get(route+'/articulos/nota-pedido/'+id); + }, + crearArticulosParaNotaPedido: function(articuloNotaPedido) { + return $http.post(route + '/articulos/nota-pedido', {articuloNotaPedido}); + }, + getDomiciliosByIdNotaPedido: function(id) { + return $http.get(route +'/nota-pedido/'+id+'/domicilios'); + }, //EN DESARROLLO getDomicilios: function(id) { // return $http.get(route + '/'+id)