Commit 188a500a9b502791a972aea139d3ac4524b904e4

Authored by Eric Fernandez
Exists in master and in 1 other branch develop

Merge branch 'develop' into 'master'

Develop

See merge request !119
src/js/controller.js
... ... @@ -30,6 +30,7 @@ angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
30 30 $scope.datepickerAbierto = false;
31 31 $scope.show = false;
32 32 $scope.cargando = true;
  33 + $scope.cabeceras = [];
33 34 $scope.botonera = crearNotaPedidoService.getBotonera();
34 35 $scope.puntoVenta = $filter('rellenarDigitos')(0, 4);
35 36 $scope.comprobante = $filter('rellenarDigitos')(0, 8);
... ... @@ -171,7 +172,7 @@ angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
171 172 idProveedor: $scope.notaPedido.proveedor.COD,
172 173 idDomicilio: $scope.notaPedido.domicilio.id,
173 174 idCotizacion: $scope.notaPedido.cotizacion.ID,
174   - idListaPrecio: $scope.notaPedido.idPrecioCondicion,
  175 + idListaPrecio: $scope.idLista,
175 176 cotizacion: $scope.notaPedido.cotizacion.VENDEDOR,
176 177 flete: $scope.notaPedido.flete,
177 178 fob: $scope.notaPedido.fob,
... ... @@ -195,7 +196,7 @@ angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
195 196 notaPedidoBusinessService.addArticulos(
196 197 $scope.notaPedido.articulosNotaPedido,
197 198 data.data.id, $scope.notaPedido.cotizacion.VENDEDOR);
198   -
  199 +
199 200 if ($scope.notaPedido.notaPedidoPuntoDescarga.length > 0) {
200 201 notaPedidoBusinessService.addPuntosDescarga(data.data.id,
201 202 $scope.notaPedido.notaPedidoPuntoDescarga);
... ... @@ -247,7 +248,7 @@ angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
247 248 }
248 249 }
249 250 );
250   - modalInstance.result.then(function(notaPedido) {
  251 + modalInstance.result.then(function (notaPedido) {
251 252  
252 253 notaPedido.articulosNotaPedido.forEach(function (articulo) {
253 254 articulo.precio =
... ... @@ -259,7 +260,6 @@ angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
259 260 };
260 261  
261 262 $scope.seleccionarProductos = function () {
262   -
263 263 if ($scope.idLista === undefined) {
264 264 focaModalService.alert('Primero seleccione una lista de precio y condición');
265 265 return;
... ... @@ -484,7 +484,7 @@ angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
484 484 templateUrl: 'foca-busqueda-cliente-modal.html',
485 485 controller: 'focaBusquedaClienteModalController',
486 486 resolve: {
487   - vendedor: function () { return { id: $scope.idVendedor} },
  487 + vendedor: function () { return { id: $scope.idVendedor }; },
488 488 cobrador: function () { return null; }
489 489 },
490 490 size: 'lg'
... ... @@ -601,7 +601,7 @@ angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
601 601 $filter('filter')($scope.botonera,
602 602 { label: 'Cliente' })[0].checked = true;
603 603 $filter('filter')($scope.botonera,
604   - { label: 'Domicilio de Entrega' })[0].checked = true;
  604 + { label: 'Domicilio de Entrega' })[0].checked = true;
605 605 })
606 606 .catch(function (e) { console.log(e); });
607 607 }, function () {
... ... @@ -630,26 +630,21 @@ angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
630 630  
631 631 $scope.seleccionarPreciosYCondiciones = function () {
632 632  
633   - if (!validarNotaRemitada()) {
634   - return;
635   - }
  633 + if (!validarNotaRemitada()) return;
636 634  
637 635 if (!$scope.notaPedido.cliente.COD) {
638 636 focaModalService.alert('Primero seleccione un cliente');
639 637 return;
640   - }
641   - if ($scope.notaPedido.articulosNotaPedido.length !== 0) {
642   - focaModalService.confirm('Se perderan los productos ingresados')
643   - .then(function (data) {
644   - if (data) {
645   - abrirModal();
646   - }
647   - });
648   - } else if (validarNotaRemitada()) {
  638 + } else {
649 639 abrirModal();
650 640 }
  641 +
651 642 function abrirModal() {
652   - var parametros = { idCliente: $scope.notaPedido.cliente.COD, idListaPrecio : $scope.notaPedido.cliente.MOD};
  643 + var parametros = {
  644 + idCliente: $scope.notaPedido.cliente.COD,
  645 + idListaPrecio: $scope.notaPedido.cliente.MOD,
  646 + notaPedido: $scope.notaPedido
  647 + };
653 648 var modalInstance = $uibModal.open(
654 649 {
655 650 ariaLabelledBy: 'Busqueda de Precio Condición',
... ... @@ -662,45 +657,46 @@ angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
662 657 }
663 658 );
664 659  
665   - modalInstance.result
666   - .then(function (precioCondicion) {
667   - var cabecera = '';
668   - var plazosConcat = '';
669   - if (!Array.isArray(precioCondicion)) {
670   - $scope.notaPedido.notaPedidoPlazo = precioCondicion.plazoPago;
671   - $scope.notaPedido.precioCondicion = precioCondicion;
672   - $scope.notaPedido.idPrecioCondicion = precioCondicion.listaPrecio.ID;
673   - $scope.notaPedido.cliente.MOD = precioCondicion.listaPrecio.ID;
674   - $scope.idLista = parseInt(precioCondicion.listaPrecio.ID) ?
675   - parseInt(precioCondicion.listaPrecio.ID) : -1;
676   - for (var i = 0; i < precioCondicion.plazoPago.length; i++) {
677   - plazosConcat += precioCondicion.plazoPago[i].dias + ', ';
678   - }
679   - plazosConcat = plazosConcat.substring(0, plazosConcat.length - 2);
680   - cabecera = $filter('rellenarDigitos')($scope.idLista, 4) +
681   - ' - ' + precioCondicion.listaPrecio.DES + ' ' + plazosConcat.trim();
682   - } else { //Cuando se ingresan los plazos manualmente
683   - $scope.notaPedido.idPrecioCondicion = 0;
684   - //-1, el modal productos busca todos los productos
685   - $scope.idLista = -1;
686   - $scope.notaPedido.notaPedidoPlazo = precioCondicion;
687   - for (var j = 0; j < precioCondicion.length; j++) {
688   - plazosConcat += precioCondicion[j].dias + ' ';
689   - }
690   - cabecera = 'Ingreso manual ' + plazosConcat.trim();
  660 + modalInstance.result.then(function (precioCondicion) {
  661 + var cabecera = '';
  662 + var plazosConcat = '';
  663 + if (!Array.isArray(precioCondicion)) {
  664 + $scope.notaPedido.notaPedidoPlazo = precioCondicion.plazoPago;
  665 + $scope.notaPedido.precioCondicion = precioCondicion;
  666 + $scope.notaPedido.cliente.MOD = precioCondicion.listaPrecio.ID;
  667 + $scope.idLista = parseInt(precioCondicion.listaPrecio.ID) ?
  668 + parseInt(precioCondicion.listaPrecio.ID) : -1;
  669 + for (var i = 0; i < precioCondicion.plazoPago.length; i++) {
  670 + plazosConcat += precioCondicion.plazoPago[i].dias + ', ';
691 671 }
692   - $scope.notaPedido.articulosNotaPedido = [];
693   - $scope.$broadcast('addCabecera', {
694   - label: 'Precios y condiciones:',
695   - valor: cabecera
696   - });
  672 + plazosConcat = plazosConcat.substring(0, plazosConcat.length - 2);
  673 + cabecera = $filter('rellenarDigitos')($scope.idLista, 4) +
  674 + ' - ' + precioCondicion.listaPrecio.DES +
  675 + ' ' + plazosConcat.trim();
  676 + } else { //Cuando se ingresan los plazos manualmente
  677 + //-1, el modal productos busca todos los productos
  678 + $scope.idLista = -1;
  679 + $scope.notaPedido.notaPedidoPlazo = precioCondicion;
  680 + for (var j = 0; j < precioCondicion.length; j++) {
  681 + plazosConcat += precioCondicion[j].dias + ' ';
  682 + }
  683 + cabecera = 'Ingreso manual ' + plazosConcat.trim();
  684 + }
  685 + $scope.cabeceras.push({
  686 + label: 'Precios y Condiciones:',
  687 + valor: $scope.idLista + ' - ' + precioCondicion.listaPrecio.DES + ' ' +
  688 + notaPedidoBusinessService.plazoToString(precioCondicion.plazoPago)
  689 + });
697 690  
698   - $filter('filter')($scope.botonera,
699   - { label: 'Precios y Condiciones' })[0].checked = true;
700   - })
  691 + $filter('filter')($scope.botonera,
  692 + { label: 'Precios y Condiciones' })[0].checked = true;
  693 +
  694 + addArrayCabecera($scope.cabeceras);
  695 +
  696 + })
701 697 .catch(function (e) {
702 698 console.log(e);
703   - })
  699 + });
704 700  
705 701 }
706 702 };
... ... @@ -915,19 +911,19 @@ angular.module(&#39;focaCrearNotaPedido&#39;).controller(&#39;notaPedidoCtrl&#39;,
915 911 $scope.$broadcast('removeCabecera', 'Kilometros:');
916 912 $scope.$broadcast('cleanCabecera');
917 913  
918   - var cabeceras = [];
  914 + $scope.cabeceras = [];
919 915  
920 916 if (notaPedido.cotizacion.moneda.CODIGO_AFIP !== 'PES') {
921   - cabeceras.push({
  917 + $scope.cabeceras.push({
922 918 label: 'Moneda:',
923 919 valor: notaPedido.cotizacion.moneda.DETALLE
924 920 });
925   - cabeceras.push({
  921 + $scope.cabeceras.push({
926 922 label: 'Fecha cotizacion:',
927 923 valor: $filter('date')(notaPedido.cotizacion.FECHA,
928 924 'dd/MM/yyyy')
929 925 });
930   - cabeceras.push({
  926 + $scope.cabeceras.push({
931 927 label: 'Cotizacion:',
932 928 valor: $filter('number')(notaPedido.cotizacion.VENDEDOR,
933 929 '2')
... ... @@ -939,7 +935,7 @@ angular.module(&#39;focaCrearNotaPedido&#39;).controller(&#39;notaPedidoCtrl&#39;,
939 935 }
940 936  
941 937 if (notaPedido.vendedor.NUM) {
942   - cabeceras.push({
  938 + $scope.cabeceras.push({
943 939 label: 'Vendedor:',
944 940 valor: $filter('rellenarDigitos')(notaPedido.vendedor.NUM, 3) +
945 941 ' - ' + notaPedido.vendedor.NOM
... ... @@ -947,11 +943,11 @@ angular.module(&#39;focaCrearNotaPedido&#39;).controller(&#39;notaPedidoCtrl&#39;,
947 943 }
948 944  
949 945 if (notaPedido.cliente.COD) {
950   - cabeceras.push({
  946 + $scope.cabeceras.push({
951 947 label: 'Cliente:',
952 948 valor: notaPedido.cliente.NOM
953 949 });
954   - cabeceras.push({
  950 + $scope.cabeceras.push({
955 951 label: 'Domicilio:',
956 952 valor: notaPedido.domicilioStamp
957 953 });
... ... @@ -960,7 +956,7 @@ angular.module(&#39;focaCrearNotaPedido&#39;).controller(&#39;notaPedidoCtrl&#39;,
960 956 }
961 957  
962 958 if (notaPedido.proveedor.COD) {
963   - cabeceras.push({
  959 + $scope.cabeceras.push({
964 960 label: 'Proveedor:',
965 961 valor: $filter('rellenarDigitos')(notaPedido.proveedor.COD, 5) +
966 962 ' - ' + notaPedido.proveedor.NOM
... ... @@ -970,19 +966,13 @@ angular.module(&#39;focaCrearNotaPedido&#39;).controller(&#39;notaPedidoCtrl&#39;,
970 966 }
971 967  
972 968 if (notaPedido.notaPedidoPlazo.length) {
973   - cabeceras.push({
974   - label: 'Precios y condiciones:',
975   - valor: valorPrecioCondicion() + ' ' +
976   - notaPedidoBusinessService
977   - .plazoToString(notaPedido.notaPedidoPlazo)
978   - });
979   -
  969 + valorPrecioCondicion();
980 970 $filter('filter')($scope.botonera,
981 971 { label: 'Precios y condiciones' })[0].checked = true;
982 972 }
983 973  
984 974 if (notaPedido.flete !== undefined) {
985   - cabeceras.push({
  975 + $scope.cabeceras.push({
986 976 label: 'Flete:',
987 977 valor: notaPedido.fob === 1 ? 'FOB' : (
988 978 notaPedido.flete === 1 ? 'Si' : 'No')
... ... @@ -990,11 +980,21 @@ angular.module(&#39;focaCrearNotaPedido&#39;).controller(&#39;notaPedidoCtrl&#39;,
990 980 }
991 981  
992 982 function valorPrecioCondicion() {
993   - if (notaPedido.idPrecioCondicion > 0) {
994   - return notaPedido.precioCondicion.nombre;
995   - } else {
996   - return 'Ingreso Manual';
  983 + if (notaPedido.idListaPrecio > 0) {
  984 + crearNotaPedidoService
  985 + .getPrecioCondicionById(parseInt(notaPedido.idListaPrecio))
  986 + .then(function (res) {
  987 + $scope.cabeceras.push({
  988 + label: 'Precios y Condiciones:',
  989 + valor: parseInt(res.data[0].ID) + ' - ' +
  990 + res.data[0].DES + ' ' +
  991 + notaPedidoBusinessService
  992 + .plazoToString(notaPedido.notaPedidoPlazo)
  993 + });
  994 + addArrayCabecera($scope.cabeceras);
  995 + });
997 996 }
  997 + $scope.idLista = parseInt(notaPedido.idListaPrecio);
998 998 }
999 999  
1000 1000 if (notaPedido.flete === 1) {
... ... @@ -1007,9 +1007,9 @@ angular.module(&#39;focaCrearNotaPedido&#39;).controller(&#39;notaPedidoCtrl&#39;,
1007 1007 label: 'Kilometros:',
1008 1008 valor: notaPedido.kilometros
1009 1009 };
1010   - cabeceras.push(cabeceraKilometros);
  1010 + $scope.cabeceras.push(cabeceraKilometros);
1011 1011 }
1012   - cabeceras.push(cabeceraBomba);
  1012 + $scope.cabeceras.push(cabeceraBomba);
1013 1013 }
1014 1014  
1015 1015 if (notaPedido.idPrecioCondicion > 0) {
... ... @@ -1031,13 +1031,13 @@ angular.module(&#39;focaCrearNotaPedido&#39;).controller(&#39;notaPedidoCtrl&#39;,
1031 1031 notaPedido.notaPedidoPuntoDescarga.forEach(function (notaPedidoPuntoDescarga) {
1032 1032 puntos.push(notaPedidoPuntoDescarga.puntoDescarga);
1033 1033 });
1034   - cabeceras.push({
  1034 + $scope.cabeceras.push({
1035 1035 label: 'Puntos de descarga: ',
1036 1036 valor: $filter('rellenarDigitos')(getCabeceraPuntoDescarga(puntos))
1037 1037 });
1038 1038 }
1039 1039  
1040   - addArrayCabecera(cabeceras);
  1040 + addArrayCabecera($scope.cabeceras);
1041 1041 }
1042 1042  
1043 1043 function getCabeceraPuntoDescarga(puntoDescarga) {
... ... @@ -35,7 +35,7 @@ angular.module(&#39;focaCrearNotaPedido&#39;)
35 35 return $http.get(route + '/precio-condicion');
36 36 },
37 37 getPrecioCondicionById: function(id) {
38   - return $http.get(route + '/precio-condicion/' + id);
  38 + return $http.get(route + '/lista-precio/' + id);
39 39 },
40 40 getPlazoPagoByPrecioCondicion: function(id) {
41 41 return $http.get(route + '/plazo-pago/precio-condicion/'+ id);