From 071251431046c8c36c2f48a0098950eb837dc94f Mon Sep 17 00:00:00 2001 From: Benjamin Date: Fri, 4 Oct 2019 16:34:46 -0300 Subject: [PATCH] hojaruta corregido --- src/js/controllerHojasRuta.js | 98 +++++++++++++++++++++++++++++++++++++++++ src/views/modal-hojas-ruta.html | 51 +++++++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100644 src/js/controllerHojasRuta.js create mode 100644 src/views/modal-hojas-ruta.html diff --git a/src/js/controllerHojasRuta.js b/src/js/controllerHojasRuta.js new file mode 100644 index 0000000..f973460 --- /dev/null +++ b/src/js/controllerHojasRuta.js @@ -0,0 +1,98 @@ +angular.module('focaOrdenCarga') + .controller('focaModalHojasRutaController', [ + '$scope', '$uibModalInstance', 'focaModalService', + 'focaCrearHojaRutaService', 'parametrosModal', + function ($scope, $uibModalInstance, focaModalService, + focaCrearHojaRutaService, parametrosModal) { + + init(); + + function init() { + $scope.mostrar = false; + $scope.orden = parametrosModal.orden; + $scope.articulos = []; + $scope.cisternaMovimientos = []; + $scope.hojasRutas = parametrosModal.hojasRutas; + $scope.hojasRutas.vehiculo.cisternas = $scope.hojasRutas.vehiculo.cisternas.filter( + function (cisterna) { + return !cisterna.desactivado; + } + ); + focaCrearHojaRutaService.getArticulos() + .then(function (articulos) { + $scope.articulos = articulos.data; + }); + }; + + $scope.guardar = function () { + + var cisternasFilter = validarArticulos(); + + var articulos = []; + if (cisternasFilter === undefined) { + return; + } + cisternasFilter.forEach(function (cisterna) { + + var fechaReparto = $scope.hojasRutas.fechaReparto; + cisterna.cisternaCarga = { + confirmado: null, + fechaReparto: fechaReparto, + idCisterna: cisterna.id, + orden: $scope.orden + }; + + //cargar + if (cisterna.cisternaCarga.cantidad) { + cisterna.cisternaCarga.cantidad += cisterna.disponible; + } else { + cisterna.cisternaCarga.cantidad = cisterna.disponible; + cisterna.cisternaCarga.idProducto = + cisterna.articuloSeleccionado.idArticulo; + } + + //Guardar + var now = new Date(); + var cisternaMovimiento = { + fecha: now.toISOString().slice(0, 19).replace('T', ' '), + cantidad: cisterna.disponible, + metodo: 'carga', + idCisternaCarga: cisterna.cisternaCarga.id, + }; + + cisterna.cisternaCarga.fechaReparto = fechaReparto; + cisterna.articuloSeleccionado.cantidad = cisterna.disponible; + articulos.push(cisterna.articuloSeleccionado); + $scope.cisternaMovimientos.push(cisternaMovimiento); + }); + + $uibModalInstance.close({ + cisternas: cisternasFilter, + movimientos: $scope.cisternaMovimientos, + articulos: articulos + }); + }; + + $scope.cancel = function () { + $uibModalInstance.dismiss(null); + }; + + function validarArticulos() { + var cisternasFilter = $scope.hojasRutas.vehiculo.cisternas + .filter(function (cisterna) { + return parseInt(cisterna.disponible) > 0 || cisterna.articuloSeleccionado; + }); + + var cisternasIncompletas = cisternasFilter.filter(function (cisterna) { + return (cisterna.articuloSeleccionado && !cisterna.disponible) || + (!cisterna.articuloSeleccionado && cisterna.disponible); + }); + + if (cisternasIncompletas.length > 0 && cisternasFilter.length > 0) { + focaModalService.alert('Ingrese todos los campos para completar el remito'); + cisternasFilter = undefined; + } + return cisternasFilter; + } + } + ]); diff --git a/src/views/modal-hojas-ruta.html b/src/views/modal-hojas-ruta.html new file mode 100644 index 0000000..0f37913 --- /dev/null +++ b/src/views/modal-hojas-ruta.html @@ -0,0 +1,51 @@ + + + + + \ No newline at end of file -- 1.9.1