diff --git a/src/js/businessService.js b/src/js/businessService.js index 555f347..2931228 100644 --- a/src/js/businessService.js +++ b/src/js/businessService.js @@ -7,7 +7,8 @@ angular.module('focaCrearRemito') for(var i = 0; i < articulosRemito.length; i++) { delete articulosRemito[i].editCantidad; delete articulosRemito[i].editPrecio; - articulosRemito[i].idRemito = idRemito; + articulosRemito[i].idRemito = articulosRemito[i].idRemito !== -1 ? + idRemito : articulosRemito[i].idRemito; articulosRemito[i].precio = articulosRemito[i].precio * cotizacion; delete articulosRemito[i].idNotaPedido; crearRemitoService.crearArticulosParaRemito(articulosRemito[i]); diff --git a/src/js/controller.js b/src/js/controller.js index 877448d..af0de26 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -159,7 +159,6 @@ angular.module('focaCrearRemito') .controller('remitoController', } ]; - function valorPrecioCondicion() { if (notaPedido.idPrecioCondicion > 0) { return notaPedido.precioCondicion.nombre; @@ -196,7 +195,7 @@ angular.module('focaCrearRemito') .controller('remitoController', if (notaPedido.idPrecioCondicion > 0) { $scope.idLista = notaPedido.precioCondicion.idListaPrecio; - }else { + } else { $scope.idLista = -1; } @@ -239,19 +238,16 @@ angular.module('focaCrearRemito') .controller('remitoController', focaModalService.alert('Ingrese Proveedor'); return; } else if (!$scope.remito.cotizacion.moneda.id && - !$scope.remito.cotizacion.moneda.ID) - { + !$scope.remito.cotizacion.moneda.ID){ focaModalService.alert('Ingrese Moneda'); return; } else if (!$scope.remito.cotizacion.ID) { focaModalService.alert('Ingrese Cotización'); return; - } else if ( - $scope.remito.flete === undefined || $scope.remito.flete === null) - { + } else if ($scope.remito.flete === undefined || $scope.remito.flete === null){ focaModalService.alert('Ingrese Flete'); return; - } else if ($scope.remito.articulosRemito.length === 0) { + } else if ($scope.articulosFiltro().length === 0) { focaModalService.alert('Debe cargar al menos un articulo'); return; } @@ -311,15 +307,14 @@ angular.module('focaCrearRemito') .controller('remitoController', focaBotoneraLateralService.endGuardar(true); $scope.saveLoading = false; + remitoBusinessService.addArticulos($scope.remito.articulosRemito, + $scope.remito.id, $scope.remito.cotizacion.VENDEDOR); + // TODO: updatear plazos if ($scope.remito.id === 0) { $scope.remito.id = data.data.id; $scope.remito.numeroRemito = data.data.numero; - - remitoBusinessService.addArticulos($scope.remito.articulosRemito, - $scope.remito.id, $scope.remito.cotizacion.VENDEDOR); - var plazos = $scope.remito.remitoPlazo; for(var j = 0; j < plazos.length; j++) { @@ -376,6 +371,7 @@ angular.module('focaCrearRemito') .controller('remitoController', var newArt = { id: 0, + idRemito: 0, codigo: producto.codigo, sector: producto.sector, sectorCodigo: producto.sector + '-' + producto.codigo, @@ -408,7 +404,7 @@ angular.module('focaCrearRemito') .controller('remitoController', if (!$scope.remito.cliente.COD || !$scope.remito.domicilio.id) { focaModalService.alert('Primero seleccione un cliente y un domicilio'); return; - }else { + } else { var modalInstance = $uibModal.open( { ariaLabelledBy: 'Búsqueda de Puntos de descarga', @@ -549,7 +545,6 @@ angular.module('focaCrearRemito') .controller('remitoController', function(proveedor) { $scope.remito.proveedor = proveedor; $scope.remito.idProveedor = proveedor.COD; - $scope.$broadcast('addCabecera',{ label: 'Proveedor:', valor: $filter('rellenarDigitos')(proveedor.COD, 5) + ' - ' + @@ -585,12 +580,10 @@ angular.module('focaCrearRemito') .controller('remitoController', MOD: cliente.mod }; - var domicilioStamp = domicilio.Calle + ' ' + domicilio.Numero + ', ' + domicilio.Localidad + ', ' + domicilio.Provincia; $scope.remito.domicilioStamp = domicilioStamp; - $scope.$broadcast('addCabecera',{ label: 'Cliente:', valor: $filter('rellenarDigitos')(cliente.cod, 3) + ' - ' + cliente.nom @@ -603,7 +596,7 @@ angular.module('focaCrearRemito') .controller('remitoController', if (domicilio.verPuntos) { delete $scope.remito.domicilio.verPuntos; $scope.seleccionarPuntosDeDescarga(); - }else { + } else { crearRemitoService .getPuntosDescargaByClienDom(domicilio.id, cliente.cod) .then(function(res) { @@ -619,7 +612,7 @@ angular.module('focaCrearRemito') .controller('remitoController', $scope.getTotal = function() { var total = 0; - var arrayTempArticulos = $scope.remito.articulosRemito; + var arrayTempArticulos = $scope.articulosFiltro(); for(var i = 0; i < arrayTempArticulos.length; i++) { total += arrayTempArticulos[i].precio * arrayTempArticulos[i].cantidad; } @@ -664,10 +657,10 @@ angular.module('focaCrearRemito') .controller('remitoController', } cabecera = $filter('rellenarDigitos')(precioCondicion.id, 4) + ' - ' + precioCondicion.nombre + ' ' + plazosConcat.trim(); - }else { //Cuando se ingresan los plazos manualmente + } else { //Cuando se ingresan los plazos manualmente $scope.remito.idPrecioCondicion = 0; //-1, el modal productos busca todos los productos - $scope.idLista = -1; + $scope.idLista = -1; $scope.remito.remitoPlazo = precioCondicion; for(var j = 0; j < precioCondicion.length; j++) { plazosConcat += precioCondicion[j].dias + ' '; @@ -679,7 +672,6 @@ angular.module('focaCrearRemito') .controller('remitoController', label: 'Precios y condiciones:', valor: cabecera }); - $scope.remito.precioCondicion = precioCondicion; }, function() { @@ -814,7 +806,7 @@ angular.module('focaCrearRemito') .controller('remitoController', $scope.$broadcast('removeCabecera', 'Moneda:'); $scope.$broadcast('removeCabecera', 'Fecha cotizacion:'); $scope.$broadcast('removeCabecera', 'Cotizacion:'); - }else { + } else { $scope.$broadcast('addCabecera',{ label: 'Moneda:', valor: moneda.DETALLE @@ -848,8 +840,16 @@ angular.module('focaCrearRemito') .controller('remitoController', } }; - $scope.quitarArticulo = function(key) { - $scope.remito.articulosRemito.splice(key, 1); + $scope.quitarArticulo = function(articulo) { + articulo.idRemito = -1; + }; + + $scope.articulosFiltro = function() { + + var result = $scope.remito.articulosRemito.filter(function(articulo) { + return articulo.idRemito >= 0; + }); + return result; }; $scope.editarArticulo = function(key, articulo) { @@ -908,7 +908,6 @@ angular.module('focaCrearRemito') .controller('remitoController', while (relleno.length < longitud) { relleno = '0' + relleno; } - return relleno; } @@ -945,7 +944,6 @@ angular.module('focaCrearRemito') .controller('remitoController', var boton = $scope.botonera.filter(function(botonObs) { return botonObs.label === 'Observaciones'; }); - boton[0].disable = !val; } @@ -1084,7 +1082,7 @@ angular.module('focaCrearRemito') .controller('remitoController', .then(function(res) { if (res === false) { abrirModalMail(id); - focaModalService.alert('Descarga o envíe su remito ' + + focaModalService.alert('Descarga o envíe su remito ' + 'antes de cerrar esta ventana'); } }); diff --git a/src/views/remito.html b/src/views/remito.html index 9a68acf..b267887 100644 --- a/src/views/remito.html +++ b/src/views/remito.html @@ -11,7 +11,7 @@ behavior="scroll" direction="left" ng-bind="remito.observaciones" - > + >