From 49f819a76e26c2bdc4d1689bca160925a45e2ca8 Mon Sep 17 00:00:00 2001 From: Luigi Date: Mon, 15 Apr 2019 12:09:53 -0300 Subject: [PATCH] Validar nota remitada --- src/js/controller.js | 139 ++++++++++++++++++++++++--------------------- src/views/nota-pedido.html | 11 ++-- 2 files changed, 80 insertions(+), 70 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 7a970d8..fa6a1a6 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -29,6 +29,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', $scope.isNumber = angular.isNumber; $scope.datepickerAbierto = false; $scope.show = false; + $scope.validar = true; $scope.cargando = true; $scope.botonera = crearNotaPedidoService.getBotonera(); $scope.puntoVenta = $filter('rellenarDigitos')(0, 4); @@ -153,77 +154,78 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', } else if ($scope.notaPedido.articulosNotaPedido.length === 0) { focaModalService.alert('Debe cargar al menos un articulo'); return; - } - focaBotoneraLateralService.startGuardar(); - $scope.saveLoading = true; - var notaPedido = { - id: $scope.notaPedido.id, - fechaCarga: new Date($scope.notaPedido.fechaCarga) - .toISOString().slice(0, 19).replace('T', ' '), - idVendedor: $scope.notaPedido.vendedor.id, - idCliente: $scope.notaPedido.cliente.COD, - nombreCliente: $scope.notaPedido.cliente.NOM, - cuitCliente: $scope.notaPedido.cliente.CUIT, - idProveedor: $scope.notaPedido.proveedor.COD, - idDomicilio: $scope.notaPedido.domicilio.id, - idCotizacion: $scope.notaPedido.cotizacion.ID, - idPrecioCondicion: $scope.notaPedido.idPrecioCondicion, - cotizacion: $scope.notaPedido.cotizacion.VENDEDOR, - flete: $scope.notaPedido.flete, - fob: $scope.notaPedido.fob, - bomba: $scope.notaPedido.bomba, - kilometros: $scope.notaPedido.kilometros, - domicilioStamp: $scope.notaPedido.domicilioStamp, - observaciones: $scope.notaPedido.observaciones, - estado: 0, - total: $scope.getTotal() - }; - crearNotaPedidoService.crearNotaPedido(notaPedido).then( - function(data) { - // Al guardar los datos de la nota de pedido logueamos la - // actividad para su seguimiento. - //TODO: GUARDAR POSISIONAMIENTO AL EDITAR? - focaSeguimientoService.guardarPosicion( - 'Nota de pedido', - data.data.id, - '' - ); - notaPedidoBusinessService.addArticulos( - $scope.notaPedido.articulosNotaPedido, - data.data.id, $scope.notaPedido.cotizacion.VENDEDOR); - - if ($scope.notaPedido.notaPedidoPuntoDescarga) { - notaPedidoBusinessService.addPuntosDescarga(data.data.id, - $scope.notaPedido.notaPedidoPuntoDescarga); - } + } else if (validarNotaRemitada()) { + focaBotoneraLateralService.startGuardar(); + $scope.saveLoading = true; + var notaPedido = { + id: $scope.notaPedido.id, + fechaCarga: new Date($scope.notaPedido.fechaCarga) + .toISOString().slice(0, 19).replace('T', ' '), + idVendedor: $scope.notaPedido.vendedor.id, + idCliente: $scope.notaPedido.cliente.COD, + nombreCliente: $scope.notaPedido.cliente.NOM, + cuitCliente: $scope.notaPedido.cliente.CUIT, + idProveedor: $scope.notaPedido.proveedor.COD, + idDomicilio: $scope.notaPedido.domicilio.id, + idCotizacion: $scope.notaPedido.cotizacion.ID, + idPrecioCondicion: $scope.notaPedido.idPrecioCondicion, + cotizacion: $scope.notaPedido.cotizacion.VENDEDOR, + flete: $scope.notaPedido.flete, + fob: $scope.notaPedido.fob, + bomba: $scope.notaPedido.bomba, + kilometros: $scope.notaPedido.kilometros, + domicilioStamp: $scope.notaPedido.domicilioStamp, + observaciones: $scope.notaPedido.observaciones, + estado: 0, + total: $scope.getTotal() + }; + crearNotaPedidoService.crearNotaPedido(notaPedido).then( + function(data) { + // Al guardar los datos de la nota de pedido logueamos la + // actividad para su seguimiento. + //TODO: GUARDAR POSISIONAMIENTO AL EDITAR? + focaSeguimientoService.guardarPosicion( + 'Nota de pedido', + data.data.id, + '' + ); + notaPedidoBusinessService.addArticulos( + $scope.notaPedido.articulosNotaPedido, + data.data.id, $scope.notaPedido.cotizacion.VENDEDOR); + + if ($scope.notaPedido.notaPedidoPuntoDescarga) { + notaPedidoBusinessService.addPuntosDescarga(data.data.id, + $scope.notaPedido.notaPedidoPuntoDescarga); + } - var plazos = $scope.notaPedido.notaPedidoPlazo; - var plazosACrear = []; - plazos.forEach(function(plazo) { - plazosACrear.push({ - idNotaPedido: data.data.id, - dias: plazo.dias + var plazos = $scope.notaPedido.notaPedidoPlazo; + var plazosACrear = []; + plazos.forEach(function(plazo) { + plazosACrear.push({ + idNotaPedido: data.data.id, + dias: plazo.dias + }); }); - }); - if (plazosACrear.length) { - crearNotaPedidoService.crearPlazosParaNotaPedido(plazosACrear); - } + if (plazosACrear.length) { + crearNotaPedidoService.crearPlazosParaNotaPedido(plazosACrear); + } - notaPedidoBusinessService.addEstado(data.data.id, - $scope.notaPedido.vendedor.id); + notaPedidoBusinessService.addEstado(data.data.id, + $scope.notaPedido.vendedor.id); - focaBotoneraLateralService.endGuardar(true); - $scope.saveLoading = false; + focaBotoneraLateralService.endGuardar(true); + $scope.saveLoading = false; - init(); - }, function(error) { - focaModalService.alert('Hubo un error al crear la nota de pedido'); - focaBotoneraLateralService.endGuardar(); - $scope.saveLoading = false; - console.info(error); - } - ); + init(); + }, function(error) { + focaModalService.alert('Hubo un error al crear la nota de pedido'); + focaBotoneraLateralService.endGuardar(); + $scope.saveLoading = false; + console.info(error); + } + ); + } }; $scope.seleccionarNotaPedido = function() { @@ -816,6 +818,13 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', function setearNotaPedido(notaPedido) { //aƱado cabeceras + + if (notaPedido.idRemito == null) { + $scope.validar = true; + } else { + $scope.validar = false; + } + $scope.notaPedido = notaPedido; if (!$scope.notaPedido.domicilio) { $scope.notaPedido.domicilio = { diff --git a/src/views/nota-pedido.html b/src/views/nota-pedido.html index 9d3f3bc..f28e276 100644 --- a/src/views/nota-pedido.html +++ b/src/views/nota-pedido.html @@ -68,7 +68,7 @@ > + ng-hide="articulo.editPrecio && validar" + ng-bind="articulo.precio | number: 4" + >