Commit 573c92b5fcacceb5b6cc53393a6a6c20d5450cef

Authored by Jose Pinto
1 parent 84ddb5e1a8
Exists in master and in 2 other branches develop, lab

reemplazo modal-tarifa-flete por modal-prompt

Showing 1 changed file with 14 additions and 20 deletions   Show diff stats
src/js/controller.js
1 angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', 1 angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl',
2 [ 2 [
3 '$scope', 3 '$scope',
4 '$uibModal', 4 '$uibModal',
5 '$location', 5 '$location',
6 '$filter', 6 '$filter',
7 '$timeout', 7 '$timeout',
8 'focaCrearHojaRutaService', 8 'focaCrearHojaRutaService',
9 'focaModalService', 9 'focaModalService',
10 'focaBotoneraLateralService', 10 'focaBotoneraLateralService',
11 'focaLoginService', 11 'focaLoginService',
12 '$localStorage', 12 '$localStorage',
13 function($scope, $uibModal, $location, $filter, $timeout, 13 function($scope, $uibModal, $location, $filter, $timeout,
14 focaCrearHojaRutaService, focaModalService, focaBotoneraLateralService, 14 focaCrearHojaRutaService, focaModalService, focaBotoneraLateralService,
15 focaLoginSrv, $localStorage) 15 focaLoginSrv, $localStorage)
16 { 16 {
17 config(); 17 config();
18 18
19 function config() { 19 function config() {
20 $scope.botonera = focaCrearHojaRutaService.getBotonera(); 20 $scope.botonera = focaCrearHojaRutaService.getBotonera();
21 $scope.datepickerAbierto = false; 21 $scope.datepickerAbierto = false;
22 $scope.show = false; 22 $scope.show = false;
23 $scope.cargando = true; 23 $scope.cargando = true;
24 $scope.now = new Date(); 24 $scope.now = new Date();
25 $scope.puntoVenta = $filter('rellenarDigitos')(0, 4); 25 $scope.puntoVenta = $filter('rellenarDigitos')(0, 4);
26 $scope.comprobante = $filter('rellenarDigitos')(0, 8); 26 $scope.comprobante = $filter('rellenarDigitos')(0, 8);
27 27
28 //SETEO BOTONERA LATERAL 28 //SETEO BOTONERA LATERAL
29 $timeout(function() { 29 $timeout(function() {
30 focaBotoneraLateralService.showSalir(false); 30 focaBotoneraLateralService.showSalir(false);
31 focaBotoneraLateralService.showPausar(true); 31 focaBotoneraLateralService.showPausar(true);
32 focaBotoneraLateralService.showGuardar(true, $scope.crearHojaRuta); 32 focaBotoneraLateralService.showGuardar(true, $scope.crearHojaRuta);
33 focaBotoneraLateralService.addCustomButton('Salir', salir); 33 focaBotoneraLateralService.addCustomButton('Salir', salir);
34 }); 34 });
35 35
36 init(); 36 init();
37 $timeout(function() {getLSHojaRuta();}); 37 $timeout(function() {getLSHojaRuta();});
38 } 38 }
39 39
40 function init() { 40 function init() {
41 $scope.$broadcast('cleanCabecera'); 41 $scope.$broadcast('cleanCabecera');
42 42
43 $scope.hojaRuta = { 43 $scope.hojaRuta = {
44 fecha: new Date(), 44 fecha: new Date(),
45 litros: 0, 45 litros: 0,
46 chofer: {}, 46 chofer: {},
47 vehiculo: { 47 vehiculo: {
48 capacidad: 0 48 capacidad: 0
49 }, 49 },
50 transportista: {}, 50 transportista: {},
51 tarifario: { 51 tarifario: {
52 costo: null 52 costo: null
53 }, 53 },
54 remitosTabla: [] 54 remitosTabla: []
55 }; 55 };
56 $scope.idLista = undefined; 56 $scope.idLista = undefined;
57 57
58 focaCrearHojaRutaService.getNumeroHojaRuta().then( 58 focaCrearHojaRutaService.getNumeroHojaRuta().then(
59 function(res) { 59 function(res) {
60 $scope.puntoVenta = $filter('rellenarDigitos')(res.data.sucursal, 4); 60 $scope.puntoVenta = $filter('rellenarDigitos')(res.data.sucursal, 4);
61 $scope.comprobante = $filter('rellenarDigitos')(res.data.numeroHojaRuta, 8); 61 $scope.comprobante = $filter('rellenarDigitos')(res.data.numeroHojaRuta, 8);
62 }, 62 },
63 function(err) { 63 function(err) {
64 focaModalService.alert('La terminal no esta configurada correctamente'); 64 focaModalService.alert('La terminal no esta configurada correctamente');
65 console.info(err); 65 console.info(err);
66 } 66 }
67 ); 67 );
68 68
69 $scope.inicial = angular.copy($scope.hojaRuta); 69 $scope.inicial = angular.copy($scope.hojaRuta);
70 } 70 }
71 71
72 $scope.$watch('hojaRuta', function(newValue, oldValue) { 72 $scope.$watch('hojaRuta', function(newValue, oldValue) {
73 focaBotoneraLateralService.setPausarData({ 73 focaBotoneraLateralService.setPausarData({
74 label: 'hojaRuta', 74 label: 'hojaRuta',
75 val: newValue 75 val: newValue
76 }); 76 });
77 }, true); 77 }, true);
78 78
79 $scope.crearHojaRuta = function() { 79 $scope.crearHojaRuta = function() {
80 if(!$scope.hojaRuta.remitosTabla.length) { 80 if(!$scope.hojaRuta.remitosTabla.length) {
81 focaModalService.alert('Ingrese Remitos'); 81 focaModalService.alert('Ingrese Remitos');
82 return; 82 return;
83 } 83 }
84 if(!$scope.hojaRuta.chofer.id) { 84 if(!$scope.hojaRuta.chofer.id) {
85 focaModalService.alert('Ingrese Chofer'); 85 focaModalService.alert('Ingrese Chofer');
86 return; 86 return;
87 } 87 }
88 if(!$scope.hojaRuta.vehiculo.id) { 88 if(!$scope.hojaRuta.vehiculo.id) {
89 focaModalService.alert('Ingrese Vehiculo'); 89 focaModalService.alert('Ingrese Vehiculo');
90 return; 90 return;
91 } 91 }
92 if(!$scope.hojaRuta.transportista.COD) { 92 if(!$scope.hojaRuta.transportista.COD) {
93 focaModalService.alert('Ingrese Transportista'); 93 focaModalService.alert('Ingrese Transportista');
94 return; 94 return;
95 } 95 }
96 if(!$scope.hojaRuta.tarifario.costo) { 96 if(!$scope.hojaRuta.tarifario.costo) {
97 focaModalService.alert('Ingrese Tarifario'); 97 focaModalService.alert('Ingrese Tarifario');
98 return; 98 return;
99 } 99 }
100 if(!$scope.hojaRuta.datosExtra) { 100 if(!$scope.hojaRuta.datosExtra) {
101 focaModalService.alert('Ingrese Datos extra'); 101 focaModalService.alert('Ingrese Datos extra');
102 return; 102 return;
103 } 103 }
104 var date = new Date(); 104 var date = new Date();
105 var save = { 105 var save = {
106 hojaRuta: { 106 hojaRuta: {
107 id: 0, 107 id: 0,
108 fechaCreacion: new Date(date.getTime()).toISOString().slice(0, 19) 108 fechaCreacion: new Date(date.getTime()).toISOString().slice(0, 19)
109 .replace('T', ' '), 109 .replace('T', ' '),
110 idTransportista: $scope.hojaRuta.transportista.COD, 110 idTransportista: $scope.hojaRuta.transportista.COD,
111 idChofer: $scope.hojaRuta.chofer.id, 111 idChofer: $scope.hojaRuta.chofer.id,
112 idVehiculo: $scope.hojaRuta.vehiculo.id, 112 idVehiculo: $scope.hojaRuta.vehiculo.id,
113 tarifaFlete: $scope.hojaRuta.tarifario.costo, 113 tarifaFlete: $scope.hojaRuta.tarifario.costo,
114 fechaReparto: new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10), 114 fechaReparto: new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10),
115 estado: 0 115 estado: 0
116 }, 116 },
117 remitos: $scope.hojaRuta.remitosTabla 117 remitos: $scope.hojaRuta.remitosTabla
118 }; 118 };
119 save.hojaRuta = angular.extend({}, save.hojaRuta, $scope.hojaRuta.datosExtra); 119 save.hojaRuta = angular.extend({}, save.hojaRuta, $scope.hojaRuta.datosExtra);
120 focaCrearHojaRutaService.crearHojaRuta(save).then( 120 focaCrearHojaRutaService.crearHojaRuta(save).then(
121 function(data) { 121 function(data) {
122 focaModalService.alert( 122 focaModalService.alert(
123 'Hoja ruta creada Nº: ' + 123 'Hoja ruta creada Nº: ' +
124 $filter('rellenarDigitos')(data.data.sucursal, 4) + '-' + 124 $filter('rellenarDigitos')(data.data.sucursal, 4) + '-' +
125 $filter('rellenarDigitos')(data.data.numeroHojaRuta, 8) 125 $filter('rellenarDigitos')(data.data.numeroHojaRuta, 8)
126 ); 126 );
127 127
128 init(); 128 init();
129 }, 129 },
130 function(error) { 130 function(error) {
131 focaModalService.alert('Hubo un error al crear la hoja de ruta'); 131 focaModalService.alert('Hubo un error al crear la hoja de ruta');
132 console.info(error); 132 console.info(error);
133 } 133 }
134 ); 134 );
135 }; 135 };
136 136
137 $scope.seleccionarTransportista = function() { 137 $scope.seleccionarTransportista = function() {
138 if(eligioPreConfirmado()) return; 138 if(eligioPreConfirmado()) return;
139 var parametrosModal = { 139 var parametrosModal = {
140 titulo: 'Búsqueda de transportista', 140 titulo: 'Búsqueda de transportista',
141 query: '/transportista', 141 query: '/transportista',
142 columnas: [ 142 columnas: [
143 { 143 {
144 nombre: 'Código', 144 nombre: 'Código',
145 propiedad: 'COD' 145 propiedad: 'COD'
146 }, 146 },
147 { 147 {
148 nombre: 'Nombre', 148 nombre: 'Nombre',
149 propiedad: 'NOM' 149 propiedad: 'NOM'
150 }, 150 },
151 { 151 {
152 nombre: 'CUIT', 152 nombre: 'CUIT',
153 propiedad: 'CUIT' 153 propiedad: 'CUIT'
154 } 154 }
155 ] 155 ]
156 }; 156 };
157 focaModalService.modal(parametrosModal).then( 157 focaModalService.modal(parametrosModal).then(
158 function(proveedor) { 158 function(proveedor) {
159 $scope.hojaRuta.transportista = proveedor; 159 $scope.hojaRuta.transportista = proveedor;
160 $scope.$broadcast('addCabecera', { 160 $scope.$broadcast('addCabecera', {
161 label: 'Transportista:', 161 label: 'Transportista:',
162 valor: $filter('rellenarDigitos')(proveedor.COD, 5) + ' - ' + 162 valor: $filter('rellenarDigitos')(proveedor.COD, 5) + ' - ' +
163 proveedor.NOM 163 proveedor.NOM
164 }); 164 });
165 }, function() { 165 }, function() {
166 166
167 } 167 }
168 ); 168 );
169 }; 169 };
170 170
171 $scope.seleccionarChofer = function() { 171 $scope.seleccionarChofer = function() {
172 var parametrosModal = { 172 var parametrosModal = {
173 titulo: 'Búsqueda de Chofer', 173 titulo: 'Búsqueda de Chofer',
174 query: '/chofer', 174 query: '/chofer',
175 columnas: [ 175 columnas: [
176 { 176 {
177 propiedad: 'id', 177 propiedad: 'id',
178 nombre: 'Código', 178 nombre: 'Código',
179 filtro: { 179 filtro: {
180 nombre: 'rellenarDigitos', 180 nombre: 'rellenarDigitos',
181 parametro: 3 181 parametro: 3
182 } 182 }
183 }, 183 },
184 { 184 {
185 propiedad: 'nombre', 185 propiedad: 'nombre',
186 nombre: 'Nombre' 186 nombre: 'Nombre'
187 }, 187 },
188 { 188 {
189 propiedad: 'dni', 189 propiedad: 'dni',
190 nombre: 'DNI' 190 nombre: 'DNI'
191 }, 191 },
192 { 192 {
193 propiedad: 'telefono', 193 propiedad: 'telefono',
194 nombre: 'Teléfono' 194 nombre: 'Teléfono'
195 } 195 }
196 ] 196 ]
197 }; 197 };
198 focaModalService.modal(parametrosModal).then( 198 focaModalService.modal(parametrosModal).then(
199 function(chofer) { 199 function(chofer) {
200 $scope.hojaRuta.chofer = chofer; 200 $scope.hojaRuta.chofer = chofer;
201 $scope.$broadcast('addCabecera', { 201 $scope.$broadcast('addCabecera', {
202 label: 'Chofer:', 202 label: 'Chofer:',
203 valor: $filter('rellenarDigitos')(chofer.id, 3) + ' - ' +chofer.nombre 203 valor: $filter('rellenarDigitos')(chofer.id, 3) + ' - ' +chofer.nombre
204 }); 204 });
205 }, function() { 205 }, function() {
206 // funcion ejecutada cuando se cancela el modal 206 // funcion ejecutada cuando se cancela el modal
207 } 207 }
208 ); 208 );
209 }; 209 };
210 210
211 $scope.seleccionarVehiculo = function() { 211 $scope.seleccionarVehiculo = function() {
212 if(!eligioFecha() || eligioPreConfirmado()) return; 212 if(!eligioFecha() || eligioPreConfirmado()) return;
213 modalVehiculos(); 213 modalVehiculos();
214 }; 214 };
215 215
216 $scope.seleccionarTarifario = function() { 216 $scope.seleccionarTarifario = function() {
217 var modalInstance = $uibModal.open( 217 focaModalService
218 { 218 .prompt('Tarifa flete', $scope.hojaRuta.tarifario.costo)
219 ariaLabelledBy: 'Busqueda de Tarifario', 219 .then(function(costo) {
220 templateUrl: 'modal-tarifa-flete.html', 220 if (isNaN(costo)) {
221 controller: 'focaModalTarifaFleteController', 221 focaModalService
222 size: 'lg', 222 .alert('Ingrese un valor válido')
223 resolve: { 223 .then(function() {
224 parametrosTarifaFlete: function() { 224 $scope.seleccionarTarifario();
225 return $scope.hojaRuta.tarifario.costo; 225 });
226 } 226
227 return;
227 } 228 }
228 }
229 );
230 229
231 modalInstance.result.then( 230 $scope.hojaRuta.tarifario.costo = costo;
232 function(tarifario) {
233 $scope.hojaRuta.tarifario = tarifario;
234 $scope.$broadcast('addCabecera', { 231 $scope.$broadcast('addCabecera', {
235 label: 'Tarifario:', 232 label: 'Tarifario:',
236 valor: tarifario.costo 233 valor: costo
237 }); 234 });
238 }, function() { 235 });
239 // funcion ejecutada cuando se cancela el modal
240 }
241 );
242 }; 236 };
243 237
244 $scope.seleccionarRemitos = function() { 238 $scope.seleccionarRemitos = function() {
245 if(eligioPreConfirmado() || !eligioFecha() || !eligioVehiculo()) return; 239 if(eligioPreConfirmado() || !eligioFecha() || !eligioVehiculo()) return;
246 var modalInstance = $uibModal.open( 240 var modalInstance = $uibModal.open(
247 { 241 {
248 ariaLabelledBy: 'Busqueda de Remito', 242 ariaLabelledBy: 'Busqueda de Remito',
249 templateUrl: 'foca-modal-remito.html', 243 templateUrl: 'foca-modal-remito.html',
250 controller: 'focaModalRemitoController', 244 controller: 'focaModalRemitoController',
251 size: 'lg', 245 size: 'lg',
252 resolve: {usadoPor: function() {return 'hojaRuta';}} 246 resolve: {usadoPor: function() {return 'hojaRuta';}}
253 } 247 }
254 ); 248 );
255 modalInstance.result.then( 249 modalInstance.result.then(
256 function(remito) { 250 function(remito) {
257 // TODO: borrar cuando no se use definitivamente 251 // TODO: borrar cuando no se use definitivamente
258 // for (var i = $scope.hojaRuta.remitosTabla.length - 1; i >= 0; i--) { 252 // for (var i = $scope.hojaRuta.remitosTabla.length - 1; i >= 0; i--) {
259 // if ($scope.hojaRuta.remitosTabla[i].id === remito.id) { 253 // if ($scope.hojaRuta.remitosTabla[i].id === remito.id) {
260 // focaModalService.alert('Remito ya incluido'); 254 // focaModalService.alert('Remito ya incluido');
261 // return; 255 // return;
262 // } 256 // }
263 // } 257 // }
264 258
265 // var litros = 0; 259 // var litros = 0;
266 // for (var j = remito.articulosRemito.length - 1; j >= 0; j--) { 260 // for (var j = remito.articulosRemito.length - 1; j >= 0; j--) {
267 // litros = litros + parseFloat(remito.articulosRemito[j].cantidad); 261 // litros = litros + parseFloat(remito.articulosRemito[j].cantidad);
268 // } 262 // }
269 263
270 // if ($scope.hojaRuta.litros >= $scope.hojaRuta.vehiculo.capacidad) { 264 // if ($scope.hojaRuta.litros >= $scope.hojaRuta.vehiculo.capacidad) {
271 // focaModalService.alert( 265 // focaModalService.alert(
272 // 'Debe ingresar toda la información para el transporte' 266 // 'Debe ingresar toda la información para el transporte'
273 // ); 267 // );
274 // return; 268 // return;
275 // } 269 // }
276 270
277 //if($scope.hojaRuta.litros + litros >= $scope.hojaRuta.vehiculo.capacidad) 271 //if($scope.hojaRuta.litros + litros >= $scope.hojaRuta.vehiculo.capacidad)
278 // { 272 // {
279 // var litrostotales = litros; 273 // var litrostotales = litros;
280 // litros = $scope.hojaRuta.vehiculo.capacidad - $scope.hojaRuta.litros; 274 // litros = $scope.hojaRuta.vehiculo.capacidad - $scope.hojaRuta.litros;
281 // focaModalService.alert( 275 // focaModalService.alert(
282 // 'La carga excede la capacidad disponible del vehiculo. ' + 276 // 'La carga excede la capacidad disponible del vehiculo. ' +
283 // 'Excedente no cargado: ' + (litrostotales - litros) + ' litros' 277 // 'Excedente no cargado: ' + (litrostotales - litros) + ' litros'
284 // ); 278 // );
285 // } 279 // }
286 280
287 // remito.litros = litros; 281 // remito.litros = litros;
288 // $scope.hojaRuta.litros = $scope.hojaRuta.litros + litros; 282 // $scope.hojaRuta.litros = $scope.hojaRuta.litros + litros;
289 $scope.cargarCisterna(remito.id).then(function() { 283 $scope.cargarCisterna(remito.id).then(function() {
290 $scope.hojaRuta.remitosTabla.push(remito); 284 $scope.hojaRuta.remitosTabla.push(remito);
291 $scope.seleccionarRemitos(); 285 $scope.seleccionarRemitos();
292 }, function() { 286 }, function() {
293 $scope.seleccionarRemitos(); 287 $scope.seleccionarRemitos();
294 }); 288 });
295 }, function() { 289 }, function() {
296 // funcion ejecutada cuando se cancela el modal 290 // funcion ejecutada cuando se cancela el modal
297 } 291 }
298 ); 292 );
299 }; 293 };
300 294
301 $scope.seleccionarVehiculosPrecargados = function() { 295 $scope.seleccionarVehiculosPrecargados = function() {
302 if(!eligioFecha()) return; 296 if(!eligioFecha()) return;
303 modalVehiculos(true); 297 modalVehiculos(true);
304 }; 298 };
305 299
306 $scope.cargarCisterna = function(idRemito) { 300 $scope.cargarCisterna = function(idRemito) {
307 if(!eligioFecha() || !$scope.hojaRuta.vehiculo.id) return; 301 if(!eligioFecha() || !$scope.hojaRuta.vehiculo.id) return;
308 var modalInstance = $uibModal.open( 302 var modalInstance = $uibModal.open(
309 { 303 {
310 ariaLabelledBy: 'Busqueda de Vehiculo', 304 ariaLabelledBy: 'Busqueda de Vehiculo',
311 templateUrl: 'foca-detalle-vehiculo.html', 305 templateUrl: 'foca-detalle-vehiculo.html',
312 controller: 'focaDetalleVehiculo', 306 controller: 'focaDetalleVehiculo',
313 size: 'lg', 307 size: 'lg',
314 resolve: { 308 resolve: {
315 idVehiculo: function() {return $scope.hojaRuta.vehiculo.id;}, 309 idVehiculo: function() {return $scope.hojaRuta.vehiculo.id;},
316 idRemito: function() {return idRemito;}, 310 idRemito: function() {return idRemito;},
317 fechaReparto: function() {return $scope.hojaRuta.fechaReparto;} 311 fechaReparto: function() {return $scope.hojaRuta.fechaReparto;}
318 } 312 }
319 } 313 }
320 ); 314 );
321 return modalInstance.result; 315 return modalInstance.result;
322 }; 316 };
323 317
324 $scope.seleccionarFechaEntrega = function() { 318 $scope.seleccionarFechaEntrega = function() {
325 if (!$scope.hojaRuta.fechaReparto) { 319 if (!$scope.hojaRuta.fechaReparto) {
326 elegirFecha(); 320 elegirFecha();
327 return; 321 return;
328 } 322 }
329 focaModalService 323 focaModalService
330 .confirm('Si cambia la fecha se perderán los datos actuales') 324 .confirm('Si cambia la fecha se perderán los datos actuales')
331 .then(function() { 325 .then(function() {
332 elegirFecha(); 326 elegirFecha();
333 }, function() { 327 }, function() {
334 return ; 328 return ;
335 }); 329 });
336 }; 330 };
337 331
338 $scope.seleccionarDatosExtra = function() { 332 $scope.seleccionarDatosExtra = function() {
339 var datosHojaRuta = $scope.hojaRuta.datosExtra; 333 var datosHojaRuta = $scope.hojaRuta.datosExtra;
340 var modalInstance = $uibModal.open( 334 var modalInstance = $uibModal.open(
341 { 335 {
342 templateUrl: 'foca-modal-datos-hoja-ruta.html', 336 templateUrl: 'foca-modal-datos-hoja-ruta.html',
343 controller: 'focaModalDatosHojaRutaCtrl', 337 controller: 'focaModalDatosHojaRutaCtrl',
344 size: 'lg', 338 size: 'lg',
345 resolve: { 339 resolve: {
346 parametrosDatos: function() { 340 parametrosDatos: function() {
347 return { 341 return {
348 datosHojaRuta: datosHojaRuta 342 datosHojaRuta: datosHojaRuta
349 }; 343 };
350 } 344 }
351 } 345 }
352 } 346 }
353 ); 347 );
354 return modalInstance.result.then(function(datosExtra) { 348 return modalInstance.result.then(function(datosExtra) {
355 $scope.hojaRuta.datosExtra = datosExtra; 349 $scope.hojaRuta.datosExtra = datosExtra;
356 }, function() { 350 }, function() {
357 //se ejecuta cuando se cancela el modal 351 //se ejecuta cuando se cancela el modal
358 }); 352 });
359 }; 353 };
360 354
361 $scope.desasociarRemito = function(key, idRemito) { 355 $scope.desasociarRemito = function(key, idRemito) {
362 var idsRemito = [idRemito]; 356 var idsRemito = [idRemito];
363 focaModalService.confirm('¿Está seguro que desea desasociar este remito del' + 357 focaModalService.confirm('¿Está seguro que desea desasociar este remito del' +
364 ' vehículo?').then(function() { 358 ' vehículo?').then(function() {
365 focaCrearHojaRutaService.desasociarRemitos(idsRemito, 359 focaCrearHojaRutaService.desasociarRemitos(idsRemito,
366 $scope.hojaRuta.vehiculo.id, $scope.hojaRuta.remitosTabla.length <= 1).then( 360 $scope.hojaRuta.vehiculo.id, $scope.hojaRuta.remitosTabla.length <= 1).then(
367 function() { 361 function() {
368 $scope.hojaRuta.remitosTabla.splice(key, 1); 362 $scope.hojaRuta.remitosTabla.splice(key, 1);
369 focaModalService.alert('Remito desasociado con éxito'); 363 focaModalService.alert('Remito desasociado con éxito');
370 } 364 }
371 ); 365 );
372 }); 366 });
373 }; 367 };
374 368
375 function elegirFecha() { 369 function elegirFecha() {
376 focaModalService.modalFecha('Fecha de entrega').then(function(fecha) { 370 focaModalService.modalFecha('Fecha de entrega').then(function(fecha) {
377 $scope.$broadcast('addCabecera', { 371 $scope.$broadcast('addCabecera', {
378 label: 'Fecha de entrega:', 372 label: 'Fecha de entrega:',
379 valor: fecha.toLocaleDateString() 373 valor: fecha.toLocaleDateString()
380 }); 374 });
381 $scope.hojaRuta.fechaReparto = fecha; 375 $scope.hojaRuta.fechaReparto = fecha;
382 }); 376 });
383 } 377 }
384 378
385 function eligioPreConfirmado() { 379 function eligioPreConfirmado() {
386 if($scope.eligioPreConfirmado) { 380 if($scope.eligioPreConfirmado) {
387 focaModalService.alert('No puede elegir si eligió un vehiculo pre cargado'); 381 focaModalService.alert('No puede elegir si eligió un vehiculo pre cargado');
388 return true; 382 return true;
389 } 383 }
390 return false; 384 return false;
391 } 385 }
392 386
393 function eligioFecha() { 387 function eligioFecha() {
394 if(!$scope.hojaRuta.fechaReparto) { 388 if(!$scope.hojaRuta.fechaReparto) {
395 focaModalService.alert('Primero seleccione fecha de reparto'); 389 focaModalService.alert('Primero seleccione fecha de reparto');
396 return false; 390 return false;
397 } 391 }
398 return true; 392 return true;
399 } 393 }
400 394
401 function eligioVehiculo() { 395 function eligioVehiculo() {
402 if(!$scope.hojaRuta.vehiculo.id) { 396 if(!$scope.hojaRuta.vehiculo.id) {
403 focaModalService.alert('Primero seleccione vehiculo'); 397 focaModalService.alert('Primero seleccione vehiculo');
404 return false; 398 return false;
405 } 399 }
406 return true; 400 return true;
407 } 401 }
408 402
409 function modalVehiculos(preCargados) { 403 function modalVehiculos(preCargados) {
410 var parametrosModal = {}; 404 var parametrosModal = {};
411 if(preCargados) { 405 if(preCargados) {
412 parametrosModal.query = '/vehiculo/obtener/pre-confirmados/' + 406 parametrosModal.query = '/vehiculo/obtener/pre-confirmados/' +
413 new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10); 407 new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10);
414 parametrosModal.titulo = 'Búsqueda de vehiculos pre confirmados'; 408 parametrosModal.titulo = 'Búsqueda de vehiculos pre confirmados';
415 }else { 409 }else {
416 parametrosModal.query = '/vehiculo'; 410 parametrosModal.query = '/vehiculo';
417 parametrosModal.titulo = 'Búsqueda de vehículos'; 411 parametrosModal.titulo = 'Búsqueda de vehículos';
418 } 412 }
419 parametrosModal.columnas = [ 413 parametrosModal.columnas = [
420 { 414 {
421 propiedad: 'codigo', 415 propiedad: 'codigo',
422 nombre: 'Código' 416 nombre: 'Código'
423 }, 417 },
424 { 418 {
425 propiedad: 'tractor', 419 propiedad: 'tractor',
426 nombre: 'tractor' 420 nombre: 'tractor'
427 }, 421 },
428 { 422 {
429 propiedad: 'semi', 423 propiedad: 'semi',
430 nombre: 'Semi' 424 nombre: 'Semi'
431 } 425 }
432 ]; 426 ];
433 focaModalService.modal(parametrosModal).then(function(vehiculo) { 427 focaModalService.modal(parametrosModal).then(function(vehiculo) {
434 if(!preCargados && vehiculoEnUso(vehiculo)) return; 428 if(!preCargados && vehiculoEnUso(vehiculo)) return;
435 $scope.hojaRuta.vehiculo = vehiculo; 429 $scope.hojaRuta.vehiculo = vehiculo;
436 $scope.hojaRuta.transportista = vehiculo.transportista; 430 $scope.hojaRuta.transportista = vehiculo.transportista;
437 if(preCargados) { 431 if(preCargados) {
438 $scope.eligioPreConfirmado = true; 432 $scope.eligioPreConfirmado = true;
439 $scope.hojaRuta.vehiculo = vehiculo; 433 $scope.hojaRuta.vehiculo = vehiculo;
440 $scope.$broadcast('addCabecera', { 434 $scope.$broadcast('addCabecera', {
441 label: 'Transportista:', 435 label: 'Transportista:',
442 valor: $filter('rellenarDigitos')(vehiculo.transportista.COD, 5) + 436 valor: $filter('rellenarDigitos')(vehiculo.transportista.COD, 5) +
443 ' - ' + vehiculo.transportista.NOM 437 ' - ' + vehiculo.transportista.NOM
444 }); 438 });
445 focaCrearHojaRutaService 439 focaCrearHojaRutaService
446 .getRemitosByIdVehiculo(vehiculo.id, $scope.hojaRuta.fechaReparto) 440 .getRemitosByIdVehiculo(vehiculo.id, $scope.hojaRuta.fechaReparto)
447 .then(function(res) { 441 .then(function(res) {
448 $scope.hojaRuta.remitosTabla = res.data; 442 $scope.hojaRuta.remitosTabla = res.data;
449 }); 443 });
450 }else { 444 }else {
451 focaCrearHojaRutaService 445 focaCrearHojaRutaService
452 .getRemitosByIdVehiculo(vehiculo.id, $scope.hojaRuta.fechaReparto, true) 446 .getRemitosByIdVehiculo(vehiculo.id, $scope.hojaRuta.fechaReparto, true)
453 .then(function(res) { 447 .then(function(res) {
454 $scope.hojaRuta.remitosTabla = res.data; 448 $scope.hojaRuta.remitosTabla = res.data;
455 }); 449 });
456 } 450 }
457 $scope.$broadcast('addCabecera', { 451 $scope.$broadcast('addCabecera', {
458 label: 'Tractor:', 452 label: 'Tractor:',
459 valor: vehiculo.tractor 453 valor: vehiculo.tractor
460 }); 454 });
461 $scope.$broadcast('addCabecera', { 455 $scope.$broadcast('addCabecera', {
462 label: 'Semi:', 456 label: 'Semi:',
463 valor: vehiculo.semi 457 valor: vehiculo.semi
464 }); 458 });
465 $scope.$broadcast('addCabecera', { 459 $scope.$broadcast('addCabecera', {
466 label: 'Capacidad:', 460 label: 'Capacidad:',
467 valor: vehiculo.capacidad 461 valor: vehiculo.capacidad
468 }); 462 });
469 }); 463 });
470 } 464 }
471 465
472 function vehiculoEnUso(vehiculo) { 466 function vehiculoEnUso(vehiculo) {
473 var idUsuario = focaLoginSrv.getLoginData().vendedorCobrador; 467 var idUsuario = focaLoginSrv.getLoginData().vendedorCobrador;
474 for (var i = 0; i < vehiculo.cisternas.length; i++) { 468 for (var i = 0; i < vehiculo.cisternas.length; i++) {
475 for (var j = 0; j < vehiculo.cisternas[i].cisternasCarga.length; j++) { 469 for (var j = 0; j < vehiculo.cisternas[i].cisternasCarga.length; j++) {
476 var cisternaCarga = vehiculo.cisternas[i].cisternasCarga[j]; 470 var cisternaCarga = vehiculo.cisternas[i].cisternasCarga[j];
477 if (cisternaCarga.fechaReparto.substring(0, 10) === 471 if (cisternaCarga.fechaReparto.substring(0, 10) ===
478 new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10) && 472 new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10) &&
479 cisternaCarga.idUsuarioProceso && 473 cisternaCarga.idUsuarioProceso &&
480 cisternaCarga.idUsuarioProceso !== idUsuario) 474 cisternaCarga.idUsuarioProceso !== idUsuario)
481 { 475 {
482 focaModalService.alert('El vehículo está siendo usado por otro' + 476 focaModalService.alert('El vehículo está siendo usado por otro' +
483 ' usuario'); 477 ' usuario');
484 return true; 478 return true;
485 } 479 }
486 } 480 }
487 } 481 }
488 return false; 482 return false;
489 } 483 }
490 484
491 function salir() { 485 function salir() {
492 var confirmacion = false; 486 var confirmacion = false;
493 487
494 if (!angular.equals($scope.hojaRuta, $scope.inicial)) { 488 if (!angular.equals($scope.hojaRuta, $scope.inicial)) {
495 confirmacion = true; 489 confirmacion = true;
496 } 490 }
497 491
498 if (confirmacion) { 492 if (confirmacion) {
499 focaModalService.confirm( 493 focaModalService.confirm(
500 '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' 494 '¿Está seguro de que desea salir? Se perderán todos los datos cargados.'
501 ).then(function(data) { 495 ).then(function(data) {
502 if (data) { 496 if (data) {
503 $location.path('/'); 497 $location.path('/');
504 } 498 }
505 }); 499 });
506 } else { 500 } else {
507 $location.path('/'); 501 $location.path('/');
508 } 502 }
509 } 503 }
510 504
511 function setearHojaRuta(hojaRuta) { 505 function setearHojaRuta(hojaRuta) {
512 $scope.$broadcast('cleanCabecera'); 506 $scope.$broadcast('cleanCabecera');
513 507
514 var cabeceras = []; 508 var cabeceras = [];
515 if (hojaRuta.fechaReparto) { 509 if (hojaRuta.fechaReparto) {
516 cabeceras.push({ 510 cabeceras.push({
517 label: 'Fecha de entrega:', 511 label: 'Fecha de entrega:',
518 valor: $filter('date')(hojaRuta.fechaReparto, 'dd/MM/yyyy') 512 valor: $filter('date')(hojaRuta.fechaReparto, 'dd/MM/yyyy')
519 }); 513 });
520 } 514 }
521 if (hojaRuta.transportista.COD) { 515 if (hojaRuta.transportista.COD) {
522 cabeceras.push({ 516 cabeceras.push({
523 label: 'Transportista:', 517 label: 'Transportista:',
524 valor: $filter('rellenarDigitos')(hojaRuta.transportista.COD, 5) + ' - ' + 518 valor: $filter('rellenarDigitos')(hojaRuta.transportista.COD, 5) + ' - ' +
525 hojaRuta.transportista.NOM 519 hojaRuta.transportista.NOM
526 }); 520 });
527 } 521 }
528 if (hojaRuta.chofer.id) { 522 if (hojaRuta.chofer.id) {
529 cabeceras.push({ 523 cabeceras.push({
530 label: 'Chofer:', 524 label: 'Chofer:',
531 valor: $filter('rellenarDigitos')(hojaRuta.chofer.id, 3) + 525 valor: $filter('rellenarDigitos')(hojaRuta.chofer.id, 3) +
532 ' - ' + hojaRuta.chofer.nombre 526 ' - ' + hojaRuta.chofer.nombre
533 }); 527 });
534 } 528 }
535 if (hojaRuta.vehiculo.id) { 529 if (hojaRuta.vehiculo.id) {
536 cabeceras.push({ 530 cabeceras.push({
537 label: 'Tractor:', 531 label: 'Tractor:',
538 valor: hojaRuta.vehiculo.tractor 532 valor: hojaRuta.vehiculo.tractor
539 }); 533 });
540 cabeceras.push({ 534 cabeceras.push({
541 label: 'Semi:', 535 label: 'Semi:',
542 valor: hojaRuta.vehiculo.semi 536 valor: hojaRuta.vehiculo.semi
543 }); 537 });
544 cabeceras.push({ 538 cabeceras.push({
545 label: 'Capacidad:', 539 label: 'Capacidad:',
546 valor: hojaRuta.vehiculo.capacidad 540 valor: hojaRuta.vehiculo.capacidad
547 }); 541 });
548 } 542 }
549 if (hojaRuta.tarifario.costo) { 543 if (hojaRuta.tarifario.costo) {
550 cabeceras.push({ 544 cabeceras.push({
551 label: 'Tarifario:', 545 label: 'Tarifario:',
552 valor: hojaRuta.tarifario.costo 546 valor: hojaRuta.tarifario.costo
553 }); 547 });
554 } 548 }
555 549
556 addArrayCabecera(cabeceras); 550 addArrayCabecera(cabeceras);
557 $scope.hojaRuta = hojaRuta; 551 $scope.hojaRuta = hojaRuta;
558 } 552 }
559 553
560 function getLSHojaRuta() { 554 function getLSHojaRuta() {
561 var hojaRuta = JSON.parse($localStorage.hojaRuta || null); 555 var hojaRuta = JSON.parse($localStorage.hojaRuta || null);
562 if (hojaRuta) { 556 if (hojaRuta) {
563 setearHojaRuta(hojaRuta); 557 setearHojaRuta(hojaRuta);
564 delete $localStorage.hojaRuta; 558 delete $localStorage.hojaRuta;
565 } 559 }
566 } 560 }
567 function addArrayCabecera(array) { 561 function addArrayCabecera(array) {
568 for(var i = 0; i < array.length; i++) { 562 for(var i = 0; i < array.length; i++) {
569 $scope.$broadcast('addCabecera', { 563 $scope.$broadcast('addCabecera', {
570 label: array[i].label, 564 label: array[i].label,
571 valor: array[i].valor 565 valor: array[i].valor
572 }); 566 });
573 } 567 }
574 } 568 }
575 } 569 }
576 ]); 570 ]);