Commit e5a1587e71366315c1b4ecdb9967bc00e7c0a2de

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

Merge branch 'develop' into 'master'

Develop

See merge request !17
src/js/controller.js
... ... @@ -4,46 +4,46 @@ angular.module('focaModalDetalleHojaRuta')
4 4 '$filter',
5 5 '$scope',
6 6 '$uibModalInstance',
7   - 'idRemito',
  7 + 'parametros',
8 8 'focaModalDetalleHojaRutaService',
9 9 'focaModalService',
10 10 'focaSeguimientoService',
11 11 '$uibModal',
12   - function($filter, $scope, $uibModalInstance, idRemito, focaModalDetalleHojaRutaService,
  12 + function($filter, $scope, $uibModalInstance, parametros, focaModalDetalleHojaRutaService,
13 13 focaModalService, focaSeguimientoService, $uibModal)
14 14 {
15 15 //Seteo variables
16   - $scope.remito = {};
17   - $scope.cisternas = [];
  16 + $scope.remito = parametros.remito;
  17 + $scope.cisternas = parametros.remito.cisternas;
18 18 $scope.articuloSeleccionado = {};
19 19 $scope.aDescargar = [];
20   - $scope.cargando = true;
  20 + $scope.cargando = false;
21 21  
22 22 //Datos
23   - var promesaRemito = focaModalDetalleHojaRutaService
24   - .getRemitoById(idRemito);
25   - var promesaCisternas = focaModalDetalleHojaRutaService
26   - .getCisternasByIdRemito(idRemito);
  23 + // var promesaRemito = focaModalDetalleHojaRutaService
  24 + // .getRemitoById(idRemito);
  25 + // var promesaCisternas = focaModalDetalleHojaRutaService
  26 + // .getCisternasByIdRemito(idRemito);
27 27  
28   - Promise.all([promesaRemito, promesaCisternas]).then(function(res) {
29   - $scope.cargando = false;
30   - $scope.remito = res[0].data;
31   - $scope.cisternas = res[1].data;
32   - var articuloAChequear = $scope.remito.articulosRemito.filter(
33   - function(articulo) {
34   - return !articulo.descargado;
35   - });
36   - if(!articuloAChequear.length || $scope.remito.rechazado) {
37   - $scope.readonly = true;
38   - $scope.cambio($scope.remito.articulosRemito[0]);
39   - }else {
40   - $scope.cambio(articuloAChequear[0]);
41   - }
42   - $scope.$digest();
43   - }, function() {
44   - focaModalService.alert('El servicio no responde intente más tarde');
45   - $uibModalInstance.dismiss();
46   - });
  28 + // Promise.all([promesaRemito, promesaCisternas]).then(function(res) {
  29 + // $scope.cargando = false;
  30 + // $scope.remito = res[0].data;
  31 + // $scope.cisternas = res[1].data;
  32 + // var articuloAChequear = $scope.remito.articulosRemito.filter(
  33 + // function(articulo) {
  34 + // return !articulo.descargado;
  35 + // });
  36 + // if(!articuloAChequear.length || $scope.remito.rechazado) {
  37 + // $scope.readonly = true;
  38 + // $scope.cambio($scope.remito.articulosRemito[0]);
  39 + // }else {
  40 + // $scope.cambio(articuloAChequear[0]);
  41 + // }
  42 + // $scope.$digest();
  43 + // }, function() {
  44 + // focaModalService.alert('El servicio no responde intente más tarde');
  45 + // $uibModalInstance.dismiss();
  46 + // });
47 47 $scope.cambio = function(articulo) {
48 48 if(!$scope.articuloSeleccionado.descargado) {
49 49 $scope.articuloSeleccionado.cantidadDescargada = 0;
... ... @@ -105,28 +105,51 @@ angular.module('focaModalDetalleHojaRuta')
105 105 hojaRutaMovimientos: hojaRutaMovimientos,
106 106 articulo: $scope.articuloSeleccionado
107 107 };
  108 +
  109 + focaSeguimientoService.obtenerPosicion(getPosition)
  110 +
  111 + var posicion;
  112 +
  113 + function getPosition(position) {
  114 +
  115 + posicion = {
  116 + latitud: position.coords.latitude,
  117 + longitud: position.coords.longitude,
  118 + actividad: 'Entrega de producto',
  119 + observaciones: $scope.remito.observaciones
  120 + }
  121 + }
  122 +
  123 + $scope.aDescargar = [];
  124 + $scope.remito.observaciones = '';
  125 +
  126 + if ($scope.articuloSeleccionado.cantidadDescargada ===
  127 + $scope.articuloSeleccionado.cantidad ) {
  128 +
  129 + $scope.articuloSeleccionado.descargado = true;
  130 + }
  131 +
  132 + var siguienteArticulo = $scope.remito.articulosRemito.filter(
  133 + function(articulo) {
  134 + return articulo.id != $scope.articuloSeleccionado.id;
  135 + }
  136 + );
  137 +
  138 + if (siguienteArticulo.length) {
  139 + $scope.cambio(siguienteArticulo[0]);
  140 + }
  141 +
  142 + $scope.actualizarPuntoDescarga();
  143 +
108 144 focaModalDetalleHojaRutaService
109 145 .postMovimientoHojaRuta(save)
110   - .then(guardarSeguimiento)
111   - .catch(error);
  146 + .then(guardarSeguimiento);
  147 +
  148 +
112 149 function guardarSeguimiento(res) {
113   - focaSeguimientoService
114   - .guardarPosicion(
115   - 'Entrega de producto',
116   - res.data[0].id,
117   - $scope.remito.observaciones);
118   - $scope.aDescargar = [];
119   - $scope.remito.observaciones = '';
120   - $scope.articuloSeleccionado.descargado = true;
121   - var siguienteArticulo = $scope.remito.articulosRemito.filter(
122   - function(articulo) {
123   - return articulo.id != $scope.articuloSeleccionado.id;
124   - }
125   - );
126   - if(siguienteArticulo.length) {
127   - $scope.cambio(siguienteArticulo[0]);
128   - }
129   - $scope.actualizarPuntoDescarga();
  150 +
  151 + posicion.idComprobante = res.data[0].id;
  152 + focaModalDetalleHojaRutaService.guardarPosicion({ posicion: posicion });
130 153 }
131 154 }
132 155 };
... ... @@ -164,9 +187,13 @@ angular.module('focaModalDetalleHojaRuta')
164 187 }
165 188 );
166 189 modalInstance.result.then(function() {
167   - success();
  190 + success().then(function() {
  191 + $uibModalInstance.close($scope.remito);
  192 + });
168 193 }, function() {
169   - success();
  194 + success().then(function() {
  195 + $uibModalInstance.close($scope.remito);
  196 + });
170 197 });
171 198 };
172 199  
... ... @@ -202,12 +229,24 @@ angular.module('focaModalDetalleHojaRuta')
202 229 focaModalService.alert('Hubo un error ' + error);
203 230 }
204 231 function success() {
205   - focaModalService.alert('Operación realizada con éxito');
206 232 $scope.cargando = false;
  233 + return focaModalService.alert('Operación realizada con éxito');
207 234 }
  235 +
  236 + var articuloAChequear = $scope.remito.articulosRemito.filter(
  237 + function(articulo) {
  238 + return !articulo.descargado;
  239 + });
  240 +
  241 + if (!articuloAChequear.length || $scope.remito.rechazado) {
  242 + $scope.readonly = true;
  243 + $scope.cambio($scope.remito.articulosRemito[0]);
  244 + } else {
  245 + $scope.cambio(articuloAChequear[0]);
  246 + }
  247 +
208 248 }
209   - ]
210   - )
  249 + ])
211 250 .controller('focaModalActualizarPuntoDescargaController',
212 251 [
213 252 '$scope',
... ... @@ -240,11 +279,8 @@ angular.module('focaModalDetalleHojaRuta')
240 279 }
241 280 puntoDescarga.latitud = $scope.posicion.latitude;
242 281 puntoDescarga.longitud = $scope.posicion.longitude;
243   - focaModalDetalleHojaRutaService
244   - .guardarPuntoDescarga(puntoDescarga)
245   - .then(function(res) {
246   - $uibModalInstance.close(res.data);
247   - });
  282 + focaModalDetalleHojaRutaService.guardarPuntoDescarga(puntoDescarga);
  283 + $uibModalInstance.close();
248 284 };
249 285  
250 286 $scope.guardar = function() {
... ... @@ -264,9 +300,8 @@ angular.module('focaModalDetalleHojaRuta')
264 300 .then(function(res) {
265 301 $uibModalInstance.close(res.data);
266 302 });
267   -
268 303 };
269   -
  304 +
270 305 }
271 306 ]
272 307 );
... ... @@ -22,6 +22,9 @@ angular.module('focaModalDetalleHojaRuta')
22 22 guardarPuntoDescarga: function(puntoDescarga) {
23 23 return $http.post(API_ENDPOINT.URL + '/punto-descarga',
24 24 {puntoDescarga: puntoDescarga});
  25 + },
  26 + guardarPosicion: function(posicion) {
  27 + return $http.post(API_ENDPOINT.URL + '/seguimiento', posicion);
25 28 }
26 29 };
27 30 }
src/views/modal-detalle-hoja-ruta.html
... ... @@ -45,15 +45,11 @@
45 45 <thead>
46 46 <tr>
47 47 <th>Nombre</th>
48   - <th>Articulo</th>
49   - <th>Cantidad</th>
50 48 </tr>
51 49 </thead>
52 50 <tbody>
53 51 <tr ng-repeat="(key, puntoDescarga) in remito.notaPedido.notaPedidoPuntoDescarga">
54 52 <td ng-bind="puntoDescarga.puntoDescarga.descripcion"></td>
55   - <td ng-bind="puntoDescarga.producto.DetArt"></td>
56   - <td ng-bind="puntoDescarga.cantidad"></td>
57 53 </tbody>
58 54 </table>
59 55 </div>