angular.module('focaHojaRuta')
.controller('listaHojaRutaCtrl',
['$scope', '$filter', '$uibModal', 'hojaRutaService', 'focaSeguimientoService',
function($scope, $filter, $uibModal, hojaRutaService, focaSeguimientoService) {
hojaRutaService.getHojasRuta().then(function(res) {
var hojaRuta = res.data.pop();
$scope.hojasRuta = hojaRuta;
$scope.puntoVenta = hojaRuta.sucursal;
$scope.comprobante = hojaRuta.numeroHojaRuta;
addCabecera('Transportista:', hojaRuta.transportista[0].nombre);
addCabecera('Chofer:', hojaRuta.chofer[0].nombre);
addCabecera('VehĂculo:', hojaRuta.vehiculo[0].tractor);
});
$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
};
}
},
size: 'lg'
}
);
modalInstance.result.then(function(parametros) {
// Al guardar los datos del producto entregado logueamos la
// actividad para su seguimiento.
focaSeguimientoService.guardarPosicion(
$scope.hojasRuta.remito[0].id,
'Entrega de producto',
'Hoja de ruta: ' + $filter('comprobante')([
$scope.hojasRuta.sucursal,
$scope.hojasRuta.numeroHojaRuta
]) + '
' +
'Remito: ' + parametros.remito + '
' +
'Producto: ' + parametros.producto + '
' +
'Cantidad entregada: ' + parametros.litrosDescargados
);
});
};
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;
};
}
]);