Commit 541e533ed1d67ebcf09ce98687cc15eacd8ab3fb

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

Merge branch 'master' into 'master'

Master

See merge request !4
src/js/controller.js
1 angular.module('focaHojaRuta') 1 angular.module('focaHojaRuta')
2 .controller('listaHojaRutaCtrl', 2 .controller('listaHojaRutaCtrl',
3 ['$scope', '$location', '$filter', '$uibModal', 'hojaRutaService', 'focaSeguimientoService', 3 [
4 function($scope, $location, $filter, $uibModal, hojaRutaService, focaSeguimientoService) { 4 '$scope',
5 hojaRutaService.getHojasRuta().then(function(res) { 5 '$location',
6 var hojaRuta = res.data.pop(); 6 '$filter',
7 $scope.hojasRuta = hojaRuta; 7 '$uibModal',
8 $scope.puntoVenta = hojaRuta.sucursal; 8 'hojaRutaService',
9 $scope.comprobante = hojaRuta.numeroHojaRuta; 9 'focaSeguimientoService',
10 addCabecera('Transportista:', hojaRuta.transportista.NOM); 10 'focaLoginService',
11 addCabecera('Chofer:', hojaRuta.chofer.nombre); 11 'focaModalService',
12 addCabecera('Vehículo:', hojaRuta.vehiculo.tractor); 12 function(
13 }); 13 $scope,
14 $scope.cabecera = []; 14 $location,
15 $scope.showCabecera = true; 15 $filter,
16 $uibModal,
17 hojaRutaService,
18 focaSeguimientoService,
19 focaLoginService,
20 focaModalService
21 ) {
22 var loginData = focaLoginService.getLoginData();
16 23
17 $scope.now = new Date(); 24 hojaRutaService.getHojasRuta(loginData.chofer).then(function(res) {
18 $scope.puntoVenta = '0000'; 25 if (res.data) {
19 $scope.comprobante = '00000000'; 26 var hojaRuta = res.data;
20 $scope.verDetalle = function(remito) { 27 $scope.hojasRuta = hojaRuta;
21 var modalInstance = $uibModal.open( 28 $scope.puntoVenta = hojaRuta.sucursal;
22 { 29 $scope.comprobante = hojaRuta.numeroHojaRuta;
23 ariaLabelledBy: 'Detalle hoja ruta', 30 addCabecera('Transportista:', hojaRuta.transportista.NOM);
24 templateUrl: 'modal-detalle-hoja-ruta.html', 31 addCabecera('Chofer:', hojaRuta.chofer.nombre);
25 controller: 'focaModalDetalleHojaRutaController', 32 addCabecera('Vehículo:', hojaRuta.vehiculo.tractor);
26 resolve: { 33 } else {
27 parametrosDetalleHojaRuta: function(){ 34 focaModalService.alert('Sin hoja de ruta asignada');
28 return { 35 $location.path('/');
29 remito: $filter('comprobante')([
30 remito.sucursal, remito.numeroRemito
31 ]),
32 cliente: remito.nombreCliente,
33 domicilio: remito.domicilioStamp,
34 producto: 'Super',
35 contacto: remito.nombreCliente,
36 telefonoContacto: '-',
37 litros: remito.carga,
38 idRemito: remito.id
39 };
40 }
41 },
42 size: 'lg'
43 } 36 }
44 );
45 modalInstance.result.then(function(parametros) {
46 // Al guardar los datos del producto entregado logueamos la
47 // actividad para su seguimiento.
48 hojaRutaService.postMovimientoHojaRuta({
49 numeroRecibo: parametros.numeroRecibo,
50 idRemito: parametros.idRemito,
51 litrosDescargados: parametros.litrosDescargados
52 }).then(function(movimiento) {
53 focaSeguimientoService.guardarPosicion(
54 'Entrega de producto',
55 movimiento.data.id,
56 parametros.observaciones
57 );
58 });
59
60 }); 37 });
61 };
62 38
63 function addCabecera(label, valor) { 39 $scope.cabecera = [];
64 var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); 40 $scope.showCabecera = true;
65 if(propiedad.length === 1) { 41
66 propiedad[0].valor = valor; 42 $scope.now = new Date();
67 } else { 43 $scope.puntoVenta = '0000';
68 $scope.cabecera.push({label: label, valor: valor}); 44 $scope.comprobante = '00000000';
45 $scope.verDetalle = function(remito) {
46 var modalInstance = $uibModal.open(
47 {
48 ariaLabelledBy: 'Detalle hoja ruta',
49 templateUrl: 'modal-detalle-hoja-ruta.html',
50 controller: 'focaModalDetalleHojaRutaController',
51 resolve: {
52 parametrosDetalleHojaRuta: function(){
53 return {
54 remito: $filter('comprobante')([
55 remito.sucursal, remito.numeroRemito
56 ]),
57 cliente: remito.nombreCliente,
58 domicilio: remito.domicilioStamp,
59 producto: 'Super',
60 contacto: remito.nombreCliente,
61 telefonoContacto: '-',
62 litros: remito.carga,
63 idRemito: remito.id
64 };
65 }
66 },
67 size: 'lg'
68 }
69 );
70 modalInstance.result.then(function(parametros) {
71 // Al guardar los datos del producto entregado logueamos la
72 // actividad para su seguimiento.
73 hojaRutaService.postMovimientoHojaRuta({
74 numeroRecibo: parametros.numeroRecibo,
75 idRemito: parametros.idRemito,
76 litrosDescargados: parametros.litrosDescargados
77 }).then(function(movimiento) {
78 focaSeguimientoService.guardarPosicion(
79 'Entrega de producto',
80 movimiento.data.id,
81 parametros.observaciones
82 );
83 });
84
85 });
86 };
87
1 angular.module('focaHojaRuta') 1 angular.module('focaHojaRuta')
2 .service('hojaRutaService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) { 2 .service('hojaRutaService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) {
3 var route = API_ENDPOINT.URL; 3 var route = API_ENDPOINT.URL;
4 return { 4 return {
5 getHojasRuta: function() { 5 getHojasRuta: function(chofer) {
6 return $http.get(route + '/hoja-ruta'); 6 return $http.get(route + '/hoja-ruta/chofer/' + chofer);
7 }, 7 },
8 postMovimientoHojaRuta: function(datos) { 8 postMovimientoHojaRuta: function(datos) {
9 return $http.post(route + '/hoja-ruta/movimiento', datos); 9 return $http.post(route + '/hoja-ruta/movimiento', datos);
10 } 10 }
11 }; 11 };
12 }]); 12 }]);
13 13