Commit 140138c04bbae8d5bd90ca112d79c40879341b1b

Authored by Eric Fernandez
Exists in master and in 2 other branches develop, lab

Merge branch 'master' into 'develop'

Master(efernandez)

See merge request !129
src/js/businessService.js
1 1 angular.module('focaCrearRemito')
2   - .factory('remitoBusinessService', [
3   - 'crearRemitoService',
4   - function(crearRemitoService) {
  2 + .factory('remitoBusinessService', ['crearRemitoService', 'focaModalService',
  3 + function(crearRemitoService, focaModalService) {
5 4 return {
6   - addArticulos: function(articulosRemito, idRemito, cotizacion) {
  5 + quitarCotizacion: function(articulosRemito, cotizacion) {
  6 +
7 7 for(var i = 0; i < articulosRemito.length; i++) {
  8 +
8 9 delete articulosRemito[i].editCantidad;
9 10 delete articulosRemito[i].editPrecio;
10   - articulosRemito[i].idRemito = articulosRemito[i].idRemito !== -1 ?
11   - idRemito : articulosRemito[i].idRemito;
12   - articulosRemito[i].precio = articulosRemito[i].precio * cotizacion;
13 11 delete articulosRemito[i].idNotaPedido;
14   - crearRemitoService.crearArticulosParaRemito(articulosRemito[i]);
  12 +
  13 + articulosRemito[i].precio = articulosRemito[i].precio * cotizacion;
15 14 }
  15 +
  16 + return articulosRemito;
  17 +
16 18 },
17 19 addEstado: function(idRemito, idVendedor) {
18 20 var date = new Date();
19 21 var estado = {
20 22 idRemito: idRemito,
21 23 fecha: new Date(date.getTime() - (date.getTimezoneOffset() * 60000))
22   - .toISOString().slice(0, 19).replace('T', ' '),
  24 + .toISOString().slice(0, 19).replace('T', ' '),
23 25 estado: 0,
24 26 idVendedor: idVendedor
25 27 };
... ... @@ -37,18 +39,45 @@ angular.module(&#39;focaCrearRemito&#39;)
37 39 }
38 40 return result.trim();
39 41 },
40   - addPuntosDescarga: function(idRemito, puntosDescarga) {
  42 + addPuntosDescarga: function(puntosDescarga) {
41 43  
42 44 var puntos = [];
43 45  
44 46 puntosDescarga.forEach(function(punto) {
45 47 puntos.push({
46 48 idPuntoDescarga: punto.puntoDescarga.id,
47   - idRemito: idRemito,
48 49 });
49 50 });
50 51  
51   - return crearRemitoService.crearPuntosDescarga(puntos);
  52 + return puntos;
  53 + },
  54 + validarRemito: function (remito, articulos) {
  55 +
  56 + if (!remito.vendedor.NUM) {
  57 + focaModalService.alert('Ingrese Vendedor');
  58 + return false;
  59 + } else if (!remito.cliente.COD) {
  60 + focaModalService.alert('Ingrese Cliente');
  61 + return false;
  62 + } else if (!remito.proveedor.COD) {
  63 + focaModalService.alert('Ingrese Proveedor');
  64 + return false;
  65 + } else if (!remito.cotizacion.moneda.id &&
  66 + !remito.cotizacion.moneda.ID) {
  67 + focaModalService.alert('Ingrese Moneda');
  68 + return false;
  69 + } else if (!remito.cotizacion.ID) {
  70 + focaModalService.alert('Ingrese Cotizaciรณn');
  71 + return false;
  72 + } else if (remito.flete === undefined || remito.flete === null) {
  73 + focaModalService.alert('Ingrese Flete');
  74 + return false;
  75 + } else if (articulos.length === 0) {
  76 + focaModalService.alert('Debe cargar al menos un articulo');
  77 + return false;
  78 + }
  79 +
  80 + return true;
52 81 }
53 82 };
54 83 }]);
src/js/controller.js
... ... @@ -285,27 +285,9 @@ angular.module(&#39;focaCrearRemito&#39;).controller(&#39;remitoController&#39;,
285 285 };
286 286 //validacion por domicilio y por plazo pago
287 287 $scope.crearRemito = function () {
288   - if (!$scope.remito.vendedor.NUM) {
289   - focaModalService.alert('Ingrese Vendedor');
290   - return;
291   - } else if (!$scope.remito.cliente.COD) {
292   - focaModalService.alert('Ingrese Cliente');
293   - return;
294   - } else if (!$scope.remito.proveedor.COD) {
295   - focaModalService.alert('Ingrese Proveedor');
296   - return;
297   - } else if (!$scope.remito.cotizacion.moneda.id &&
298   - !$scope.remito.cotizacion.moneda.ID) {
299   - focaModalService.alert('Ingrese Moneda');
300   - return;
301   - } else if (!$scope.remito.cotizacion.ID) {
302   - focaModalService.alert('Ingrese Cotizaciรณn');
303   - return;
304   - } else if ($scope.remito.flete === undefined || $scope.remito.flete === null) {
305   - focaModalService.alert('Ingrese Flete');
306   - return;
307   - } else if ($scope.articulosFiltro().length === 0) {
308   - focaModalService.alert('Debe cargar al menos un articulo');
  288 +
  289 + if (!remitoBusinessService.validarRemito($scope.remito, $scope.articulosFiltro()))
  290 + {
309 291 return;
310 292 }
311 293  
... ... @@ -358,7 +340,12 @@ angular.module(&#39;focaCrearRemito&#39;).controller(&#39;remitoController&#39;,
358 340 destinoVenta: 0,//TODO
359 341 operacionTipo: 0, //TODO
360 342 },
361   - notaPedido: $scope.notaPedido
  343 + notaPedido: $scope.notaPedido,
  344 + articulos: remitoBusinessService.quitarCotizacion($scope.articulosFiltro(),
  345 + $scope.remito.cotizacion.VENDEDOR),
  346 + puntosDescarga: remitoBusinessService.addPuntosDescarga(
  347 + $scope.remito.remitoPuntoDescarga),
  348 + plazos: $scope.remito.remitoPlazo
362 349 };
363 350 crearRemitoService.crearRemito(save).then(
364 351 function (data) {
... ... @@ -366,39 +353,16 @@ angular.module(&#39;focaCrearRemito&#39;).controller(&#39;remitoController&#39;,
366 353 focaBotoneraLateralService.endGuardar(true);
367 354 $scope.saveLoading = false;
368 355  
369   - $scope.remito.numeroRemito = data.data.numero;
370   -
371   - if ($scope.remito.remitoPuntoDescarga.length > 0) {
372   - remitoBusinessService.addPuntosDescarga(data.data.id,
373   - $scope.remito.remitoPuntoDescarga);
374   - }
375   -
376 356 if (data.status === 500) {
377 357 focaModalService.alert(data.data);
378 358 return;
379 359 }
380 360  
381   - // TODO: updatear plazos
382   - if ($scope.remito.id === 0) {
383   -
384   - remitoBusinessService.addArticulos($scope.remito.articulosRemito,
385   - data.data.id, $scope.remito.cotizacion.VENDEDOR);
386   -
387   - var plazos = $scope.remito.remitoPlazo;
388   -
389   - for (var j = 0; j < plazos.length; j++) {
390   - var json = {
391   - idRemito: data.data.id,
392   - dias: plazos[j].dias
393   - };
394   - crearRemitoService.crearPlazosParaRemito(json);
395   - }
396   - }
397 361 abrirModalMail(data.data.id,
398 362 $scope.remito.cliente,
399 363 $filter('comprobante')([
400 364 $scope.puntoVenta,
401   - $scope.remito.numeroRemito
  365 + data.data.numero
402 366 ])
403 367 );
404 368  
... ... @@ -675,15 +639,6 @@ angular.module(&#39;focaCrearRemito&#39;).controller(&#39;remitoController&#39;,
675 639 if (domicilio.verPuntos) {
676 640 delete $scope.remito.domicilio.verPuntos;
677 641 $scope.seleccionarPuntosDeDescarga();
678   - } else {
679   - crearRemitoService
680   - .getPuntosDescargaByClienDom(domicilio.id,
681   - $scope.remito.cliente.COD)
682   - .then(function (res) {
683   - if (res.data.length) {
684   - $scope.seleccionarPuntosDeDescarga();
685   - }
686   - });
687 642 }
688 643  
689 644 $filter('filter')($scope.botonera,