From 7e60d23354479c86ccbb15f5927445502640d197 Mon Sep 17 00:00:00 2001 From: Luigi Date: Mon, 1 Jul 2019 17:48:44 -0300 Subject: [PATCH] Cambio en cabecera y en precio y condiciones --- src/js/controller.js | 108 ++++++++++++++++++++++++++++----------------------- src/js/service.js | 3 ++ 2 files changed, 62 insertions(+), 49 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 1888e3f..39bf42c 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -25,7 +25,7 @@ angular.module('focaCrearRemito').controller('remitoController', maxDate: new Date(), minDate: new Date(2010, 0, 1) }; - + $scope.cabeceras = []; crearRemitoService.getParametros().then(function (res) { var parametros = JSON.parse(res.data[0].jsonText); if ($localStorage.remito) { @@ -65,7 +65,6 @@ angular.module('focaCrearRemito').controller('remitoController', articulosRemito: [], remitoPuntoDescarga: [] }; - $scope.notaPedido = { id: 0 }; @@ -131,7 +130,7 @@ angular.module('focaCrearRemito').controller('remitoController', notaPedido.notaPedidoPuntoDescarga.forEach(function (notaPedido) { puntosDescarga.push(notaPedido.puntoDescarga); }); - var cabeceras = [ + $scope.cabeceras = [ { label: 'Moneda:', valor: notaPedido.cotizacion.moneda.DETALLE @@ -161,18 +160,14 @@ angular.module('focaCrearRemito').controller('remitoController', notaPedido.vendedor.NUM, 3 ) + ' - ' + notaPedido.vendedor.NOM }, + { label: 'Proveedor:', valor: $filter('rellenarDigitos') (notaPedido.proveedor.COD, 5) + ' - ' + notaPedido.proveedor.NOM }, - { - label: 'Precios y condiciones:', - valor: valorPrecioCondicion() + ' ' + - remitoBusinessService - .plazoToString(notaPedido.notaPedidoPlazo) - }, + { label: 'Flete:', valor: notaPedido.fob === 1 ? 'FOB' : ( @@ -184,7 +179,7 @@ angular.module('focaCrearRemito').controller('remitoController', getCabeceraPuntoDescarga(puntosDescarga)) } ]; - + valorPrecioCondicion(); // Seteo checked en cabeceras $filter('filter')($scope.botonera, { label: 'Cliente' })[0].checked = true; @@ -205,10 +200,17 @@ angular.module('focaCrearRemito').controller('remitoController', } function valorPrecioCondicion() { - if (notaPedido.idPrecioCondicion > 0) { - return notaPedido.precioCondicion.nombre; - } else { - return 'Ingreso Manual'; + if (parseInt(notaPedido.idListaPrecio) > 0) { + crearRemitoService.getListaPrecioById(parseInt(notaPedido.idListaPrecio)) + .then(function (res) { + $scope.cabeceras.push({ + label: 'Precios y Condiciones:', + valor: parseInt(res.data[0].ID) + ' - ' + res.data[0].DES + ' ' + + remitoBusinessService + .plazoToString(notaPedido.notaPedidoPlazo) + }); + addArrayCabecera($scope.cabeceras); + }); } } @@ -222,9 +224,9 @@ angular.module('focaCrearRemito').controller('remitoController', label: 'Kilometros:', valor: notaPedido.kilometros }; - cabeceras.push(cabeceraKilometros); + $scope.cabeceras.push(cabeceraKilometros); } - cabeceras.push(cabeceraBomba); + $scope.cabeceras.push(cabeceraBomba); } $scope.remito = angular.copy(notaPedido); @@ -248,7 +250,7 @@ angular.module('focaCrearRemito').controller('remitoController', } enableObservaciones(notaPedido.observaciones ? true : false); - addArrayCabecera(cabeceras); + addArrayCabecera($scope.cabeceras); }, function () { // funcion ejecutada cuando se cancela el modal @@ -425,7 +427,7 @@ angular.module('focaCrearRemito').controller('remitoController', if ($scope.notaPedido.id !== 0) { $scope.idLista = parseInt($scope.notaPedido.idListaPrecio) } - if ($scope.idLista === undefined) { + if ($scope.remito.idListaPrecio === undefined) { focaModalService.alert( 'Primero seleccione una lista de precio y condicion'); return; @@ -437,7 +439,7 @@ angular.module('focaCrearRemito').controller('remitoController', controller: 'modalBusquedaProductosCtrl', resolve: { parametroProducto: { - idLista: $scope.idLista, + idLista: $scope.idLista || parseInt($scope.remito.idListaPrecio), cotizacion: $scope.remito.cotizacion.VENDEDOR, simbolo: $scope.remito.cotizacion.moneda.SIMBOLO } @@ -718,6 +720,7 @@ angular.module('focaCrearRemito').controller('remitoController', } function abrirModal() { + var parametros = { idCliente: $scope.remito.cliente.COD, idListaPrecio : $scope.remito.cliente.MOD}; var modalInstance = $uibModal.open( { ariaLabelledBy: 'Busqueda de Precio Condición', @@ -725,8 +728,7 @@ angular.module('focaCrearRemito').controller('remitoController', controller: 'focaModalPrecioCondicionController', size: 'lg', resolve: { - idListaPrecio: function () { return $scope.remito.cliente.MOD || null; }, - idCliente: function () { return $scope.remito.cliente.COD; } + parametros: function () { return parametros; } } } ); @@ -739,6 +741,7 @@ angular.module('focaCrearRemito').controller('remitoController', $scope.remito.remitoPlazo = precioCondicion.plazoPago; $scope.idLista = parseInt(precioCondicion.listaPrecio.ID) ? parseInt(precioCondicion.listaPrecio.ID) : -1; + $scope.remito.cliente.MOD = precioCondicion.listaPrecio.ID; for (var i = 0; i < precioCondicion.plazoPago.length; i++) { plazosConcat += precioCondicion.plazoPago[i].dias + ', '; } @@ -753,17 +756,17 @@ angular.module('focaCrearRemito').controller('remitoController', for (var j = 0; j < precioCondicion.length; j++) { plazosConcat += precioCondicion[j].dias + ' '; } - cabecera = 'Ingreso manual ' + plazosConcat.trim(); + cabecera = plazosConcat.trim(); } $scope.remito.articulosRemito = []; - $scope.$broadcast('addCabecera', { - label: 'Precios y condiciones:', - valor: cabecera - }); + $filter('filter')($scope.cabeceras, + { label: 'Precios y Condiciones' })[0].valor = cabecera; + $scope.remito.precioCondicion = precioCondicion; $filter('filter')($scope.botonera, { label: 'Precios y Condiciones' })[0].checked = true; + addArrayCabecera($scope.cabeceras); }, function () { } @@ -1098,19 +1101,19 @@ angular.module('focaCrearRemito').controller('remitoController', $scope.$broadcast('removeCabecera', 'Cotizacion:'); $scope.$broadcast('removeCabecera', 'Vendedor:'); - var cabeceras = []; + $scope.cabeceras = []; if (remito.cotizacion && remito.cotizacion.moneda.CODIGO_AFIP !== 'PES') { - cabeceras.push({ + $scope.cabeceras.push({ label: 'Moneda:', valor: remito.cotizacion.moneda.DETALLE }); - cabeceras.push({ + $scope.cabeceras.push({ label: 'Fecha cotizacion:', valor: $filter('date')(remito.cotizacion.FECHA, 'dd/MM/yyyy') }); - cabeceras.push({ + $scope.cabeceras.push({ label: 'Cotizacion:', valor: $filter('number')(remito.cotizacion.VENDEDOR, '2') @@ -1122,12 +1125,12 @@ angular.module('focaCrearRemito').controller('remitoController', } if (remito.cliente && remito.cliente.COD) { - cabeceras.push({ + $scope.cabeceras.push({ label: 'Cliente:', valor: $filter('rellenarDigitos')(remito.cliente.COD, 3) + ' - ' + remito.cliente.NOM }); - cabeceras.push({ + $scope.cabeceras.push({ label: 'Domicilio:', valor: remito.domicilioStamp }); @@ -1135,14 +1138,14 @@ angular.module('focaCrearRemito').controller('remitoController', $filter('filter')($scope.botonera, { label: 'Cliente' })[0].checked = true; } if (remito.vendedor && remito.vendedor.NUM) { - cabeceras.push({ + $scope.cabeceras.push({ label: 'Vendedor:', valor: $filter('rellenarDigitos')(remito.vendedor.NUM, 3) + ' - ' + remito.vendedor.NOM }); } if (remito.proveedor && remito.proveedor.COD) { - cabeceras.push({ + $scope.cabeceras.push({ label: 'Proveedor:', valor: $filter('rellenarDigitos')(remito.proveedor.COD, 5) + ' - ' + remito.proveedor.NOM @@ -1151,29 +1154,36 @@ angular.module('focaCrearRemito').controller('remitoController', $filter('filter')($scope.botonera, { label: 'Proveedor' })[0].checked = true; } if (remito.flete !== undefined && remito.fob !== undefined) { - cabeceras.push({ + $scope.cabeceras.push({ label: 'Flete:', valor: remito.fob ? 'FOB' : ( remito.flete ? 'Si' : 'No') }); } if (remito.remitoPlazo) { - cabeceras.push({ - label: 'Precio condicion:', - valor: valorPrecioCondicion() + ' ' + - remitoBusinessService.plazoToString(remito.remitoPlazo) - }); - + valorPrecioCondicion(); $filter('filter')($scope.botonera, { label: 'Precios y condiciones' })[0].checked = true; } + function valorPrecioCondicion() { - if (remito.idPrecioCondicion > 0) { - return remito.precioCondicion.nombre; - } else { - return 'Ingreso Manual'; + if (parseInt(remito.idListaPrecio)) { + crearRemitoService.getListaPrecioById(parseInt(remito.idListaPrecio)) + .then(function (res) { + $timeout(function () { + $scope.cabeceras.push({ + label: 'Precios y Condiciones:', + valor: parseInt(res.data[0].ID) + ' - ' + res.data[0].DES + ' ' + + remitoBusinessService + .plazoToString(remito.remitoPlazo) + }); + addArrayCabecera($scope.cabeceras); + },true); + + }); } } + if (remito.flete === 1) { var cabeceraBomba = { label: 'Bomba', @@ -1184,9 +1194,9 @@ angular.module('focaCrearRemito').controller('remitoController', label: 'Kilometros', valor: remito.kilometros }; - cabeceras.push(cabeceraKilometros); + $scope.cabeceras.push(cabeceraKilometros); } - cabeceras.push(cabeceraBomba); + $scope.cabeceras.push(cabeceraBomba); } if (remito.idPrecioCondicion > 0) { @@ -1204,7 +1214,7 @@ angular.module('focaCrearRemito').controller('remitoController', puntoDescarga.push(remitoPuntoDescarga.puntoDescarga); }); - cabeceras.push({ + $scope.cabeceras.push({ label: 'Puntos de descarga: ', valor: $filter('rellenarDigitos')(getCabeceraPuntoDescarga(puntoDescarga)) }); @@ -1212,7 +1222,7 @@ angular.module('focaCrearRemito').controller('remitoController', $scope.remitoIsDirty = false; - addArrayCabecera(cabeceras); + addArrayCabecera($scope.cabeceras); } function getLSRemito() { diff --git a/src/js/service.js b/src/js/service.js index 2df6a9c..6c18c60 100644 --- a/src/js/service.js +++ b/src/js/service.js @@ -48,6 +48,9 @@ angular.module('focaCrearRemito') getPrecioCondicionById: function(id) { return $http.get(route + '/precio-condicion/' + id); }, + getListaPrecioById: function (id) { + return $http.get(route + '/lista-precio/' + id); + }, getPlazoPagoByPrecioCondicion: function(id) { return $http.get(route + '/plazo-pago/precio-condicion/'+ id); }, -- 1.9.1