Commit 8f2576328be8a8686e150eaa7e7848e30c24f066

Authored by Luigi
Exists in master and in 1 other branch develop

Merge remote-tracking branch 'upstream/develop'

src/js/businessService.js
... ... @@ -29,7 +29,7 @@ angular.module('focaCrearNotaPedido')
29 29  
30 30 puntosDescarga.forEach(function(punto) {
31 31 puntos.push({
32   - idPuntoDescarga: punto.id,
  32 + idPuntoDescarga: punto.puntoDescarga.id,
33 33 idNotaPedido: idNotaPedido,
34 34 });
35 35 });
src/js/controller.js
... ... @@ -20,6 +20,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
20 20 $rootScope, focaSeguimientoService, APP, focaLoginService, $localStorage)
21 21 {
22 22 config();
  23 + var cotizacionPArgentino = {};
23 24  
24 25 function config() {
25 26 // PARAMETROS INICIALES PARA FUNCIONAMIENTO DEL PROGRAMA
... ... @@ -37,7 +38,7 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
37 38 maxDate: new Date(),
38 39 minDate: new Date(2010, 0, 1)
39 40 };
40   -
  41 +
41 42 //SETEO BOTONERA LATERAL
42 43 $timeout(function() {
43 44 focaBotoneraLateralService.showSalir(false);
... ... @@ -252,11 +253,15 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
252 253 };
253 254  
254 255 $scope.seleccionarProductos = function() {
  256 +
255 257 if ($scope.idLista === undefined) {
256 258 focaModalService.alert(
257 259 'Primero seleccione una lista de precio y condicion');
258 260 return;
  261 + } else if (!validarNotaRemitada()) {
  262 + return;
259 263 }
  264 +
260 265 var modalInstance = $uibModal.open(
261 266 {
262 267 ariaLabelledBy: 'Busqueda de Productos',
... ... @@ -334,7 +339,14 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
334 339 );
335 340 modalInstance.result.then(
336 341 function(puntoDescarga) {
337   - $scope.notaPedido.notaPedidoPuntoDescarga = puntoDescarga;
  342 +
  343 + puntoDescarga.forEach(function(punto) {
  344 + $scope.notaPedido.notaPedidoPuntoDescarga.push(
  345 + {
  346 + puntoDescarga: punto
  347 + }
  348 + )
  349 + });
338 350  
339 351 $scope.$broadcast('addCabecera', {
340 352 label: 'Puntos de descarga:',
... ... @@ -546,8 +558,6 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
546 558 domicilio.Localidad + ', ' + domicilio.Provincia;
547 559 $scope.notaPedido.domicilioStamp = domicilioStamp;
548 560  
549   - $scope.notaPedido.notaPedidoPuntoDescarga = domicilio.puntoDescarga;
550   -
551 561 $scope.$broadcast('addCabecera', {
552 562 label: 'Cliente:',
553 563 valor: $filter('rellenarDigitos')(cliente.cod, 5) + ' - ' + cliente.nom
... ... @@ -561,12 +571,6 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
561 571 if (domicilio.verPuntos) {
562 572 delete $scope.notaPedido.domicilio.verPuntos;
563 573 $scope.seleccionarPuntosDeDescarga();
564   - } else {
565   - crearNotaPedidoService
566   - .getPuntosDescargaByClienDom(domicilio.id, cliente.cod)
567   - .then(function(res) {
568   - if (res.data.length) $scope.seleccionarPuntosDeDescarga();
569   - });
570 574 }
571 575  
572 576 // Seteo checked en botonera
... ... @@ -597,6 +601,11 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
597 601 };
598 602  
599 603 $scope.seleccionarPreciosYCondiciones = function() {
  604 +
  605 + if (!validarNotaRemitada()) {
  606 + return;
  607 + }
  608 +
600 609 if (!$scope.notaPedido.cliente.COD) {
601 610 focaModalService.alert('Primero seleccione un cliente');
602 611 return;
... ... @@ -684,9 +693,21 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
684 693 };
685 694 focaModalService.modal(parametrosModal).then(
686 695 function(moneda) {
687   - $scope.abrirModalCotizacion(moneda);
688   - }, function() {
689 696  
  697 + if (moneda.ID !== 1) {
  698 + $scope.abrirModalCotizacion(moneda);
  699 + return;
  700 + }
  701 +
  702 + crearNotaPedidoService.getCotizacionByIdMoneda(1)
  703 + .then(function (res) {
  704 +
  705 + cotizacionPArgentino = res.data[0].cotizaciones[0];
  706 + cotizacionPArgentino.moneda = moneda;
  707 +
  708 + actualizarCabeceraMoneda(cotizacionPArgentino);
  709 + $scope.notaPedido.cotizacion = cotizacionPArgentino;
  710 + });
690 711 }
691 712 );
692 713 }
... ... @@ -723,35 +744,11 @@ angular.module('focaCrearNotaPedido') .controller('notaPedidoCtrl',
723 744 );
724 745 modalInstance.result.then(
725 746 function(cotizacion) {
726   - var articulosTablaTemp = $scope.notaPedido.articulosNotaPedido || [];
727   - for (var i = 0; i < articulosTablaTemp.length; i++) {
728   - articulosTablaTemp[i].precio = articulosTablaTemp[i].precio *
729   - $scope.notaPedido.cotizacion.VENDEDOR;
730   - articulosTablaTemp[i].precio = (articulosTablaTemp[i].precio /
731   - cotizacion.VENDEDOR).toFixed(4);
732   - }
733   - $scope.notaPedido.articulosNotaPedido = articulosTablaTemp;
734   - $scope.notaPedido.cotizacion = cotizacion;
735   - $scope.notaPedido.cotizacion.moneda = moneda;
736   - if (moneda.DETALLE === 'PESOS ARGENTINOS') {
737   - $scope.$broadcast('removeCabecera', 'Moneda:');
738   - $scope.$broadcast('removeCabecera', 'Fecha cotizacion:');
739   - $scope.$broadcast('removeCabecera', 'Cotizacion:');
740   - } else {
741   - $scope.$broadcast('addCabecera', {
742   - label: 'Moneda:',
743   - valor: moneda.DETALLE
744   - });
745   - $scope.$broadcast('addCabecera', {
746   - label: 'Fecha cotizacion:',
747   - valor: $filter('date')(cotizacion.FECHA, 'dd/MM/yyyy')
748   - });
749   - $scope.$broadcast('addCabecera', {
750   - label: 'Cotizacion:',
751   - valor: $filter('number')(cotizacion.VENDEDOR, '2')
752   - });
753   - }
754 747  
  748 + cotizacion.moneda = moneda;
  749 + actualizarCabeceraMoneda(cotizacion);
  750 +
  751 + $scope.notaPedido.cotizacion = cotizacion;
755 752 $filter('filter')($scope.botonera, { label: 'Moneda'})[0].checked = true;
756 753 }, function() {
757 754  
... ... @@ -759,6 +756,33 @@ angular.module(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
759 756 );
760 757 };
761 758  
  759 + function actualizarCabeceraMoneda (cotizacion) {
  760 +
  761 + $scope.notaPedido.articulosNotaPedido.forEach(function(art) {
  762 + art.precio = (art.precio * $scope.notaPedido.cotizacion.VENDEDOR).toFixed(4);
  763 + art.precio = (art.precio / cotizacion.VENDEDOR).toFixed(4);
  764 + });
  765 +
  766 + if (cotizacion.moneda.DETALLE === 'PESOS ARGENTINOS') {
  767 + $scope.$broadcast('removeCabecera', 'Moneda:');
  768 + $scope.$broadcast('removeCabecera', 'Fecha cotizacion:');
  769 + $scope.$broadcast('removeCabecera', 'Cotizacion:');
  770 + } else {
  771 + $scope.$broadcast('addCabecera', {
  772 + label: 'Moneda:',
  773 + valor: cotizacion.moneda.DETALLE
  774 + });
  775 + $scope.$broadcast('addCabecera', {
  776 + label: 'Fecha cotizacion:',
  777 + valor: $filter('date')(cotizacion.FECHA, 'dd/MM/yyyy')
  778 + });
  779 + $scope.$broadcast('addCabecera', {
  780 + label: 'Cotizacion:',
  781 + valor: $filter('number')(cotizacion.VENDEDOR, '2')
  782 + });
  783 + }
  784 + }
  785 +
762 786 $scope.agregarATabla = function(key) {
763 787 if (key === 13) {
764 788 if ($scope.articuloACargar.cantidad === undefined ||
... ... @@ -774,7 +798,9 @@ angular.module(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
774 798 };
775 799  
776 800 $scope.quitarArticulo = function(key) {
777   - $scope.notaPedido.articulosNotaPedido.splice(key, 1);
  801 + if (validarNotaRemitada()) {
  802 + $scope.notaPedido.articulosNotaPedido.splice(key, 1);
  803 + }
778 804 };
779 805  
780 806 $scope.editarArticulo = function(key, articulo, tmpCantidad, tmpPrecio) {
... ... @@ -923,7 +949,7 @@ angular.module(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
923 949 });
924 950  
925 951 $filter('filter')($scope.botonera,
926   - { label: 'Precios y Condiciones'})[0].checked = true;
  952 + { label: 'Precios y condiciones'})[0].checked = true;
927 953 }
928 954  
929 955 if (notaPedido.flete !== undefined) {
... ... @@ -974,7 +1000,7 @@ angular.module(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
974 1000 if (notaPedido.notaPedidoPuntoDescarga.length) {
975 1001 var puntos = [];
976 1002 notaPedido.notaPedidoPuntoDescarga.forEach(function(notaPedidoPuntoDescarga) {
977   - puntos.push(notaPedidoPuntoDescarga);
  1003 + puntos.push(notaPedidoPuntoDescarga.puntoDescarga);
978 1004 });
979 1005 cabeceras.push({
980 1006 label: 'Puntos de descarga: ',
... ... @@ -1048,13 +1074,14 @@ angular.module(&#39;focaCrearNotaPedido&#39;) .controller(&#39;notaPedidoCtrl&#39;,
1048 1074 }
1049 1075  
1050 1076 function deleteCliente() {
1051   - delete $scope.notaPedido.domicilioStamp;
1052   - delete $scope.notaPedido.notaPedidoPuntoDescarga;
  1077 + $scope.notaPedido.domicilioStamp = '';
  1078 + $scope.notaPedido.notaPedidoPuntoDescarga = [];
1053 1079 $scope.notaPedido.domicilio = {dom: ''};
1054 1080 $scope.notaPedido.cliente = {};
1055 1081 $scope.$broadcast('removeCabecera', 'Cliente:');
1056 1082 $scope.$broadcast('removeCabecera', 'Domicilio:');
1057 1083 $scope.$broadcast('removeCabecera', 'Puntos de descarga:');
  1084 + $filter('filter')($scope.botonera, { label: 'Cliente'})[0].checked = false;
1058 1085 }
1059 1086 }
1060 1087 ]);