From bdbd4d53ad093d716acc7b25e52e21044b34a7ff Mon Sep 17 00:00:00 2001 From: Eric Fernandez Date: Mon, 22 Oct 2018 17:47:59 -0300 Subject: [PATCH] =?UTF-8?q?Ordeno=20un=20poco=20el=20c=C3=B3digo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/js/controller.js | 147 ++++++++++++++++++++++++--------------------------- 1 file changed, 70 insertions(+), 77 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 9a71a5f..b21db0f 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -1,7 +1,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl', - ['$scope', '$uibModal', '$location', 'crearNotaPedidoService', 'focaModalService', - function($scope, $uibModal, $location, crearNotaPedidoService, focaModalService) { + ['$scope', '$uibModal', 'crearNotaPedidoService', 'focaModalService', + function($scope, $uibModal, crearNotaPedidoService, focaModalService) { $scope.show = false; $scope.cargando = true; $scope.dateOptions = { @@ -10,12 +10,12 @@ angular.module('focaCrearNotaPedido') }; $scope.notaPedido = { vendedor: {}, - cliente: {} + cliente: {}, + domicilio: { dom: ''} }; $scope.articulosTabla = []; var idLista; - var notaPedidoTemp = crearNotaPedidoService.getNotaPedido(); - $scope.domiciliosCliente = crearNotaPedidoService.getDomicilios(1); + var notaPedidoTemp = crearNotaPedidoService.getNotaPedido(); crearNotaPedidoService.getPrecioCondicion().then( function(res) { $scope.precioCondiciones = res.data; @@ -33,15 +33,15 @@ angular.module('focaCrearNotaPedido') $scope.articulosTabla = res.data; } ); - crearNotaPedidoService.getDomiciliosByIdNotaPedido($scope.notaPedido.id).then( - function(res) { - $scope.notaPedido.domicilio = res.data; - } - ); + // crearNotaPedidoService.getDomiciliosByIdNotaPedido($scope.notaPedido.id).then( + // function(res) { + // $scope.notaPedido.domicilio = res.data; + // } + // ); } else { $scope.notaPedido.fechaCarga = new Date(); - $scope.notaPedido.domicilio = [{ id: 0 }]; - $scope.notaPedido.bomba = '1'; + // $scope.notaPedido.domicilio = [{ id: 0 }]; + $scope.notaPedido.bomba = '0'; $scope.notaPedido.flete = '0'; idLista = undefined; } @@ -58,56 +58,44 @@ angular.module('focaCrearNotaPedido') } }; $scope.crearNotaPedido = function() { + if($scope.notaPedido.domicilio.id === undefined) { + $scope.notaPedido.domicilio.id = 0; + } + var date = new Date(); var notaPedido = { id: 0, - fechaCarga: $scope.notaPedido.fechaCarga, + fechaCarga: new Date(date.getTime() - (date.getTimezoneOffset() * 60000)) + .toISOString().slice(0, 19).replace('T', ' '), vendedor: $scope.notaPedido.vendedor.nombre, - cliente: $scope.notaPedido.cliente.nombre, - domicilio: $scope.notaPedido.domicilio.id, + idCliente: $scope.notaPedido.cliente.id, + domicilio: $scope.notaPedido.domicilio, precioCondicion: $scope.notaPedido.precioCondicion, bomba: $scope.notaPedido.bomba, flete: $scope.notaPedido.flete, total: $scope.getTotal() }; crearNotaPedidoService.crearNotaPedido(notaPedido).then( - function() { + function(data) { focaModalService.alert('Nota pedido creada'); - // $location.path('/venta-nota-pedido'); - // var flete = { - // idNotaPedido: data.data.id, - // idTransportista: $scope.notaPedido.fleteId, - // idChofer: $scope.chofer.id, - // idVehiculo: $scope.vehiculo.id, - // kilometros: $scope.notaPedido.kilometros, - // costoKilometro: $scope.notaPedido.costoUnitarioKmFlete - // }; - //TO DO - Insert de flete + var flete = { + idNotaPedido: data.data.id, + idTransportista: $scope.notaPedido.fleteId, + idChofer: $scope.notaPedido.chofer.id, + idVehiculo: $scope.notaPedido.vehiculo.id, + kilometros: $scope.notaPedido.kilometros, + costoKilometro: $scope.notaPedido.costoUnitarioKmFlete + }; + crearNotaPedidoService.crearFlete(flete); + var articulosNotaPedido = $scope.articulosTabla; + for(var i = 0; i< articulosNotaPedido.length;i++) { + delete articulosNotaPedido[i].edit; + articulosNotaPedido[i].idNotaPedido = data.data.id; + crearNotaPedidoService + .crearArticulosParaNotaPedido(articulosNotaPedido[i]); + } + $scope.limpiarPantalla(); } ); - var articulosNotaPedido = $scope.articulosTabla; - for(var i = 0; i< articulosNotaPedido.length;i++) { - delete articulosNotaPedido[i].edit; - crearNotaPedidoService - .crearArticulosParaNotaPedido(articulosNotaPedido[i]).then( - function() { - return; - } - ); - } - $scope.notaPedido.precioCondicion = ''; - $scope.articulosTabla = []; - $scope.notaPedido.fleteNombre = ''; - $scope.notaPedido.chofer = ''; - $scope.notaPedido.vehiculo = ''; - $scope.notaPedido.kilometros = ''; - $scope.notaPedido.costoUnitarioKmFlete = ''; - $scope.notaPedido.vendedor.nombre = ''; - $scope.notaPedido.cliente.nombre = ''; - $scope.domicilio = ''; - $scope.notaPedido.flete = 0; - }; - $scope.siguienteTab = function() { - $scope.active = 1; }; $scope.seleccionarArticulo = function() { if (idLista === undefined) { @@ -190,7 +178,25 @@ angular.module('focaCrearNotaPedido') ); modalInstance.result.then( function(cliente) { + $scope.limpiarPantalla(); $scope.notaPedido.cliente.nombre = cliente.nom; + $scope.notaPedido.cliente.id = cliente.cod; + crearNotaPedidoService.getDomiciliosByIdCliente(cliente.cod).then( + function(data) { + if(data.data.length === 0){ + focaModalService + .alert('El cliente no tienen domicilios de entrega') + .then( + function() { + $scope.seleccionarCliente(); + $scope.notaPedido.cliente = {nombre: ''}; + } + ); + return; + } + $scope.domiciliosCliente = data.data; + } + ); }, function() { } @@ -206,13 +212,6 @@ angular.module('focaCrearNotaPedido') } ); }; - $scope.obtenerDomicilios = function(id) { - crearNotaPedidoService.getDomicilios(id).then( - function(res) { - $scope.notaPedido.domicilio = res.data; - } - ); - }; $scope.getTotal = function() { var total = 0; var array = $scope.articulosTabla; @@ -226,10 +225,6 @@ angular.module('focaCrearNotaPedido') return $scope.articuloACargar.precio * $scope.articuloACargar.cantidad; } }; - $scope.cargarArticulos = function() { - idLista = $scope.notaPedido.precioCondicion; - $scope.articulosTabla = []; - }; $scope.abrirModalListaPrecio = function() { var modalInstance = $uibModal.open( { @@ -261,11 +256,7 @@ angular.module('focaCrearNotaPedido') ); modalInstance.result.then( function(flete) { - $scope.choferes = ''; - $scope.vehiculos = ''; - $scope.notaPedido.chofer = ''; - $scope.notaPedido.vehiculo = ''; - $scope.notaPedido.costoUnitarioKmFlete = ''; + $scope.limpiarFlete(); $scope.notaPedido.fleteNombre = flete.nombre; $scope.notaPedido.fleteId = flete.id; $scope.choferes = flete.chofer; @@ -310,25 +301,27 @@ angular.module('focaCrearNotaPedido') $scope.notaPedido.vehiculo = ''; $scope.notaPedido.kilometros = ''; $scope.notaPedido.costoUnitarioKmFlete = ''; + $scope.choferes = ''; + $scope.vehiculos = ''; }; - $scope.crearPedidoDemo = function() { - focaModalService.alert('Pedido Creado'); + $scope.limpiarPantalla = function() { + $scope.limpiarFlete(); + $scope.notaPedido.flete = '0'; + $scope.notaPedido.bomba = '0'; $scope.notaPedido.precioCondicion = ''; - $scope.articulosTabla = []; - $scope.notaPedido.fleteNombre = ''; - $scope.notaPedido.chofer = ''; - $scope.notaPedido.vehiculo = ''; - $scope.notaPedido.kilometros = ''; - $scope.notaPedido.costoUnitarioKmFlete = ''; + $scope.articulosTabla = []; $scope.notaPedido.vendedor.nombre = ''; - $scope.notaPedido.cliente.nombre = ''; - $scope.domicilio.dom = ''; - $scope.notaPedido.flete = 0; + $scope.notaPedido.cliente = {nombre: ''}; + $scope.notaPedido.domicilio = {dom: ''}; + $scope.domiciliosCliente = []; }; $scope.resetFilter = function() { $scope.articuloACargar = {}; $scope.cargando = true; }; + $scope.selectFocus = function ($event) { + $event.target.select(); + }; } ] ) -- 1.9.1