Commit e9d59a290007f83a57079f059cb525a4bc48bad5

Authored by Nicolás Guarnieri
Exists in master

Merge remote-tracking branch 'upstream/master'

... ... @@ -43,7 +43,6 @@ gulp.task('uglify', ['templates'], function() {
43 43 gulp.dest(paths.tmp),
44 44 rename('foca-logistica-pedido-ruta.min.js'),
45 45 uglify(),
46   - replace('"ngRoute","ui.bootstrap"', ''),
47 46 gulp.dest(paths.dist)
48 47 ]
49 48 );
1   -angular.module('focaLogisticaPedidoRuta', [
2   - 'ngRoute',
3   - 'ui.bootstrap'
4   -]);
  1 +angular.module('focaLogisticaPedidoRuta', []);
src/js/controller.js
... ... @@ -146,18 +146,21 @@ angular.module('focaLogisticaPedidoRuta') .controller('focaLogisticaPedidoRutaCo
146 146 }
147 147 );
148 148 modalInstance.result.then(function(transportista) {
149   - $scope.selectVehiculo(transportista.COD);
  149 + $scope.selectVehiculo(transportista.COD, transportista.NOM);
150 150 });
151 151 };
152 152  
153   - $scope.selectVehiculo = function(idTransportista) {
154   - var query = '/vehiculo/transportista/' + idTransportista;
155   - var columnas = {
156   - nombre: ['Código', 'tractor', 'Semi', 'Capacidad'],
157   - propiedad: ['codigo', 'tractor', 'semi', 'capacidadTotalCisternas']
  153 + $scope.selectVehiculo = function(idTransportista, nombreTransportista) {
  154 + var parametrosModal = {
  155 + columnas: {
  156 + nombre: ['Código', 'tractor', 'Semi', 'Capacidad'],
  157 + propiedad: ['codigo', 'tractor', 'semi', 'capacidadTotalCisternas']
  158 + },
  159 + query: '/vehiculo/transportista/' + idTransportista,
  160 + titulo: 'Búsqueda de vehiculos',
  161 + subTitulo: idTransportista + '-' + nombreTransportista
158 162 };
159   - var titulo = 'Búsqueda de vehiculos';
160   - focaModalService.modal(columnas, query, titulo).then(
  163 + focaModalService.modal(parametrosModal).then(
161 164 function(vehiculo) {
162 165 var existe = $filter('filter')($scope.vehiculos, {id: vehiculo.id});
163 166 if(existe.length) {
... ... @@ -224,8 +227,8 @@ angular.module('focaLogisticaPedidoRuta') .controller('focaLogisticaPedidoRutaCo
224 227 }
225 228  
226 229 function eliminarVehiculo(vehiculo) {
227   - focaLogisticaPedidoRutaService.getRemitos(vehiculo.id).then(function(res) {
228   - if(!focaLogisticaPedidoRutaService.obtenerRemitosDeCarga(res.data).length) {
  230 + focaLogisticaPedidoRutaService.getRemitosByIdVehiculo(vehiculo.id).then(function(res) {
  231 + if(!res.data.length) {
229 232 $scope.vehiculos.splice($scope.vehiculos.indexOf(vehiculo), 1);
230 233 }else {
231 234 focaModalService.alert('No ha sido posible eliminar el vehiculo porque ' +
... ... @@ -260,9 +263,8 @@ angular.module('focaLogisticaPedidoRuta') .controller('focaLogisticaPedidoRutaCo
260 263 }
261 264 return false;
262 265 }
263   - // TODO: descomentar en produccion
264   - // $interval(function() {
265   - // getSeguimiento();
266   - // }, 5000);
  266 + $interval(function() {
  267 + getSeguimiento();
  268 + }, 5000);
267 269 }
268 270 ]);
src/js/controllerCerrarVehiculo.js
... ... @@ -16,9 +16,10 @@ angular.module('focaLogisticaPedidoRuta')
16 16 focaLogisticaPedidoRutaService.obtenerVehiculoById(idVehiculo).then(function(res) {
17 17 $scope.vehiculo = res.data;
18 18 });
19   - focaLogisticaPedidoRutaService.getRemitos(idVehiculo).then(function(res) {
20   - $scope.remitos = focaLogisticaPedidoRutaService.obtenerRemitosDeCarga(res.data);
21   - });
  19 + focaLogisticaPedidoRutaService.getRemitosByIdVehiculo(idVehiculo, 1, 1).then(
  20 + function(res) {
  21 + $scope.remitos = res.data;
  22 + });
22 23 focaLogisticaPedidoRutaService.numeroHojaRuta().then(function(res) {
23 24 $scope.sucursal = res.data.sucursal;
24 25 $scope.numero = res.data.numeroHojaRuta;
src/js/osm-directive.js
... ... @@ -43,12 +43,20 @@ angular.module('focaLogisticaPedidoRuta').directive('focaLogistica', function()
43 43 observacion += '<br/>Distancia a casa central: ' +
44 44 marcador.distancia + 'km';
45 45 }
46   - observacion += '<br/>';
47   - observacion += '<i class="fa fa-map-marker fa-3x" aria-hidden="true"'+
48   - 'class="form-control" ondragend="dropEnd()" ondragstart=\'drag(event, '+
49   - JSON.stringify(marcador)+')\' draggable="true"></i>(Arrastrar icono)';
50 46 var icon;
51 47 if(marcador.notaPedido.remito.idUsuarioProceso) {
  48 + observacion += '<br/>';
  49 + observacion += '<strong>';
  50 + observacion += 'Fecha de entrega: ' + marcador.notaPedido.remito
  51 + .cisternaMovimientos[0].cisternaCarga.fechaReparto.substring(0, 10);
  52 + observacion += '<br/>';
  53 + observacion += 'Vehículo: ' + marcador.notaPedido.remito
  54 + .cisternaMovimientos[0].cisternaCarga.cisterna.vehiculo.tractor;
  55 + observacion += '<br/>';
  56 + observacion += 'Transportista: ' + marcador.notaPedido.remito
  57 + .cisternaMovimientos[0].cisternaCarga.cisterna.vehiculo.transportista
  58 + .NOM;
  59 + observacion += '</strong>';
52 60 //Asignado ROJO
53 61 icon = new L.Icon({
54 62 iconUrl: 'img/marker-icon-2x-red.png',
... ... @@ -59,6 +67,11 @@ angular.module(&#39;focaLogisticaPedidoRuta&#39;).directive(&#39;focaLogistica&#39;, function()
59 67 shadowSize: [41, 41]
60 68 });
61 69 }else {
  70 + observacion += '<br/>';
  71 + observacion += '<i class="fa fa-map-marker fa-3x" aria-hidden="true"'+
  72 + 'class="form-control" ondragend="dropEnd()" ondragstart=\'drag(event, '+
  73 + JSON.stringify(marcador)+')\' draggable="true"></i>(Arrastrar icono)';
  74 +
62 75 //Sin asignar VERDE
63 76 icon = new L.Icon({
64 77 iconUrl: 'img/marker-icon-2x-green.png',
... ... @@ -71,10 +84,10 @@ angular.module(&#39;focaLogisticaPedidoRuta&#39;).directive(&#39;focaLogistica&#39;, function()
71 84 }
72 85 $scope.markers.push(
73 86 L.marker(
74   - [marcador.latitud, marcador.longitud],
75   - {icon: icon, draggable: true})
  87 + [marcador.latitud, marcador.longitud], {icon: icon})
76 88 .addTo($scope.map)
77 89 .bindPopup(observacion)
  90 + .bindTooltip('Haga click para seleccionar')
78 91 );
79 92 //abre marcador del primer punto
80 93 //$scope.markers[0].openPopup();
... ... @@ -33,36 +33,11 @@ angular.module(&#39;focaLogisticaPedidoRuta&#39;)
33 33 vehiculoSinRemitos: sinRemitos
34 34 });
35 35 },
36   - obtenerRemitosDeCarga: function(remitos) {
37   - var remitosRes = [];
38   - for(var i = 0; i < remitos.cisternas.length; i++) {
39   - procesoCistena(remitos.cisternas[i], this.fecha.toISOString());
40   - }
41   - function procesoCistena(cisterna, fecha) {
42   - for(var j = 0; j < cisterna.cisternasCarga.length; j++) {
43   - for(var k = 0; k < cisterna.cisternasCarga[j].cisternaMovimientos
44   - .length; k++)
45   - {
46   - if(cisterna.cisternasCarga[j].fechaReparto.substring(0, 10) ===
47   - fecha.substring(0, 10))
48   - {
49   - procesoMovimiento(cisterna.cisternasCarga[j]
50   - .cisternaMovimientos[k]);
51   - }
52   - }
53   - }
54   - }
55   - function procesoMovimiento(movimiento) {
56   - if(!movimiento.anulado && movimiento.remito &&
57   - !movimiento.remito.idHojaRuta) {
58   - var remito = movimiento.remito;
59   - var yaEstaCargado = $filter('filter')(remitosRes, {id: remito.id});
60   - if(!yaEstaCargado.length && movimiento.metodo === 'carga') {
61   - remitosRes.push(remito);
62   - }
63   - }
64   - }
65   - return remitosRes;
  36 + getRemitosByIdVehiculo: function(idVehiculo, sinConfirmar, sinHojaRuta) {
  37 + var sinHoja = sinHojaRuta ? '/sinHojaRuta' : '';
  38 + return $http.get(url + '/vehiculo/obtener/remitos/' +
  39 + idVehiculo + '/' + this.fecha.toISOString().substring(0, 10) +
  40 + '/' + sinConfirmar + sinHoja);
66 41 },
67 42 getVehiculosByIdUsuario: function() {
68 43 return $http.get(url + '/vehiculo/usuario/' + this.idUsuario);
src/views/foca-logistica-pedido-ruta.html
... ... @@ -83,14 +83,14 @@
83 83 <div class="row px-5">
84 84 <div class="col-10">
85 85 <foca-logistica
86   - latitud="-32.89214159952345"
87   - longitud="-68.84572999101856"
88   - zoom="14"
  86 + latitud="-34.7152975"
  87 + longitud="-65.9053867"
  88 + zoom="5"
89 89 marcadores="marcadores"
90 90 parametros= "datosBuscados"
91 91 />
92 92 </div>
93   - <div class="row">
  93 + <div class="row">
94 94 <div
95 95 class="container col-auto"
96 96 ng-repeat="vehiculo in vehiculos"
... ... @@ -105,7 +105,18 @@
105 105 <span class="progress-right">
106 106 <span class="progress-bar"></span>
107 107 </span>
108   - <div class="progress-value">{{vehiculo.codigo}}</div>
  108 + <div class="progress-value py-4 px-3 d-flex align-content-between flex-wrap">
  109 + <small class="w-100">
  110 + <small>
  111 + <small>
  112 + {{vehiculo.transportista.NOM.trim()}}
  113 + </small>
  114 + </small>
  115 + </small>
  116 + <small class="w-100">
  117 + {{vehiculo.codigo}}
  118 + </small>
  119 + </div>
109 120 </div>
110 121 </div>
111 122 <div class="row ml-2">
... ... @@ -115,7 +126,7 @@
115 126 width="100%">
116 127 </div>
117 128 <div class="col-3"
118   - uib-tooltip="Cerrar distribuición"
  129 + uib-tooltip="Confirmar distribuición"
119 130 ng-click="hacerHojaRuta(vehiculo)"></div>
120 131 <div class="col-3">
121 132 <i
... ... @@ -132,7 +143,7 @@
132 143 </div>
133 144 </div>
134 145 <div
135   - class="ml-1 border border-dark text-center"
  146 + class="ml-1 border border-dark text-center w-100"
136 147 ng-show="arrastrando"
137 148 id="{{vehiculo.id}}"
138 149 ondrop="drop(event)"
src/views/foca-modal-cerrar-vehiculo.html
1 1 <div class="modal-header">
2   - <h4>Cerrar distribución vehículo</h4>
  2 + <h4>Confirmar distribución vehículo</h4>
3 3 <div class="row">
4 4 <div class="col-6 row">
5 5 <label class="col-3 mt-2">Fecha:</label>
... ... @@ -46,7 +46,12 @@
46 46 <th>Remito Nº</th>
47 47 <th>Cliente</th>
48 48 <th>Domicilio de entrega</th>
49   - <th>Eliminar</th>
  49 + <th>Eliminar
  50 + <i
  51 + class="fa fa-info"
  52 + uib-tooltip="Los remitos que no se pueden eliminar tienen asignada una hoja de ruta">
  53 + </i>
  54 + </th>
50 55 </tr>
51 56 </thead>
52 57 <tbody>
... ... @@ -65,7 +70,8 @@
65 70 type="checkbox"
66 71 ng-model="remito.checked"
67 72 class="custom-control-input"
68   - id="{{remito.id}}">
  73 + id="{{remito.id}}"
  74 + ng-disabled="remito.idHojaRuta">
69 75 <label class="custom-control-label" for="{{remito.id}}"></label>
70 76 </div>
71 77 </td>