controller.js
5.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
angular.module('focaHojaRuta')
.controller('listaHojaRutaCtrl',
[
'$scope',
'$location',
'$filter',
'$uibModal',
'hojaRutaService',
'focaSeguimientoService',
'focaLoginService',
'focaModalService',
function(
$scope,
$location,
$filter,
$uibModal,
hojaRutaService,
focaSeguimientoService,
focaLoginService,
focaModalService
) {
var loginData = focaLoginService.getLoginData();
hojaRutaService.getHojasRuta(loginData.chofer).then(function(res) {
if (res.data) {
var hojaRuta = res.data;
$scope.hojasRuta = hojaRuta;
$scope.puntoVenta = hojaRuta.sucursal;
$scope.comprobante = hojaRuta.numeroHojaRuta;
addCabecera('Transportista:', hojaRuta.transportista.NOM);
addCabecera('Chofer:', hojaRuta.chofer.nombre);
addCabecera('Vehículo:', hojaRuta.vehiculo.tractor);
} else {
focaModalService.alert('Sin hoja de ruta asignada');
$location.path('/');
}
});
$scope.cabecera = [];
$scope.showCabecera = true;
$scope.now = new Date();
$scope.puntoVenta = '0000';
$scope.comprobante = '00000000';
$scope.verDetalle = function(remito) {
var modalInstance = $uibModal.open(
{
ariaLabelledBy: 'Detalle hoja ruta',
templateUrl: 'modal-detalle-hoja-ruta.html',
controller: 'focaModalDetalleHojaRutaController',
resolve: {
parametrosDetalleHojaRuta: function(){
return {
remito: $filter('comprobante')([
remito.sucursal, remito.numeroRemito
]),
cliente: remito.nombreCliente,
domicilio: remito.domicilioStamp,
producto: 'Super',
contacto: remito.nombreCliente,
telefonoContacto: '-',
litros: remito.carga,
idRemito: remito.id
};
}
},
size: 'lg'
}
);
modalInstance.result.then(function(parametros) {
// Al guardar los datos del producto entregado logueamos la
// actividad para su seguimiento.
hojaRutaService.postMovimientoHojaRuta({
numeroRecibo: parametros.numeroRecibo,
idRemito: parametros.idRemito,
litrosDescargados: parametros.litrosDescargados
}).then(function(movimiento) {
focaSeguimientoService.guardarPosicion(
'Entrega de producto',
movimiento.data.id,
parametros.observaciones
);
});
});
};
function addCabecera(label, valor) {
var propiedad = $filter('filter')($scope.cabecera, {label: label}, true);
if(propiedad.length === 1) {
propiedad[0].valor = valor;
} else {
$scope.cabecera.push({label: label, valor: valor});
}
}
//TODO Descomentar cuando se use
// function removeCabecera(label) {
// var propiedad = $filter('filter')($scope.cabecera, {label: label}, true);
// if(propiedad.length === 1) {
// $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1);
// }
// }
$scope.rellenar = function(relleno, longitud) {
relleno = '' + relleno;
while (relleno.length < longitud) {
relleno = '0' + relleno;
}
return relleno;
};
$scope.salir = function() {
$location.path('/');
};
$scope.terminarHojaRuta = function() {
hojaRutaService.terminarHojaRuta($scope.hojasRuta.id).then(
function() {
focaModalService.alert(
'Hoja de ruta ' +
$filter('comprobante')([$scope.puntoVenta, $scope.comprobante]) +
' cerrada con éxito'
);
$location.path('/');
}
);
};
}
]);