diff --git a/gulpfile.js b/gulpfile.js index bb46a12..edcfbaa 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -53,7 +53,7 @@ gulp.task('uglify', ['templates'], function() { ); }); -gulp.task('clean', function(){ +gulp.task('clean', function() { return gulp.src(['tmp', 'dist'], {read: false}) .pipe(clean()); }); diff --git a/package.json b/package.json index adde02d..0a4700d 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "angular-route": "^1.7.5", "bootstrap": "^4.1.3", "foca-directivas": "git+https://debo.suite.repo/modulos-npm/foca-directivas.git", + "foca-modal-remito": "git+https://debo.suite.repo/modulos-npm/foca-modal-remito.git", "font-awesome": "^4.7.0", "gulp": "^3.9.1", "gulp-angular-templatecache": "^2.2.5", diff --git a/src/js/app.js b/src/js/app.js index 61557b1..88a6f61 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -1,7 +1,7 @@ angular.module('focaCrearHojaRuta', [ 'ngRoute', + 'focaModalRemito', 'ui.bootstrap'/*, - 'focaModalVendedores', 'focaBusquedaProductos', 'focaModalProveedor', 'focaBusquedaCliente', diff --git a/src/js/controller.js b/src/js/controller.js index 9c8ad89..c9ee362 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -26,29 +26,14 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', }; $scope.hojaRuta = { + fecha: new Date(), vendedor: {}, cliente: {}, - proveedor: {}, + transportista: {}, domicilio: {dom: ''}, moneda: {}, cotizacion: {} }; - var monedaPorDefecto; - //Trabajo con la cotización más reciente, por eso uso siempre la primera '[0]' - crearHojaRutaService.getCotizacionByIdMoneda(1).then(function(res) { - monedaPorDefecto = { - id: res.data[0].ID, - detalle: res.data[0].DETALLE, - simbolo: res.data[0].SIMBOLO, - cotizaciones: res.data[0].cotizaciones - }; - addCabecera('Moneda:', monedaPorDefecto.detalle); - addCabecera('Fecha cotizacion:', - new Date(monedaPorDefecto.cotizaciones[0].FECHA).toLocaleDateString()); - addCabecera('Cotizacion:', monedaPorDefecto.cotizaciones[0].COTIZACION); - $scope.hojaRuta.moneda = monedaPorDefecto; - $scope.hojaRuta.cotizacion = monedaPorDefecto.cotizaciones[0]; - }); $scope.cabecera = []; $scope.showCabecera = true; @@ -56,21 +41,16 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', $scope.now = new Date(); $scope.puntoVenta = '0000'; $scope.comprobante = '00000000'; - $scope.articulosTabla = []; + $scope.remitosTabla = []; $scope.idLista = undefined; + $ //La pantalla solo se usa para cargar pedidos //var hojaRutaTemp = crearHojaRutaService.getHojaRuta(); - crearHojaRutaService.getPrecioCondicion().then( - function(res) { - $scope.precioCondiciones = res.data; - } - ); - crearHojaRutaService.getNumeroHojaRuta().then( function(res) { - $scope.puntoVenta = rellenar(res.data.sucursal, 4); - $scope.comprobante = rellenar(res.data.numeroHojaRuta, 8); + $scope.puntoVenta = $scope.rellenar(res.data.sucursal, 4); + $scope.comprobante = $scope.rellenar(res.data.numeroHojaRuta, 8); }, function(err) { focaModalService.alert('La terminal no esta configurada correctamente'); @@ -87,7 +67,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', // crearHojaRutaService // .getArticulosByIdHojaRuta($scope.hojaRuta.id).then( // function(res) { - // $scope.articulosTabla = res.data; + // $scope.remitosTabla = res.data; // } // ); //TODO DOMICILIOS QUE SE CARGAN AL EDITAR NOTA DE PEDIDO @@ -124,8 +104,8 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', } else if(!$scope.hojaRuta.cliente.cod) { focaModalService.alert('Ingrese Cliente'); return; - } else if(!$scope.hojaRuta.proveedor.codigo) { - focaModalService.alert('Ingrese Proveedor'); + } else if(!$scope.hojaRuta.transportista.codigo) { + focaModalService.alert('Ingrese Transportista'); return; } else if(!$scope.hojaRuta.moneda.id) { focaModalService.alert('Ingrese Moneda'); @@ -144,7 +124,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', } else if(!$scope.hojaRuta.domicilio.id) { focaModalService.alert('Ingrese Domicilio'); return; - } else if($scope.articulosTabla.length === 0) { + } else if($scope.remitosTabla.length === 0) { focaModalService.alert('Debe cargar al menos un articulo'); return; } @@ -157,8 +137,8 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', idCliente: $scope.hojaRuta.cliente.cod, nombreCliente: $scope.hojaRuta.cliente.nom, cuitCliente: $scope.hojaRuta.cliente.cuit, - idProveedor: $scope.hojaRuta.proveedor.codigo, idDomicilio: $scope.hojaRuta.domicilio.id, + idProveedor: $scope.hojaRuta.transportista.codigo, idCotizacion: $scope.hojaRuta.cotizacion.ID, cotizacion: $scope.hojaRuta.cotizacion.COTIZACION, flete: $scope.hojaRuta.flete, @@ -170,7 +150,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', }; crearHojaRutaService.crearHojaRuta(hojaRuta).then( function(data) { - hojaRutaBusinessService.addArticulos($scope.articulosTabla, + hojaRutaBusinessService.addArticulos($scope.remitosTabla, data.data.id, $scope.hojaRuta.cotizacion.COTIZACION); focaSeguimientoService.guardarPosicion('crear nota pedido', ''); var plazos = $scope.plazosPagos; @@ -195,13 +175,13 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', addCabecera('Cotizacion:', $scope.hojaRuta.cotizacion.COTIZACION); $scope.hojaRuta.vendedor = {}; $scope.hojaRuta.cliente = {}; - $scope.hojaRuta.proveedor = {}; $scope.hojaRuta.domicilio = {}; + $scope.hojaRuta.transportista = {}; $scope.hojaRuta.flete = null; $scope.hojaRuta.fob = null; $scope.hojaRuta.bomba = null; $scope.hojaRuta.kilometros = null; - $scope.articulosTabla = []; + $scope.remitosTabla = []; }, function(error) { focaModalService.alert('Hubo un error al crear la nota de pedido'); @@ -240,7 +220,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', sector: producto.sector, sectorCodigo: producto.sector + '-' + producto.codigo, descripcion: producto.descripcion, - item: $scope.articulosTabla.length + 1, + item: $scope.remitosTabla.length + 1, nombre: producto.descripcion, precio: parseFloat(producto.precio.toFixed(4)), costoUnitario: producto.costo, @@ -277,7 +257,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', $scope.seleccionarProveedor = function() { var modalInstance = $uibModal.open( { - ariaLabelledBy: 'Busqueda de Proveedor', + ariaLabelledBy: 'Busqueda de Transportista', templateUrl: 'modal-proveedor.html', controller: 'focaModalProveedorCtrl', size: 'lg', @@ -290,8 +270,9 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', ); modalInstance.result.then( function(proveedor) { - $scope.hojaRuta.proveedor.codigo = proveedor.COD; - addCabecera('Proveedor:', proveedor.NOM); + console.info($scope.hojaRuta); + $scope.hojaRuta.transportista.codigo = proveedor.COD; + addCabecera('Transportista:', proveedor.NOM); }, function() { } @@ -317,6 +298,34 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', ); }; + $scope.seleccionarRemito = function() { + var modalInstance = $uibModal.open( + { + ariaLabelledBy: 'Busqueda de Remito', + templateUrl: 'foca-modal-remito.html', + controller: 'focaModalRemitoController', + size: 'lg' + } + ); + modalInstance.result.then( + function(remito) { + var litros = 0; + for (var i = remito.articulosRemito.length - 1; i >= 0; i--) { + litros =+ remito.articulosRemito[i].cantidad; + } + + remito.litros = litros; + $scope.remitosTabla.push(remito); + console.info($scope.remitosTabla); + + + // TODO: Implementar carga remito + }, function() { + // funcion ejecutada cuando se cancela el modal + } + ); + }; + $scope.abrirModalDomicilios = function(cliente) { var modalInstanceDomicilio = $uibModal.open( { @@ -354,7 +363,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', $scope.getTotal = function() { var total = 0; - var arrayTempArticulos = $scope.articulosTabla; + var arrayTempArticulos = $scope.remitosTabla; for (var i = 0; i < arrayTempArticulos.length; i++) { total += arrayTempArticulos[i].precio * arrayTempArticulos[i].cantidad; } @@ -395,7 +404,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', } cabecera = 'Ingreso manual ' + plazosConcat.trim(); } - $scope.articulosTabla = []; + $scope.remitosTabla = []; addCabecera('Precios y condiciones:', cabecera); }, function() { @@ -480,14 +489,14 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', ); modalInstance.result.then( function(cotizacion) { - var articulosTablaTemp = $scope.articulosTabla; - for(var i = 0; i < articulosTablaTemp.length; i++) { - articulosTablaTemp[i].precio = articulosTablaTemp[i].precio * + var remitosTablaTemp = $scope.remitosTabla; + for(var i = 0; i < remitosTablaTemp.length; i++) { + remitosTablaTemp[i].precio = remitosTablaTemp[i].precio * $scope.hojaRuta.cotizacion.COTIZACION; - articulosTablaTemp[i].precio = articulosTablaTemp[i].precio / + remitosTablaTemp[i].precio = remitosTablaTemp[i].precio / cotizacion.COTIZACION; } - $scope.articulosTabla = articulosTablaTemp; + $scope.remitosTabla = remitosTablaTemp; $scope.hojaRuta.moneda = { id: moneda.ID, detalle: moneda.DETALLE, @@ -520,13 +529,13 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', } delete $scope.articuloACargar.sectorCodigo; console.info($scope.articuloACargar); - $scope.articulosTabla.push($scope.articuloACargar); + $scope.remitosTabla.push($scope.articuloACargar); $scope.cargando = true; } }; $scope.quitarArticulo = function(key) { - $scope.articulosTabla.splice(key, 1); + $scope.remitosTabla.splice(key, 1); }; $scope.editarArticulo = function(key, articulo) { @@ -564,7 +573,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', $scope.hojaRuta.flete = '0'; $scope.hojaRuta.bomba = '0'; $scope.hojaRuta.precioCondicion = ''; - $scope.articulosTabla = []; + $scope.remitosTabla = []; $scope.hojaRuta.vendedor.nombre = ''; $scope.hojaRuta.cliente = {nombre: ''}; $scope.hojaRuta.domicilio = {dom: ''}; @@ -600,6 +609,15 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', articulo.precio = parseFloat(articulo.precio); }; + $scope.rellenar = function(relleno, longitud) { + relleno = '' + relleno; + while (relleno.length < longitud) { + relleno = '0' + relleno; + } + + return relleno; + } + function addCabecera(label, valor) { var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); if(propiedad.length === 1) { @@ -616,14 +634,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', } } - function rellenar(relleno, longitud) { - relleno = '' + relleno; - while (relleno.length < longitud) { - relleno = '0' + relleno; - } - - return relleno; - } + } ] ) diff --git a/src/views/hoja-ruta.html b/src/views/hoja-ruta.html index 2cb8850..d65d736 100644 --- a/src/views/hoja-ruta.html +++ b/src/views/hoja-ruta.html @@ -87,13 +87,12 @@ - - - - - - - + + + + + + - + - - - - - + + + - - - - - - - - - - - - - - - @@ -306,8 +172,8 @@
#CódigoDescripciónCantidadPrecio UnitarioSubTotal + #RemitoClienteDirecciónLitros
- - - - - - - - - +
- - - - - - - - - - - -
- -
- Items: - - -

Total:

-
-

{{getTotal() | currency: hojaRuta.moneda.simbolo}}

-
- + Remitos: +
@@ -355,7 +221,7 @@
@@ -417,7 +283,7 @@
Cantidad Items: - +

Total: