Commit a738ae3d0efdf215b082de749f4b426439aa2a2d

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

Merge branch 'develop' of http://git.focasoftware.com/npm/foca-hoja-ruta

src/js/controller.js
1 angular.module('focaHojaRuta') 1 angular.module('focaHojaRuta')
2 .controller('listaHojaRutaCtrl', 2 .controller('listaHojaRutaCtrl',
3 [ 3 [
4 '$scope', 4 '$scope',
5 '$location', 5 '$location',
6 '$filter', 6 '$filter',
7 '$uibModal', 7 '$uibModal',
8 'hojaRutaService', 8 'hojaRutaService',
9 'focaLoginService', 9 'focaLoginService',
10 'focaModalService', 10 'focaModalService',
11 '$rootScope', 11 '$rootScope',
12 '$localStorage', 12 '$localStorage',
13 function ( 13 function (
14 $scope, 14 $scope,
15 $location, 15 $location,
16 $filter, 16 $filter,
17 $uibModal, 17 $uibModal,
18 hojaRutaService, 18 hojaRutaService,
19 focaLoginService, 19 focaLoginService,
20 focaModalService, 20 focaModalService,
21 $rootScope, 21 $rootScope,
22 $localStorage 22 $localStorage
23 ) { 23 ) {
24 24
25 var loginData = focaLoginService.getLoginData(); 25 var loginData = focaLoginService.getLoginData();
26 26
27 config(); 27 config();
28 28
29 function config() { 29 function config() {
30 30
31 $scope.cabecera = []; 31 $scope.cabecera = [];
32 $scope.showCabecera = true; 32 $scope.showCabecera = true;
33 $scope.now = new Date(); 33 $scope.now = new Date();
34 $scope.puntoVenta = '0000'; 34 $scope.puntoVenta = '0000';
35 $scope.comprobante = '00000000'; 35 $scope.comprobante = '00000000';
36 } 36 }
37 37
38 hojaRutaService.getHojaRuta(loginData.chofer).then(function (res) { 38 hojaRutaService.getHojaRuta(loginData.chofer).then(function (res) {
39 39
40 if (res.data) { 40 if (res.data) {
41 var hojaRuta = res.data; 41 var hojaRuta = res.data;
42 $scope.hojaRuta = hojaRuta; 42 $scope.hojaRuta = hojaRuta;
43 $scope.hojaRuta.abierta = true;
43 $scope.puntoVenta = hojaRuta.sucursal; 44 $scope.puntoVenta = hojaRuta.sucursal;
44 $scope.comprobante = hojaRuta.numeroHojaRuta; 45 $scope.comprobante = hojaRuta.numeroHojaRuta;
45 addCabecera('Transportista:', hojaRuta.transportista.NOM); 46 addCabecera('Transportista:', hojaRuta.transportista.NOM);
46 addCabecera('Chofer:', hojaRuta.chofer.nombre); 47 addCabecera('Chofer:', hojaRuta.chofer.nombre);
47 addCabecera('Vehículo:', hojaRuta.vehiculo.tractor); 48 addCabecera('Vehículo:', hojaRuta.vehiculo.tractor);
48 } else { 49 } else {
49 focaModalService.alert('Sin hoja de ruta asignada'); 50 focaModalService.alert('Sin hoja de ruta asignada');
50 $location.path('/'); 51 $location.path('/');
51 } 52 }
52 53
53 watch(); 54 watch();
54 55
55 if (!$scope.esatadoRed) { 56 if (!$scope.esatadoRed) {
56 getLSHojaRuta(); 57 getLSHojaRuta();
57 } 58 }
58 59
59 }); 60 });
60 61
61 function watch() { 62 function watch() {
62 63
63 $scope.$watch('hojaRuta', function (nuevoValor) { 64 $scope.$watch('hojaRuta', function (nuevoValor) {
64 $localStorage.hojaRuta = JSON.stringify(nuevoValor); 65 $localStorage.hojaRuta = JSON.stringify(nuevoValor);
65 }, true); 66 }, true);
66 } 67 }
67 68
68 $scope.verDetalle = function (remito) { 69 $scope.verDetalle = function (remito) {
69 var modalInstance = $uibModal.open( 70 var modalInstance = $uibModal.open(
70 { 71 {
71 ariaLabelledBy: 'Detalle hoja ruta', 72 ariaLabelledBy: 'Detalle hoja ruta',
72 templateUrl: 'modal-detalle-hoja-ruta.html', 73 templateUrl: 'modal-detalle-hoja-ruta.html',
73 controller: 'focaModalDetalleHojaRutaController', 74 controller: 'focaModalDetalleHojaRutaController',
74 resolve: { 75 resolve: {
75 parametros: { 76 parametros: {
76 remito: remito, 77 remito: remito,
77 } 78 }
78 }, 79 },
79 size: 'lg' 80 size: 'lg'
80 } 81 }
81 ); 82 );
82 modalInstance.result.then(function () { 83 modalInstance.result.then(function () {
83 //funcion se ejecuta cuando se carga pantalla 84 //funcion se ejecuta cuando se carga pantalla
84 }); 85 });
85 }; 86 };
86 87
87 function addCabecera(label, valor) { 88 function addCabecera(label, valor) {
88 var propiedad = $filter('filter')($scope.cabecera, { label: label }, true); 89 var propiedad = $filter('filter')($scope.cabecera, { label: label }, true);
89 if (propiedad.length === 1) { 90 if (propiedad.length === 1) {
90 propiedad[0].valor = valor; 91 propiedad[0].valor = valor;
91 } else { 92 } else {
92 $scope.cabecera.push({ label: label, valor: valor }); 93 $scope.cabecera.push({ label: label, valor: valor });
93 } 94 }
94 } 95 }
95 96
96 $scope.rellenar = function (relleno, longitud) { 97 $scope.rellenar = function (relleno, longitud) {
97 relleno = '' + relleno; 98 relleno = '' + relleno;
98 while (relleno.length < longitud) { 99 while (relleno.length < longitud) {
99 relleno = '0' + relleno; 100 relleno = '0' + relleno;
100 } 101 }
101 102
102 return relleno; 103 return relleno;
103 }; 104 };
104 105
105 $scope.salir = function () { 106 $scope.salir = function () {
106 $location.path('/'); 107 $location.path('/');
107 }; 108 };
108 109
109 $scope.terminarHojaRuta = function () { 110 $scope.terminarHojaRuta = function () {
110 focaModalService 111 focaModalService
111 .confirm('¿Desea terminar la hoja de ruta? No podra realizar ninguna ' + 112 .confirm('¿Desea terminar la hoja de ruta? No podra realizar ninguna ' +
112 'otra descarga ni modificación') 113 'otra descarga ni modificación')
113 .then(function () { $scope.datosExtraCierre(terminar); }); 114 .then(function () { $scope.datosExtraCierre(terminar); });
114 function terminar(datosExtraCierre) { 115 function terminar(datosExtraCierre) {
115 $scope.hojaRuta = angular.extend({}, $scope.hojaRuta, datosExtraCierre); 116 $scope.hojaRuta = angular.extend({}, $scope.hojaRuta, datosExtraCierre);
116 //limpio objeto para guardar 117 //limpio objeto para guardar
117 delete $scope.hojaRuta.chofer; 118 delete $scope.hojaRuta.chofer;
118 delete $scope.hojaRuta.remitos; 119 delete $scope.hojaRuta.remitos;
119 delete $scope.hojaRuta.transportista; 120 delete $scope.hojaRuta.transportista;
120 delete $scope.hojaRuta.vehiculo; 121 delete $scope.hojaRuta.vehiculo;
121 122
122 $scope.hojaRuta.fechaCreacion = 123 $scope.hojaRuta.fechaCreacion =
123 $scope.hojaRuta.fechaCreacion.slice(0, 19).replace('T', ' '); 124 $scope.hojaRuta.fechaCreacion.slice(0, 19).replace('T', ' ');
124 $scope.hojaRuta.fechaReparto = 125 $scope.hojaRuta.fechaReparto =
125 $scope.hojaRuta.fechaReparto.slice(0, 19).replace('T', ' '); 126 $scope.hojaRuta.fechaReparto.slice(0, 19).replace('T', ' ');
126 $scope.hojaRuta.estado = 2; 127 $scope.hojaRuta.estado = 2;
127 hojaRutaService.terminarHojaRuta($scope.hojaRuta).then( 128 hojaRutaService.terminarHojaRuta($scope.hojaRuta).then(
128 function () { 129 function () {
129 focaModalService.alert( 130 focaModalService.alert(
130 'Hoja de ruta ' + 131 'Hoja de ruta ' +
131 $filter('comprobante')([$scope.puntoVenta, 132 $filter('comprobante')([$scope.puntoVenta,
132 $scope.comprobante]) + ' cerrada con éxito'); 133 $scope.comprobante]) + ' cerrada con éxito');
133 $location.path('/'); 134 $location.path('/');
134 } 135 }
135 ); 136 );
136 } 137 }
137 }; 138 };
138 139
139 $scope.datosExtraCierre = function (terminar) { 140 $scope.datosExtraCierre = function (terminar) {
140 var modalInstance = $uibModal.open( 141 var modalInstance = $uibModal.open(
141 { 142 {
142 templateUrl: 'focaDatosExtra.html', 143 templateUrl: 'focaDatosExtra.html',
143 controller: 'focaModalDatosExtraCierre', 144 controller: 'focaModalDatosExtraCierre',
144 } 145 }
145 ); 146 );
146 modalInstance.result.then(terminar); 147 modalInstance.result.then(terminar);
147 }; 148 };
148 149
149 $scope.modalDescargas = function () { 150 $scope.modalDescargas = function () {
150 delete $scope.hojaRuta.remitos[0].cliente; 151 delete $scope.hojaRuta.remitos[0].cliente;
151 var modalInstance = $uibModal.open( 152 var modalInstance = $uibModal.open(
152 { 153 {
153 templateUrl: 'foca-modal-descarga.html', 154 templateUrl: 'foca-modal-descarga.html',
154 controller: 'focaModalDescargaCtrl', 155 controller: 'focaModalDescargaCtrl',
155 resolve: { 156 resolve: {
156 remito: function () { return $scope.hojaRuta.remitos[0]; } 157 remito: function () { return $scope.hojaRuta.remitos[0]; }
157 }, 158 },
158 } 159 }
159 ); 160 );
160 161
161 modalInstance.result.then(function (data) { 162 modalInstance.result.then(function (data) {
162 163
163 console.log(data); 164 console.log(data);
164 }); 165 });
165 }; 166 };
166 167
167 $rootScope.$on('estadoRed', function (event, value) { 168 $rootScope.$on('estadoRed', function (event, value) {
168 $scope.esatadoRed = value; 169 $scope.esatadoRed = value;
169 }); 170 });
170 171
171 function getLSHojaRuta() { 172 function getLSHojaRuta() {
172 173
173 var hojaRuta = JSON.parse($localStorage.hojaRuta || null); 174 var hojaRuta = JSON.parse($localStorage.hojaRuta || null);
174 175
175 if (hojaRuta) { 176 if (hojaRuta) {
176 $scope.hojaRuta = hojaRuta; 177 $scope.hojaRuta = hojaRuta;
177 delete $localStorage.hojaRuta; 178 delete $localStorage.hojaRuta;
178 } 179 }
179 } 180 }
180 181
181 } 182 }
182 ]); 183 ]);
183 184