Commit 14154ecf70826acff58da0b6948d36d9dff3876a

Authored by Jose Pinto
1 parent 7d68d24ce9
Exists in master

boton pausar funcionando

src/js/controller.js
... ... @@ -9,9 +9,10 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
9 9 'focaModalService',
10 10 'focaBotoneraLateralService',
11 11 'focaLoginService',
  12 + '$localStorage',
12 13 function($scope, $uibModal, $location, $filter, $timeout,
13 14 focaCrearHojaRutaService, focaModalService, focaBotoneraLateralService,
14   - focaLoginSrv)
  15 + focaLoginSrv, $localStorage)
15 16 {
16 17 config();
17 18  
... ... @@ -33,6 +34,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
33 34 });
34 35  
35 36 init();
  37 + $timeout(function() {getLSHojaRuta();});
36 38 }
37 39  
38 40 function init() {
... ... @@ -48,10 +50,10 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
48 50 transportista: {},
49 51 tarifario: {
50 52 costo: null
51   - }
  53 + },
  54 + remitosTabla: []
52 55 };
53 56  
54   - $scope.remitosTabla = [];
55 57 $scope.idLista = undefined;
56 58  
57 59 focaCrearHojaRutaService.getNumeroHojaRuta().then(
... ... @@ -65,15 +67,18 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
65 67 }
66 68 );
67 69  
68   - $scope.inicial = {
69   - hojaRuta: angular.copy($scope.hojaRuta),
70   - remitosTabla: angular.copy($scope.remitosTabla),
71   - idLista: angular.copy($scope.idLista)
72   - };
  70 + $scope.inicial = angular.copy($scope.hojaRuta);
73 71 }
74 72  
  73 + $scope.$watch('hojaRuta', function(newValue, oldValue) {
  74 + focaBotoneraLateralService.setPausarData({
  75 + label: 'hojaRuta',
  76 + val: newValue
  77 + });
  78 + }, true);
  79 +
75 80 $scope.crearHojaRuta = function() {
76   - if(!$scope.remitosTabla.length) {
  81 + if(!$scope.hojaRuta.remitosTabla.length) {
77 82 focaModalService.alert('Ingrese Remitos');
78 83 return;
79 84 }
... ... @@ -107,10 +112,10 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
107 112 idChofer: $scope.hojaRuta.chofer.id,
108 113 idVehiculo: $scope.hojaRuta.vehiculo.id,
109 114 tarifaFlete: $scope.hojaRuta.tarifario.costo,
110   - fechaReparto: $scope.fechaReparto.toISOString().substring(0, 10),
  115 + fechaReparto: new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10),
111 116 estado: 0
112 117 },
113   - remitos: $scope.remitosTabla
  118 + remitos: $scope.hojaRuta.remitosTabla
114 119 };
115 120 save.hojaRuta = angular.extend({}, save.hojaRuta, $scope.hojaRuta.datosExtra);
116 121 focaCrearHojaRutaService.crearHojaRuta(save).then(
... ... @@ -251,8 +256,8 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
251 256 modalInstance.result.then(
252 257 function(remito) {
253 258 // TODO: borrar cuando no se use definitivamente
254   - // for (var i = $scope.remitosTabla.length - 1; i >= 0; i--) {
255   - // if ($scope.remitosTabla[i].id === remito.id) {
  259 + // for (var i = $scope.hojaRuta.remitosTabla.length - 1; i >= 0; i--) {
  260 + // if ($scope.hojaRuta.remitosTabla[i].id === remito.id) {
256 261 // focaModalService.alert('Remito ya incluido');
257 262 // return;
258 263 // }
... ... @@ -283,7 +288,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
283 288 // remito.litros = litros;
284 289 // $scope.hojaRuta.litros = $scope.hojaRuta.litros + litros;
285 290 $scope.cargarCisterna(remito.id).then(function() {
286   - $scope.remitosTabla.push(remito);
  291 + $scope.hojaRuta.remitosTabla.push(remito);
287 292 $scope.seleccionarRemitos();
288 293 }, function() {
289 294 $scope.seleccionarRemitos();
... ... @@ -310,7 +315,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
310 315 resolve: {
311 316 idVehiculo: function() {return $scope.hojaRuta.vehiculo.id;},
312 317 idRemito: function() {return idRemito;},
313   - fechaReparto: function() {return $scope.fechaReparto;}
  318 + fechaReparto: function() {return $scope.hojaRuta.fechaReparto;}
314 319 }
315 320 }
316 321 );
... ... @@ -318,7 +323,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
318 323 };
319 324  
320 325 $scope.seleccionarFechaEntrega = function() {
321   - if(!$scope.fechaReparto) {
  326 + if(!$scope.hojaRuta.fechaReparto) {
322 327 elegirFecha();
323 328 return;
324 329 }
... ... @@ -359,9 +364,9 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
359 364 focaModalService.confirm('ยฟEstรก seguro que desea desasociar este remito del' +
360 365 ' vehรญculo?').then(function() {
361 366 focaCrearHojaRutaService.desasociarRemitos(idsRemito,
362   - $scope.hojaRuta.vehiculo.id, $scope.remitosTabla.length <= 1).then(
  367 + $scope.hojaRuta.vehiculo.id, $scope.hojaRuta.remitosTabla.length <= 1).then(
363 368 function() {
364   - $scope.remitosTabla.splice(key, 1);
  369 + $scope.hojaRuta.remitosTabla.splice(key, 1);
365 370 focaModalService.alert('Remito desasociado con รฉxito');
366 371 }
367 372 );
... ... @@ -374,7 +379,7 @@ angular.module(&#39;focaCrearHojaRuta&#39;) .controller(&#39;hojaRutaCtrl&#39;,
374 379 label: 'Fecha de entrega:',
375 380 valor: fecha.toLocaleDateString()
376 381 });
377   - $scope.fechaReparto = fecha;
  382 + $scope.hojaRuta.fechaReparto = fecha;
378 383 });
379 384 }
380 385  
... ... @@ -387,7 +392,7 @@ angular.module(&#39;focaCrearHojaRuta&#39;) .controller(&#39;hojaRutaCtrl&#39;,
387 392 }
388 393  
389 394 function eligioFecha() {
390   - if(!$scope.fechaReparto) {
  395 + if(!$scope.hojaRuta.fechaReparto) {
391 396 focaModalService.alert('Primero seleccione fecha de reparto');
392 397 return false;
393 398 }
... ... @@ -406,7 +411,7 @@ angular.module(&#39;focaCrearHojaRuta&#39;) .controller(&#39;hojaRutaCtrl&#39;,
406 411 var parametrosModal = {};
407 412 if(preCargados) {
408 413 parametrosModal.query = '/vehiculo/obtener/pre-confirmados/' +
409   - $scope.fechaReparto.toISOString().substring(0, 10);
  414 + new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10);
410 415 parametrosModal.titulo = 'Bรบsqueda de vehiculos pre confirmados';
411 416 }else {
412 417 parametrosModal.query = '/vehiculo';
... ... @@ -439,15 +444,15 @@ angular.module(&#39;focaCrearHojaRuta&#39;) .controller(&#39;hojaRutaCtrl&#39;,
439 444 ' - ' + vehiculo.transportista.NOM
440 445 });
441 446 focaCrearHojaRutaService
442   - .getRemitosByIdVehiculo(vehiculo.id, $scope.fechaReparto)
  447 + .getRemitosByIdVehiculo(vehiculo.id, $scope.hojaRuta.fechaReparto)
443 448 .then(function(res) {
444   - $scope.remitosTabla = res.data;
  449 + $scope.hojaRuta.remitosTabla = res.data;
445 450 });
446 451 }else {
447 452 focaCrearHojaRutaService
448   - .getRemitosByIdVehiculo(vehiculo.id, $scope.fechaReparto, true)
  453 + .getRemitosByIdVehiculo(vehiculo.id, $scope.hojaRuta.fechaReparto, true)
449 454 .then(function(res) {
450   - $scope.remitosTabla = res.data;
  455 + $scope.hojaRuta.remitosTabla = res.data;
451 456 });
452 457 }
453 458 $scope.$broadcast('addCabecera', {
... ... @@ -470,8 +475,9 @@ angular.module(&#39;focaCrearHojaRuta&#39;) .controller(&#39;hojaRutaCtrl&#39;,
470 475 for(var i = 0; i < vehiculo.cisternas.length; i++) {
471 476 for(var j = 0; j < vehiculo.cisternas[i].cisternasCarga.length; j++) {
472 477 var cisternaCarga = vehiculo.cisternas[i].cisternasCarga[j];
473   - if(cisternaCarga.fechaReparto.substring(0, 10) === $scope.fechaReparto
474   - .toISOString().substring(0, 10) && cisternaCarga.idUsuarioProceso &&
  478 + if(cisternaCarga.fechaReparto.substring(0, 10) ===
  479 + new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10) &&
  480 + cisternaCarga.idUsuarioProceso &&
475 481 cisternaCarga.idUsuarioProceso !== idUsuario)
476 482 {
477 483 focaModalService.alert('El vehรญculo estรก siendo usado por otro' +
... ... @@ -486,11 +492,9 @@ angular.module(&#39;focaCrearHojaRuta&#39;) .controller(&#39;hojaRutaCtrl&#39;,
486 492 function salir() {
487 493 var confirmacion = false;
488 494  
489   - angular.forEach($scope.inicial, function(valor, key) {
490   - if (!angular.equals($scope[key], $scope.inicial[key])) {
491   - confirmacion = true;
492   - }
493   - });
  495 + if (!angular.equals($scope.hojaRuta, $scope.inicial)) {
  496 + confirmacion = true;
  497 + }
494 498  
495 499 if (confirmacion) {
496 500 focaModalService.confirm(
... ... @@ -504,5 +508,70 @@ angular.module(&#39;focaCrearHojaRuta&#39;) .controller(&#39;hojaRutaCtrl&#39;,
504 508 $location.path('/');
505 509 }
506 510 }
  511 +
  512 + function setearHojaRuta(hojaRuta) {
  513 + $scope.$broadcast('cleanCabecera');
  514 +
  515 + var cabeceras = [];
  516 + if (hojaRuta.fechaReparto) {
  517 + cabeceras.push({
  518 + label: 'Fecha de entrega:',
  519 + valor: $filter('date')(hojaRuta.fechaReparto, 'dd/MM/yyyy')
  520 + });
  521 + }
  522 + if (hojaRuta.transportista.COD) {
  523 + cabeceras.push({
  524 + label: 'Transportista:',
  525 + valor: $filter('rellenarDigitos')(hojaRuta.transportista.COD, 5) + ' - ' +
  526 + hojaRuta.transportista.NOM
  527 + });
  528 + }
  529 + if (hojaRuta.chofer.id) {
  530 + cabeceras.push({
  531 + label: 'Chofer:',
  532 + valor: $filter('rellenarDigitos')(hojaRuta.chofer.id, 3) +
  533 + ' - ' + hojaRuta.chofer.nombre
  534 + });
  535 + }
  536 + if (hojaRuta.vehiculo.id) {
  537 + cabeceras.push({
  538 + label: 'Tractor:',
  539 + valor: hojaRuta.vehiculo.tractor
  540 + });
  541 + cabeceras.push({
  542 + label: 'Semi:',
  543 + valor: hojaRuta.vehiculo.semi
  544 + });
  545 + cabeceras.push({
  546 + label: 'Capacidad:',
  547 + valor: hojaRuta.vehiculo.capacidad
  548 + });
  549 + }
  550 + if (hojaRuta.tarifario.costo) {
  551 + cabeceras.push({
  552 + label: 'Tarifario:',
  553 + valor: hojaRuta.tarifario.costo
  554 + });
  555 + }
  556 +
  557 + addArrayCabecera(cabeceras);
  558 + $scope.hojaRuta = hojaRuta;
  559 + }
  560 +
  561 + function getLSHojaRuta() {
  562 + var hojaRuta = JSON.parse($localStorage.hojaRuta || null);
  563 + if (hojaRuta) {
  564 + setearHojaRuta(hojaRuta);
  565 + delete $localStorage.hojaRuta;
  566 + }
  567 + }
  568 + function addArrayCabecera(array) {
  569 + for(var i = 0; i < array.length; i++) {
  570 + $scope.$broadcast('addCabecera', {
  571 + label: array[i].label,
  572 + valor: array[i].valor
  573 + });
  574 + }
  575 + }
507 576 }
508 577 ]);
1 1 angular.module('focaCrearHojaRuta')
2   - .service('focaCrearHojaRutaService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) {
  2 + .service('focaCrearHojaRutaService', ['$http', 'API_ENDPOINT',
  3 + function($http, API_ENDPOINT) {
3 4 var route = API_ENDPOINT.URL;
4 5 return {
5 6 crearHojaRuta: function(hojaRuta) {
src/views/hoja-ruta.html
... ... @@ -45,9 +45,9 @@
45 45 </thead>
46 46 <tbody class="tabla-articulo-body">
47 47 <tr
48   - ng-repeat="(key, remito) in remitosTabla"
  48 + ng-repeat="(key, remito) in hojaRuta.remitosTabla"
49 49 class="d-flex"
50   - ng-show="show || key == remitosTabla.length - 1"
  50 + ng-show="show || key == hojaRuta.remitosTabla.length - 1"
51 51 >
52 52 <td ng-bind="key + 1" class="col-auto"></td>
53 53 <td
... ... @@ -70,7 +70,7 @@
70 70 <tr class="d-flex">
71 71 <td class="col-auto px-1">
72 72 <strong>Remitos:</strong>
73   - <a ng-bind="remitosTabla.length"></a>
  73 + <a ng-bind="hojaRuta.remitosTabla.length"></a>
74 74 </td>
75 75 <td class="col"></td>
76 76 <td class="col-auto px-1">