Commit c51f1f4e18eae7f799636451f908781d6d8a793b

Authored by Eric Fernandez
Exists in master

Merge branch 'master' into 'develop'

Master

See merge request !60
src/js/controller.js
1 angular.module('focaCrearCobranza') .controller('cobranzaController', 1 angular.module('focaCrearCobranza') .controller('cobranzaController',
2 [ 2 [
3 '$scope', '$timeout', '$uibModal', '$location', 3 '$scope', '$timeout', '$uibModal', '$location',
4 'focaCrearCobranzaService', 'focaModalService', '$filter', 'focaSeguimientoService', 4 'focaCrearCobranzaService', 'focaModalService', '$filter', 'focaSeguimientoService',
5 'focaBotoneraLateralService', 'APP', 'focaLoginService', '$localStorage', 5 'focaBotoneraLateralService', 'APP', 'focaLoginService', '$localStorage',
6 function($scope, $timeout, $uibModal, $location, focaCrearCobranzaService, 6 function($scope, $timeout, $uibModal, $location, focaCrearCobranzaService,
7 focaModalService, $filter, focaSeguimientoService, focaBotoneraLateralService, 7 focaModalService, $filter, focaSeguimientoService, focaBotoneraLateralService,
8 APP, loginService, $localStorage) 8 APP, loginService, $localStorage)
9 { 9 {
10 config(); 10 config();
11 11
12 function config() { 12 function config() {
13 $scope.datepickerAbierto = false; 13 $scope.datepickerAbierto = false;
14 $scope.cobroDeuda = true; 14 $scope.cobroDeuda = true;
15 $scope.show = false; 15 $scope.show = false;
16 $scope.cargando = true; 16 $scope.cargando = true;
17 $scope.puntoVenta = $filter('rellenarDigitos')(0, 4); 17 $scope.puntoVenta = $filter('rellenarDigitos')(0, 4);
18 $scope.comprobante = $filter('rellenarDigitos')(0, 8); 18 $scope.comprobante = $filter('rellenarDigitos')(0, 8);
19 19
20 $scope.dateOptions = { 20 $scope.dateOptions = {
21 maxDate: new Date(), 21 maxDate: new Date(),
22 minDate: new Date(2010, 0, 1) 22 minDate: new Date(2010, 0, 1)
23 }; 23 };
24 24
25 var monedaPorDefecto; 25 var monedaPorDefecto;
26 //Trabajo con la cotización más reciente, por eso uso siempre la primera '[0]' 26 //Trabajo con la cotización más reciente, por eso uso siempre la primera '[0]'
27 focaCrearCobranzaService.getCotizacionByIdMoneda(1).then(function(res) { 27 focaCrearCobranzaService.getCotizacionByIdMoneda(1).then(function(res) {
28 monedaPorDefecto = res.data[0]; 28 monedaPorDefecto = res.data[0];
29 29
30 $scope.cobranza.cotizacion = Object.assign( 30 $scope.cobranza.cotizacion = Object.assign(
31 {moneda: monedaPorDefecto}, monedaPorDefecto.cotizaciones[0] 31 {moneda: monedaPorDefecto}, monedaPorDefecto.cotizaciones[0]
32 ); 32 );
33 $scope.inicial.cotizacion = $scope.cobranza.cotizacion; 33 $scope.inicial.cotizacion = $scope.cobranza.cotizacion;
34 34
35 }); 35 });
36 36
37 $timeout(function() { 37 $timeout(function() {
38 focaBotoneraLateralService.showSalir(false); 38 focaBotoneraLateralService.showSalir(false);
39 focaBotoneraLateralService.showPausar(true); 39 focaBotoneraLateralService.showPausar(true);
40 focaBotoneraLateralService.showGuardar(true, $scope.crearCobranza); 40 focaBotoneraLateralService.showGuardar(true, $scope.crearCobranza);
41 focaBotoneraLateralService.addCustomButton('Salir', salir); 41 focaBotoneraLateralService.addCustomButton('Salir', salir);
42 }); 42 });
43 43
44 if (APP === 'cobranza') { 44 if (APP === 'cobranza') {
45 $scope.idCobrador = loginService.getLoginData().vendedorCobrador; 45 $scope.idCobrador = loginService.getLoginData().vendedorCobrador;
46 $scope.botonera = focaCrearCobranzaService.getBotonera($scope.idCobrador); 46 $scope.botonera = focaCrearCobranzaService.getBotonera($scope.idCobrador);
47 } else { 47 } else {
48 $scope.botonera = focaCrearCobranzaService.getBotonera(); 48 $scope.botonera = focaCrearCobranzaService.getBotonera();
49 } 49 }
50 50
51 init(); 51 init();
52 $timeout(function() {getLSCobranza();}); 52 $timeout(function() {getLSCobranza();});
53 } 53 }
54 54
55 function init() { 55 function init() {
56 $scope.$broadcast('cleanCabecera'); 56 $scope.$broadcast('cleanCabecera');
57 $scope.cobranza = { 57 $scope.cobranza = {
58 fecha: new Date(), 58 fecha: new Date(),
59 cotizacion: {}, 59 cotizacion: {},
60 facturas: [], 60 facturas: [],
61 cobros: [], 61 cobros: [],
62 cliente: {}, 62 cliente: {},
63 cobrador: {} 63 cobrador: {}
64 }; 64 };
65 if (APP === 'cobranza') { 65 if (APP === 'cobranza') {
66 focaCrearCobranzaService.getCobradorById($scope.idCobrador).then( 66 focaCrearCobranzaService.getCobradorById($scope.idCobrador).then(
67 function(res) { 67 function(res) {
68 var cobrador = res.data; 68 var cobrador = res.data;
69 69
70 $scope.$broadcast('addCabecera', { 70 $scope.$broadcast('addCabecera', {
71 label: 'Cobrador:', 71 label: 'Cobrador:',
72 valor: $filter('rellenarDigitos')(cobrador.NUM, 3) + ' - ' + 72 valor: $filter('rellenarDigitos')(cobrador.NUM, 3) + ' - ' +
73 cobrador.NOM 73 cobrador.NOM
74 }); 74 });
75 75
76 $scope.cobranza.cobrador = cobrador; 76 $scope.cobranza.cobrador = cobrador;
77 $scope.inicial.cobranza.cobrador = $scope.cobranza.cobrador; 77 $scope.inicial.cobranza.cobrador = $scope.cobranza.cobrador;
78 } 78 }
79 ); 79 );
80 } 80 }
81 81
82 $scope.inicial = angular.copy($scope.cobranza); 82 $scope.inicial = angular.copy($scope.cobranza);
83 83
84 focaCrearCobranzaService.getNumeroRecibo().then( 84 focaCrearCobranzaService.getNumeroRecibo().then(
85 function(res) { 85 function(res) {
86 $scope.puntoVenta = $filter('rellenarDigitos')( 86 $scope.puntoVenta = $filter('rellenarDigitos')(
87 res.data.sucursal, 4 87 res.data.sucursal, 4
88 ); 88 );
89 89
90 $scope.comprobante = $filter('rellenarDigitos')( 90 $scope.comprobante = $filter('rellenarDigitos')(
91 res.data.numeroRecibo, 8 91 res.data.numeroRecibo, 8
92 ); 92 );
93 }, 93 },
94 function(err) { 94 function(err) {
95 focaModalService.alert( 95 focaModalService.alert(
96 'La terminal no esta configurada correctamente' 96 'La terminal no esta configurada correctamente'
97 ); 97 );
98 console.info(err); 98 console.info(err);
99 } 99 }
100 ); 100 );
101 } 101 }
102 102
103 $scope.$watch('cobranza', function(newValue) { 103 $scope.$watch('cobranza', function(newValue) {
104 focaBotoneraLateralService.setPausarData({ 104 focaBotoneraLateralService.setPausarData({
105 label: 'cobranza', 105 label: 'cobranza',
106 val: newValue 106 val: newValue
107 }); 107 });
108 }, true); 108 }, true);
109 109
110 $scope.crearCobranza = function() { 110 $scope.crearCobranza = function() {
111 if (!$scope.cobranza.cliente.COD) { 111 if (!$scope.cobranza.cliente.COD) {
112 focaModalService.alert('Ingrese Cliente'); 112 focaModalService.alert('Ingrese Cliente');
113 return; 113 return;
114 } 114 }
115 if (!$scope.cobranza.cobrador.NUM) { 115 if (!$scope.cobranza.cobrador.NUM) {
116 focaModalService.alert('Ingrese Cobrador'); 116 focaModalService.alert('Ingrese Cobrador');
117 return; 117 return;
118 } 118 }
119 if ($scope.cobranza.facturas.length < 1) { 119 if ($scope.cobranza.facturas.length < 1) {
120 focaModalService.alert('Ingrese al menos una factura'); 120 focaModalService.alert('Ingrese al menos una factura');
121 return; 121 return;
122 } 122 }
123 if ($scope.getTotalCobrado() + $scope.getTotalDeuda() !== 0) { 123 if ($scope.getTotalCobrado() + $scope.getTotalDeuda() !== 0) {
124 focaModalService.alert('La diferencia debe ser ' + 124 focaModalService.alert('La diferencia debe ser ' +
125 $scope.cobranza.cotizacion.moneda.SIMBOLO + '0,00'); 125 $scope.cobranza.cotizacion.moneda.SIMBOLO + '0,00');
126 return; 126 return;
127 } 127 }
128 128
129 var cobranza = {}; 129 var cobranza = {};
130 var cheques = []; 130 var cheques = [];
131 var cuerpos = []; 131 var cuerpos = [];
132 var imgs = []; 132 var imgs = [];
133 var observacion; 133 var observacion;
134 //TODO: habilitar edición 134 //TODO: habilitar edición
135 $scope.editando = false; 135 $scope.editando = false;
136 focaBotoneraLateralService.startGuardar(); 136 focaBotoneraLateralService.startGuardar();
137 $scope.saveLoading = true; 137 $scope.saveLoading = true;
138 for(var i = 0; i < $scope.cobranza.facturas.length; i++) { 138 for(var i = 0; i < $scope.cobranza.facturas.length; i++) {
139 var cuerpoFactura = { 139 var cuerpoFactura = {
140 CYV: 'V', 140 CYV: 'V',
141 TIP: 'C', 141 TIP: 'C',
142 TCO: 'RC', 142 TCO: 'RC',
143 PVE: $scope.puntoVenta, 143 PVE: $scope.puntoVenta,
144 NCO: $scope.comprobante, 144 NCO: $scope.comprobante,
145 LOP: 'L', 145 LOP: 'L',
146 TIL: $scope.cobranza.facturas[i].TCO, 146 TIL: $scope.cobranza.facturas[i].TCO,
147 COM: $scope.cobranza.facturas[i].numeroFactura + '-' + 147 COM: $scope.cobranza.facturas[i].numeroFactura + '-' +
148 $filter('rellenarDigitos')($scope.cobranza.facturas[i].NCU,2), 148 $filter('rellenarDigitos')($scope.cobranza.facturas[i].NCU,2),
149 FEC: new Date($scope.cobranza.fecha) 149 FEC: new Date($scope.cobranza.fecha)
150 .toISOString().slice(0, 19).replace('T', ' '), 150 .toISOString().slice(0, 19).replace('T', ' '),
151 IMP: Math.abs($scope.cobranza.facturas[i].IPA), 151 IMP: Math.abs($scope.cobranza.facturas[i].IPA),
152 RES: 0,//caja de tesorería 152 RES: 0,//caja de tesorería
153 SUBM: 0, 153 SUBM: 0,
154 NCU: $scope.cobranza.facturas[i].NCU 154 NCU: $scope.cobranza.facturas[i].NCU
155 }; 155 };
156 cuerpos.push(cuerpoFactura); 156 cuerpos.push(cuerpoFactura);
157 157
158 } 158 }
159 159
160 for (var j = 0; j < $scope.cobranza.cobros.length; j++) { 160 for (var j = 0; j < $scope.cobranza.cobros.length; j++) {
161 161
162 var efectivo = $scope.cobranza.cobros[j].tipo === 'Efectivo'; 162 var efectivo = $scope.cobranza.cobros[j].tipo === 'Efectivo';
163 var cuerpoCobros = { 163 var cuerpoCobros = {
164 CYV: 'V', 164 CYV: 'V',
165 TIP: 'C', 165 TIP: 'C',
166 TCO: 'RC', 166 TCO: 'RC',
167 PVE: $scope.puntoVenta, 167 PVE: $scope.puntoVenta,
168 NCO: $scope.comprobante, 168 NCO: $scope.comprobante,
169 LOP: 'P', 169 LOP: 'P',
170 TIL: $scope.cobranza.cobros[j].til, 170 TIL: $scope.cobranza.cobros[j].til,
171 COM: efectivo ? 'ef(COBRO EN EFECTIVO)' : $scope.cobranza.cobros[j].tipo, 171 COM: efectivo ? 'ef(COBRO EN EFECTIVO)' : $scope.cobranza.cobros[j].tipo,
172 FEC: !$scope.cobranza.cobros[j].fechaPresentacion ? 172 FEC: !$scope.cobranza.cobros[j].fechaPresentacion ?
173 new Date($scope.cobranza.cobros[j].fecha) 173 new Date($scope.cobranza.cobros[j].fecha)
174 .toISOString().slice(0, 19).replace('T', ' ') : 174 .toISOString().slice(0, 19).replace('T', ' ') :
175 new Date($scope.cobranza.cobros[j].fechaPresentacion) 175 new Date($scope.cobranza.cobros[j].fechaPresentacion)
176 .toISOString().slice(0, 19).replace('T', ' '), 176 .toISOString().slice(0, 19).replace('T', ' '),
177 IMP: Math.abs($scope.cobranza.cobros[j].importe), 177 IMP: Math.abs($scope.cobranza.cobros[j].importe),
178 RES: 0,//caja de tesorería 178 RES: 0,//caja de tesorería
179 SUBM: 0 179 SUBM: 0
180 }; 180 };
181 cuerpos.push(cuerpoCobros); 181 cuerpos.push(cuerpoCobros);
182 182
183 if ($scope.cobranza.cobros[j].observacion) 183 if ($scope.cobranza.cobros[j].observacion)
184 observacion = $scope.cobranza.cobros[j].observacion; 184 observacion = $scope.cobranza.cobros[j].observacion;
185 185
186 if ($scope.cobranza.cobros[j].banco) { 186 if ($scope.cobranza.cobros[j].banco) {
187 var cheque = { 187 var cheque = {
188 BCO: $scope.cobranza.cobros[j].banco.ID, 188 BCO: $scope.cobranza.cobros[j].banco.ID,
189 NUM: $scope.comprobante, 189 NUM: $scope.comprobante,
190 FEP: new Date($scope.cobranza.cobros[j].fechaPresentacion) 190 FEP: new Date($scope.cobranza.cobros[j].fechaPresentacion)
191 .toISOString().slice(0, 19).replace('T', ' '), 191 .toISOString().slice(0, 19).replace('T', ' '),
192 FEE: new Date($scope.cobranza.cobros[j].fechaEmision) 192 FEE: new Date($scope.cobranza.cobros[j].fechaEmision)
193 .toISOString().slice(0, 19).replace('T', ' '), 193 .toISOString().slice(0, 19).replace('T', ' '),
194 LUG: $scope.cobranza.cobros[j].localidad.NOMBRE, 194 LUG: $scope.cobranza.cobros[j].localidad.NOMBRE,
195 IMP: $scope.cobranza.cobros[j].importe, 195 IMP: $scope.cobranza.cobros[j].importe,
196 LIB: $scope.cobranza.cobros[j].librador, 196 LIB: $scope.cobranza.cobros[j].librador,
197 EST: 'C',//'D' depositado, 'E' entregado, 'C' en cartera 197 EST: 'C',//'D' depositado, 'E' entregado, 'C' en cartera
198 PCI: $scope.cobranza.cobros[j].provincia.ID, 198 PCI: $scope.cobranza.cobros[j].provincia.ID,
199 LPLA: 0, 199 LPLA: 0,
200 PLA: 0, 200 PLA: 0,
201 VEN: $scope.cobranza.cobrador.id,//Id vendedor 201 VEN: $scope.cobranza.cobrador.id,//Id vendedor
202 CCLIE: $scope.cobranza.cliente.COD,//Id cliente 202 CCLIE: $scope.cobranza.cliente.COD,//Id cliente
203 REN: 0, 203 REN: 0,
204 PVEC: $scope.puntoVenta, 204 PVEC: $scope.puntoVenta,
205 NCOC: $scope.comprobante, 205 NCOC: $scope.comprobante,
206 OBSE: $scope.cobranza.cobros[j].observaciones, 206 OBSE: $scope.cobranza.cobros[j].observaciones,
207 LUV: 0, 207 LUV: 0,
208 ORI: 've', 208 ORI: 've',
209 FER: '', 209 FER: '',
210 BIMP: 0, 210 BIMP: 0,
211 COMP: 'C ' +'RC ' + $scope.puntoVenta + '-' + $scope.comprobante, 211 COMP: 'C ' +'RC ' + $scope.puntoVenta + '-' + $scope.comprobante,
212 VAL_E: '',//Cuando egresa por ingresos y egresos en el numero de egreso 212 VAL_E: '',//Cuando egresa por ingresos y egresos en el numero de egreso
213 VAL_I: '',//Cuando Ingresa por ingresos y egresos en el numero ingreso 213 VAL_I: '',//Cuando Ingresa por ingresos y egresos en el numero ingreso
214 REC_CAJ: 'D', 214 REC_CAJ: 'D',
215 TIPO_C: 0,//?? 215 TIPO_C: 0,//??
216 SALDO_CAJ: 'S', 216 SALDO_CAJ: 'S',
217 FECHA_INGRESO: new Date($scope.cobranza.fecha) 217 FECHA_INGRESO: new Date($scope.cobranza.fecha)
218 .toISOString().slice(0, 19).replace('T', ' '), 218 .toISOString().slice(0, 19).replace('T', ' '),
219 Vendedor_valor: 0, 219 Vendedor_valor: 0,
220 FAMILIA: 0, 220 FAMILIA: 0,
221 CUIT_LIB: '', 221 CUIT_LIB: '',
222 COD_LUG: $scope.cobranza.cobros[j].localidad.ID,//código lugar 222 COD_LUG: $scope.cobranza.cobros[j].localidad.ID,//código lugar
223 SEN: '', 223 SEN: '',
224 NRC: 0, 224 NRC: 0,
225 COD_LARGO: '', 225 COD_LARGO: '',
226 VN: 0, 226 VN: 0,
227 ID_LECTOR: 0, 227 ID_LECTOR: 0,
228 NATHB: '' 228 NATHB: ''
229 }; 229 };
230 cheques.push(cheque); 230 cheques.push(cheque);
231 } 231 }
232 if ($scope.cobranza.cobros[j].imgs) imgs = $scope.cobranza.cobros[j].imgs; 232 if ($scope.cobranza.cobros[j].imgs) imgs = $scope.cobranza.cobros[j].imgs;
233 233
234 } 234 }
235 235
236 cobranza = { 236 cobranza = {
237 recibo: { 237 recibo: {
238 CYV: 'V', 238 CYV: 'V',
239 TIP: 'C', 239 TIP: 'C',
240 TCO: 'RC', 240 TCO: 'RC',
241 PVE: $scope.puntoVenta, //Sucursar, punto de venta 241 PVE: $scope.puntoVenta, //Sucursar, punto de venta
242 NCO: $scope.comprobante, //Numero de comprobante 242 NCO: $scope.comprobante, //Numero de comprobante
243 FEC: new Date($scope.cobranza.fecha) 243 FEC: new Date($scope.cobranza.fecha)
244 .toISOString().slice(0, 19).replace('T', ' '), 244 .toISOString().slice(0, 19).replace('T', ' '),
245 CLI: $scope.cobranza.cliente.COD, 245 CLI: $scope.cobranza.cliente.COD,
246 ATO: 0, //número de asiento 246 ATO: 0, //número de asiento
247 CFE: $scope.cobranza.cobrador.NOM, 247 CFE: $scope.cobranza.cobrador.NOM,
248 PLA: '',//Numero de planilla, sin uso 248 PLA: '',//Numero de planilla, sin uso
249 ID_MONEDA: $scope.cobranza.cotizacion.moneda.ID, 249 ID_MONEDA: $scope.cobranza.cotizacion.moneda.ID,
250 COTIZACION: $scope.cobranza.cotizacion.VENDEDOR, 250 COTIZACION: $scope.cobranza.cotizacion.VENDEDOR,
251 idCobrador: $scope.cobranza.cobrador.id 251 idCobrador: $scope.cobranza.cobrador.id
252 }, 252 },
253 cuerpo: cuerpos, 253 cuerpo: cuerpos,
254 cheques: cheques, 254 cheques: cheques,
255 acobypag: { 255 acobypag: {
256 CYV: 'V', 256 CYV: 'V',
257 COD: $scope.cobranza.cliente.COD, 257 COD: $scope.cobranza.cliente.COD,
258 FEP: new Date($scope.cobranza.fecha) 258 FEP: new Date($scope.cobranza.fecha)
259 .toISOString().slice(0, 19).replace('T', ' '), 259 .toISOString().slice(0, 19).replace('T', ' '),
260 TIP: 'C', 260 TIP: 'C',
261 TCO: 'RC', 261 TCO: 'RC',
262 SUC: $scope.puntoVenta, 262 SUC: $scope.puntoVenta,
263 NCO: $scope.comprobante, 263 NCO: $scope.comprobante,
264 IPA: $scope.getTotalCobrado(), 264 IPA: $scope.getTotalCobrado(),
265 SAL: '',//?? 265 SAL: '',//??
266 TCA: 1, 266 TCA: 1,
267 ZONA: 1, 267 ZONA: 1,
268 FPA: 2,//Forma de pago 268 FPA: 2,//Forma de pago
269 REC: 0, 269 REC: 0,
270 REP: 0, 270 REP: 0,
271 FER: null, 271 FER: null,
272 REM: 0, 272 REM: 0,
273 FRE: null,//?? 273 FRE: null,//??
274 PRO: 'N', 274 PRO: 'N',
275 FEV: new Date($scope.cobranza.fecha) 275 FEV: new Date($scope.cobranza.fecha)
276 .toISOString().slice(0, 19).replace('T', ' ') 276 .toISOString().slice(0, 19).replace('T', ' ')
277 }, 277 },
278 datosCobrador: { 278 datosCobrador: {
279 COD: $scope.cobranza.cobrador.NUM, 279 COD: $scope.cobranza.cobrador.NUM,
280 PVE: $scope.puntoVenta, 280 PVE: $scope.puntoVenta,
281 NUM: $scope.comprobante, 281 NUM: $scope.comprobante,
282 EST: 'C', 282 EST: 'C',
283 OBS: 'RC: ' + $scope.comprobante + '-' + 283 OBS: 'RC: ' + $scope.comprobante + '-' +
284 new Date($scope.cobranza.fecha).toLocaleDateString(), 284 new Date($scope.cobranza.fecha).toLocaleDateString(),
285 DAT1: 'C', 285 DAT1: 'C',
286 CLI: $scope.cobranza.cliente.COD 286 CLI: $scope.cobranza.cliente.COD
287 }, 287 },
288 cliente: $scope.cobranza.cliente, 288 cliente: $scope.cobranza.cliente,
289 imgs: imgs, 289 imgs: imgs,
290 observacion: observacion 290 observacion: observacion
291 }; 291 };
292 //COPIO cobranzaMail Y A cobranza LE ELIMINO EL VALOR NCU DE LOS CUERPOS 292 //COPIO cobranzaMail Y A cobranza LE ELIMINO EL VALOR NCU DE LOS CUERPOS
293 var cobranzaMail = angular.copy(cobranza); 293 var cobranzaMail = angular.copy(cobranza);
294 cobranza.cuerpo = cobranza.cuerpo.map(function(c) { 294 cobranza.cuerpo = cobranza.cuerpo.map(function(c) {
295 if (c.NCU) delete c.NCU; 295 if (c.NCU) delete c.NCU;
296 return c; 296 return c;
297 }); 297 });
298 298
299 focaCrearCobranzaService 299 focaCrearCobranzaService
300 .guardarCobranza(cobranza) 300 .guardarCobranza(cobranza)
301 .then( 301 .then(
302 function(result) { 302 function(result) {
303 var cliente = angular.copy($scope.cobranza.cliente); 303 var cliente = angular.copy($scope.cobranza.cliente);
304 focaBotoneraLateralService.endGuardar(true); 304 focaBotoneraLateralService.endGuardar(true);
305 $scope.saveLoading = false; 305 $scope.saveLoading = false;
306 306
307 focaModalService 307 focaModalService
308 .prompt('Ingrese los emails separados por coma para enviar comprobante', 308 .prompt({
309 cliente.MAIL) 309 titulo: 'Ingrese los emails separados por' +
310 ' coma para enviar comprobante',
311 value: cliente.MAIL,
312 email: true
313 })
310 .then(function(res) { 314 .then(function(res) {
311 return Promise.all([ 315 return Promise.all([
312 focaCrearCobranzaService 316 focaCrearCobranzaService
313 .enviarComprobantePorMail(res, cobranzaMail), 317 .enviarComprobantePorMail(res, cobranzaMail),
314 focaCrearCobranzaService 318 focaCrearCobranzaService
315 .actualizarEmail(res, cliente.COD) 319 .actualizarEmail(res, cliente.COD)
316 ]); 320 ]);
317 }) 321 })
318 .then(function() { 322 .then(function() {
319 focaModalService.alert('Mensaje enviado correctamente'); 323 focaModalService.alert('Mensaje enviado correctamente');
320 }); 324 });
321 325
322 focaSeguimientoService.guardarPosicion( 326 focaSeguimientoService.guardarPosicion(
323 'Cobranza', 327 'Cobranza',
324 result.data, 328 result.data,
325 '' 329 ''
326 ); 330 );
327 331
328 init(); 332 init();
329 }, function(error) { 333 }, function(error) {
330 focaModalService.alert('Hubo un problema al cargar la cobranza'); 334 focaModalService.alert('Hubo un problema al cargar la cobranza');
331 focaBotoneraLateralService.endGuardar(); 335 focaBotoneraLateralService.endGuardar();
332 $scope.saveLoading = false; 336 $scope.saveLoading = false;
333 console.info(error); 337 console.info(error);
334 } 338 }
335 ); 339 );
336 }; 340 };
337 341
338 $scope.seleccionarCobros = function() { 342 $scope.seleccionarCobros = function() {
339 $scope.cobroDeuda = false; 343 $scope.cobroDeuda = false;
340 }; 344 };
341 345
342 $scope.seleccionarComprobantes = function() { 346 $scope.seleccionarComprobantes = function() {
343 $scope.cobroDeuda = true; 347 $scope.cobroDeuda = true;
344 }; 348 };
345 349
346 $scope.seleccionarCobranza = function() { 350 $scope.seleccionarCobranza = function() {
347 351
348 var modalInstance = $uibModal.open( 352 var modalInstance = $uibModal.open(
349 { 353 {
350 ariaLabelledBy: 'Busqueda de Cobranzas', 354 ariaLabelledBy: 'Busqueda de Cobranzas',
351 templateUrl: 'foca-modal-cobranza.html', 355 templateUrl: 'foca-modal-cobranza.html',
352 controller: 'focaModalCobranzaController', 356 controller: 'focaModalCobranzaController',
353 size: 'lg' 357 size: 'lg'
354 } 358 }
355 ); 359 );
356 modalInstance.result.then(setearCobranza); 360 modalInstance.result.then(setearCobranza);
357 }; 361 };
358 362
359 $scope.seleccionarResumenDeCuenta = function() { 363 $scope.seleccionarResumenDeCuenta = function() {
360 if (!$scope.cobranza.cliente.COD) { 364 if (!$scope.cobranza.cliente.COD) {
361 focaModalService.alert('Seleccione primero un cliente'); 365 focaModalService.alert('Seleccione primero un cliente');
362 return; 366 return;
363 } 367 }
364 var modalInstance = $uibModal.open( 368 var modalInstance = $uibModal.open(
365 { 369 {
366 ariaLabelledBy: 'Resumen de cuentas', 370 ariaLabelledBy: 'Resumen de cuentas',
367 templateUrl: 'modal-resumen-cuenta.html', 371 templateUrl: 'modal-resumen-cuenta.html',
368 controller: 'focaModalResumenCuentaController', 372 controller: 'focaModalResumenCuentaController',
369 resolve: { 373 resolve: {
370 idCliente: function() { return $scope.cobranza.cliente.COD; } 374 idCliente: function() { return $scope.cobranza.cliente.COD; }
371 }, 375 },
372 size: 'lg' 376 size: 'lg'
373 } 377 }
374 ); 378 );
375 modalInstance.result.then( 379 modalInstance.result.then(
376 function(cliente) { 380 function(cliente) {
377 $scope.abrirModalDomicilios(cliente); 381 $scope.abrirModalDomicilios(cliente);
378 $scope.cliente = cliente; 382 $scope.cliente = cliente;
379 }, function() {} 383 }, function() {}
380 ); 384 );
381 }; 385 };
382 386
383 $scope.seleccionarCliente = function() { 387 $scope.seleccionarCliente = function() {
384 if(!$scope.cobranza.cobrador) { 388 if(!$scope.cobranza.cobrador) {
385 focaModalService.alert('Ingrese primero cobrador'); 389 focaModalService.alert('Ingrese primero cobrador');
386 return; 390 return;
387 } 391 }
388 var modalInstance = $uibModal.open( 392 var modalInstance = $uibModal.open(
389 { 393 {
390 ariaLabelledBy: 'Busqueda de Cliente', 394 ariaLabelledBy: 'Busqueda de Cliente',
391 templateUrl: 'foca-busqueda-cliente-modal.html', 395 templateUrl: 'foca-busqueda-cliente-modal.html',
392 controller: 'focaBusquedaClienteModalController', 396 controller: 'focaBusquedaClienteModalController',
393 resolve: { 397 resolve: {
394 vendedor: function() { return null; } 398 vendedor: function() { return null; }
395 }, 399 },
396 size: 'lg' 400 size: 'lg'
397 } 401 }
398 ); 402 );
399 modalInstance.result.then( 403 modalInstance.result.then(
400 function(cliente) { 404 function(cliente) {
401 var clienteMayus = { 405 var clienteMayus = {
402 COD: cliente.cod, 406 COD: cliente.cod,
403 NOM: cliente.nom, 407 NOM: cliente.nom,
404 CUIT: cliente.cuit 408 CUIT: cliente.cuit
405 }; 409 };
406 410
407 $scope.$broadcast('addCabecera', { 411 $scope.$broadcast('addCabecera', {
408 label: 'Cliente:', 412 label: 'Cliente:',
409 valor: $filter('rellenarDigitos')(clienteMayus.COD, 5) + ' - ' + 413 valor: $filter('rellenarDigitos')(clienteMayus.COD, 5) + ' - ' +
410 clienteMayus.NOM 414 clienteMayus.NOM
411 }); 415 });
412 $scope.cobranza.cliente = clienteMayus; 416 $scope.cobranza.cliente = clienteMayus;
413 } 417 }
414 ); 418 );
415 }; 419 };
416 420
417 $scope.seleccionarFactura = function() { 421 $scope.seleccionarFactura = function() {
418 if (!$scope.cobranza.cliente.COD) { 422 if (!$scope.cobranza.cliente.COD) {
419 focaModalService.alert('Seleccione primero un cliente'); 423 focaModalService.alert('Seleccione primero un cliente');
420 return; 424 return;
421 } 425 }
422 var modalInstance = $uibModal.open( 426 var modalInstance = $uibModal.open(
423 { 427 {
424 ariaLabelledBy: 'Busqueda de Facturas', 428 ariaLabelledBy: 'Busqueda de Facturas',
425 templateUrl: 'foca-modal-factura.html', 429 templateUrl: 'foca-modal-factura.html',
426 controller: 'focaModalFacturaController', 430 controller: 'focaModalFacturaController',
427 size: 'lg', 431 size: 'lg',
428 resolve: { 432 resolve: {
429 parametrosFactura: function() { 433 parametrosFactura: function() {
430 return { 434 return {
431 cliente: $scope.cobranza.cliente, 435 cliente: $scope.cobranza.cliente,
432 simbolo: $scope.cobranza.cotizacion.moneda.SIMBOLO, 436 simbolo: $scope.cobranza.cotizacion.moneda.SIMBOLO,
433 cotizacion: $scope.cobranza.cotizacion.VENDEDOR, 437 cotizacion: $scope.cobranza.cotizacion.VENDEDOR,
434 moneda: $scope.cobranza.cotizacion.moneda.ID 438 moneda: $scope.cobranza.cotizacion.moneda.ID
435 }; 439 };
436 } 440 }
437 } 441 }
438 } 442 }
439 ); 443 );
440 modalInstance.result.then( 444 modalInstance.result.then(
441 function(facturas) { 445 function(facturas) {
442 $scope.cobranza.facturas = $scope.cobranza.facturas.concat(facturas); 446 $scope.cobranza.facturas = $scope.cobranza.facturas.concat(facturas);
443 }, function() { 447 }, function() {
444 448
445 } 449 }
446 ); 450 );
447 }; 451 };
448 452
449 $scope.seleccionarCheque = function() { 453 $scope.seleccionarCheque = function() {
450 var modalInstance = $uibModal.open( 454 var modalInstance = $uibModal.open(
451 { 455 {
452 ariaLabelledBy: 'Carga de cheques', 456 ariaLabelledBy: 'Carga de cheques',
453 templateUrl: 'modal-cheque.html', 457 templateUrl: 'modal-cheque.html',
454 controller: 'focaModalChequeController', 458 controller: 'focaModalChequeController',
455 size: 'lg', 459 size: 'lg',
456 resolve: { 460 resolve: {
457 sugerido: function() { 461 sugerido: function() {
458 var sugerido = $scope.getTotalDeuda() + $scope.getTotalCobrado(); 462 var sugerido = $scope.getTotalDeuda() + $scope.getTotalCobrado();
459 return sugerido < 0 ? sugerido : null; 463 return sugerido < 0 ? sugerido : null;
460 } 464 }
461 } 465 }
462 } 466 }
463 ); 467 );
464 modalInstance.result.then( 468 modalInstance.result.then(
465 function(cheque) { 469 function(cheque) {
466 var cobro = { 470 var cobro = {
467 tipo: 'ch' + '(' + cheque.numero + ')' + ' ' + cheque.banco.desbco, 471 tipo: 'ch' + '(' + cheque.numero + ')' + ' ' + cheque.banco.desbco,
468 numero: cheque.numero, 472 numero: cheque.numero,
469 banco: cheque.banco, 473 banco: cheque.banco,
470 fecha: cheque.fechaEmision.toLocaleDateString() + '-' + 474 fecha: cheque.fechaEmision.toLocaleDateString() + '-' +
471 cheque.fechaPresentacion.toLocaleDateString(), 475 cheque.fechaPresentacion.toLocaleDateString(),
472 fechaPresentacion: cheque.fechaPresentacion, 476 fechaPresentacion: cheque.fechaPresentacion,
473 fechaEmision: cheque.fechaEmision, 477 fechaEmision: cheque.fechaEmision,
474 importe: cheque.importe * $scope.cobranza.cotizacion.VENDEDOR, 478 importe: cheque.importe * $scope.cobranza.cotizacion.VENDEDOR,
475 localidad: cheque.localidad, 479 localidad: cheque.localidad,
476 librador: cheque.librador, 480 librador: cheque.librador,
477 provincia: cheque.provincia, 481 provincia: cheque.provincia,
478 observaciones: cheque.observaciones, 482 observaciones: cheque.observaciones,
479 til: 'EF' 483 til: 'EF'
480 }; 484 };
481 $scope.cobranza.cobros.push(cobro); 485 $scope.cobranza.cobros.push(cobro);
482 }, function() { 486 }, function() {
483 487
484 } 488 }
485 ); 489 );
486 }; 490 };
487 491
488 $scope.seleccionarEfectivo = function() { 492 $scope.seleccionarEfectivo = function() {
489 var modalInstance = $uibModal.open( 493 var modalInstance = $uibModal.open(
490 { 494 {
491 ariaLabelledBy: 'Carga de cheques', 495 ariaLabelledBy: 'Carga de cheques',
492 templateUrl: 'modal-efectivo.html', 496 templateUrl: 'modal-efectivo.html',
493 controller: 'focaModalEfectivoController', 497 controller: 'focaModalEfectivoController',
494 size: 'sm', 498 size: 'sm',
495 resolve: { 499 resolve: {
496 sugerido: function() { 500 sugerido: function() {
497 var sugerido = $scope.getTotalDeuda() + $scope.getTotalCobrado(); 501 var sugerido = $scope.getTotalDeuda() + $scope.getTotalCobrado();
498 return sugerido < 0 ? sugerido : null; 502 return sugerido < 0 ? sugerido : null;
499 } 503 }
500 } 504 }
501 } 505 }
502 ); 506 );
503 modalInstance.result.then( 507 modalInstance.result.then(
504 function(efectivo) { 508 function(efectivo) {
505 var cobro = { 509 var cobro = {
506 tipo: 'Efectivo', 510 tipo: 'Efectivo',
507 fecha: new Date(), 511 fecha: new Date(),
508 importe: efectivo * $scope.cobranza.cotizacion.VENDEDOR, 512 importe: efectivo * $scope.cobranza.cotizacion.VENDEDOR,
509 til: 'EF' 513 til: 'EF'
510 }; 514 };
511 $scope.cobranza.cobros = $scope.cobranza.cobros.filter(function(a) { 515 $scope.cobranza.cobros = $scope.cobranza.cobros.filter(function(a) {
512 return a.tipo !== 'Efectivo'; 516 return a.tipo !== 'Efectivo';
513 }); 517 });
514 $scope.cobranza.cobros.push(cobro); 518 $scope.cobranza.cobros.push(cobro);
515 }, function() { 519 }, function() {
516 520
517 } 521 }
518 ); 522 );
519 }; 523 };
520 524
521 $scope.seleccionarDetalles = function() { 525 $scope.seleccionarDetalles = function() {
522 var modalInstance = $uibModal.open( 526 var modalInstance = $uibModal.open(
523 { 527 {
524 ariaLabelledBy: 'Carga de detalles', 528 ariaLabelledBy: 'Carga de detalles',
525 templateUrl: 'modal-detalles.html', 529 templateUrl: 'modal-detalles.html',
526 controller: 'focaModalDetallesController', 530 controller: 'focaModalDetallesController',
527 size: 'lg', 531 size: 'lg',
528 resolve: { 532 resolve: {
529 sugerido: function() { 533 sugerido: function() {
530 var sugerido = $scope.getTotalDeuda() + $scope.getTotalCobrado(); 534 var sugerido = $scope.getTotalDeuda() + $scope.getTotalCobrado();
531 return sugerido < 0 ? sugerido : null; 535 return sugerido < 0 ? sugerido : null;
532 } 536 }
533 } 537 }
534 } 538 }
535 ); 539 );
536 modalInstance.result.then( 540 modalInstance.result.then(
537 function(detalles) { 541 function(detalles) {
538 var cobro = { 542 var cobro = {
539 tipo: 'de(COBRO POR DETALLES)', 543 tipo: 'de(COBRO POR DETALLES)',
540 fecha: new Date(), 544 fecha: new Date(),
541 importe: detalles.monto * $scope.cobranza.cotizacion.VENDEDOR, 545 importe: detalles.monto * $scope.cobranza.cotizacion.VENDEDOR,
542 imgs: detalles.imgs, 546 imgs: detalles.imgs,
543 til: 'DE', 547 til: 'DE',
544 observacion: detalles.observacion 548 observacion: detalles.observacion
545 }; 549 };
546 var existe = false; 550 var existe = false;
547 551
548 $scope.cobranza.cobros.forEach(function(c, idx) { 552 $scope.cobranza.cobros.forEach(function(c, idx) {
549 if (c.til === 'DE') { 553 if (c.til === 'DE') {
550 $scope.cobranza.cobros[idx] = cobro; 554 $scope.cobranza.cobros[idx] = cobro;
551 existe = true; 555 existe = true;
552 } 556 }
553 }); 557 });
554 if (!existe) { 558 if (!existe) {
555 $scope.cobranza.cobros.push(cobro); 559 $scope.cobranza.cobros.push(cobro);
556 } 560 }
557 }, function() {} 561 }, function() {}
558 ); 562 );
559 }; 563 };
560 564
561 $scope.seleccionarMoneda = function() { 565 $scope.seleccionarMoneda = function() {
562 var parametrosModal = { 566 var parametrosModal = {
563 titulo: 'Búsqueda de monedas', 567 titulo: 'Búsqueda de monedas',
564 query: '/moneda', 568 query: '/moneda',
565 columnas: [ 569 columnas: [
566 { 570 {
567 propiedad: 'DETALLE', 571 propiedad: 'DETALLE',
568 nombre: 'Nombre' 572 nombre: 'Nombre'
569 }, 573 },
570 { 574 {
571 propiedad: 'SIMBOLO', 575 propiedad: 'SIMBOLO',
572 nombre: 'Símbolo' 576 nombre: 'Símbolo'
573 } 577 }
574 ], 578 ],
575 size: 'md' 579 size: 'md'
576 }; 580 };
577 focaModalService.modal(parametrosModal).then( 581 focaModalService.modal(parametrosModal).then(
578 function(moneda) { 582 function(moneda) {
579 $scope.seleccionarCotizacion(moneda); 583 $scope.seleccionarCotizacion(moneda);
580 }, function() { 584 }, function() {
581 585
582 } 586 }
583 ); 587 );
584 }; 588 };
585 589
586 $scope.seleccionarCotizacion = function(moneda) { 590 $scope.seleccionarCotizacion = function(moneda) {
587 var modalInstance = $uibModal.open( 591 var modalInstance = $uibModal.open(
588 { 592 {
589 ariaLabelledBy: 'Busqueda de Cotización', 593 ariaLabelledBy: 'Busqueda de Cotización',
590 templateUrl: 'modal-cotizacion.html', 594 templateUrl: 'modal-cotizacion.html',
591 controller: 'focaModalCotizacionController', 595 controller: 'focaModalCotizacionController',
592 size: 'lg', 596 size: 'lg',
593 resolve: {idMoneda: function() {return moneda.ID;}} 597 resolve: {idMoneda: function() {return moneda.ID;}}
594 } 598 }
595 ); 599 );
596 modalInstance.result.then( 600 modalInstance.result.then(
597 function(cotizacion) { 601 function(cotizacion) {
598 $scope.cobranza.cotizacion.moneda = moneda; 602 $scope.cobranza.cotizacion.moneda = moneda;
599 $scope.cobranza.cotizacion = cotizacion; 603 $scope.cobranza.cotizacion = cotizacion;
600 if (moneda.DETALLE === 'PESOS ARGENTINOS') { 604 if (moneda.DETALLE === 'PESOS ARGENTINOS') {
601 $scope.$broadcast('removeCabecera', 'Moneda:'); 605 $scope.$broadcast('removeCabecera', 'Moneda:');
602 $scope.$broadcast('removeCabecera', 'Fecha cotizacion:'); 606 $scope.$broadcast('removeCabecera', 'Fecha cotizacion:');
603 $scope.$broadcast('removeCabecera', 'Cotizacion:'); 607 $scope.$broadcast('removeCabecera', 'Cotizacion:');
604 } else { 608 } else {
605 $scope.$broadcast('addCabecera', { 609 $scope.$broadcast('addCabecera', {
606 label: 'Moneda:', 610 label: 'Moneda:',
607 valor: moneda.DETALLE 611 valor: moneda.DETALLE
608 }); 612 });
609 $scope.$broadcast('addCabecera', { 613 $scope.$broadcast('addCabecera', {
610 label: 'Fecha cotizacion:', 614 label: 'Fecha cotizacion:',
611 valor: $filter('date')(cotizacion.FECHA, 'dd/MM/yyyy') 615 valor: $filter('date')(cotizacion.FECHA, 'dd/MM/yyyy')
612 }); 616 });
613 $scope.$broadcast('addCabecera', { 617 $scope.$broadcast('addCabecera', {
614 label: 'Cotizacion:', 618 label: 'Cotizacion:',
615 valor: $filter('number')(cotizacion.VENDEDOR, '2') 619 valor: $filter('number')(cotizacion.VENDEDOR, '2')
616 }); 620 });
617 } 621 }
618 }, function() { 622 }, function() {
619 623
620 } 624 }
621 ); 625 );
622 }; 626 };
623 627
624 $scope.seleccionarCobrador = function() { 628 $scope.seleccionarCobrador = function() {
625 var parametrosModal = { 629 var parametrosModal = {
626 query: '/cobrador', 630 query: '/cobrador',
627 columnas: [ 631 columnas: [
628 { 632 {
629 propiedad: 'NUM', 633 propiedad: 'NUM',
630 nombre: 'Codigo', 634 nombre: 'Codigo',
631 filtro: { 635 filtro: {
632 nombre: 'rellenarDigitos', 636 nombre: 'rellenarDigitos',
633 parametro: 3 637 parametro: 3
634 } 638 }
635 }, 639 },
636 { 640 {
637 propiedad: 'NOM', 641 propiedad: 'NOM',
638 nombre: 'Nombre' 642 nombre: 'Nombre'
639 } 643 }
640 ], 644 ],
641 titulo:'Búsqueda de cobradores' 645 titulo:'Búsqueda de cobradores'
642 }; 646 };
643 focaModalService.modal(parametrosModal).then( 647 focaModalService.modal(parametrosModal).then(
644 function(cobrador) { 648 function(cobrador) {
645 $scope.$broadcast('addCabecera', { 649 $scope.$broadcast('addCabecera', {
646 label: 'Cobrador:', 650 label: 'Cobrador:',
647 valor: $filter('rellenarDigitos')(cobrador.NUM, 3) + ' - ' + 651 valor: $filter('rellenarDigitos')(cobrador.NUM, 3) + ' - ' +
648 cobrador.NOM 652 cobrador.NOM
649 }); 653 });
650 $scope.cobranza.cobrador = cobrador; 654 $scope.cobranza.cobrador = cobrador;
651 }, function() { 655 }, function() {
652 656
653 } 657 }
654 ); 658 );
655 }; 659 };
656 660
657 $scope.getTotalDeuda = function() { 661 $scope.getTotalDeuda = function() {
658 var total = 0; 662 var total = 0;
659 for (var i = 0; i < $scope.cobranza.facturas.length; i++) { 663 for (var i = 0; i < $scope.cobranza.facturas.length; i++) {
660 total += $scope.cobranza.facturas[i].IPA; 664 total += $scope.cobranza.facturas[i].IPA;
661 } 665 }
662 return parseFloat(total.toFixed(2)); 666 return parseFloat(total.toFixed(2));
663 }; 667 };
664 668
665 $scope.getTotalCobrado = function() { 669 $scope.getTotalCobrado = function() {
666 var total = 0; 670 var total = 0;
667 for (var i = 0; i < $scope.cobranza.cobros.length; i++) { 671 for (var i = 0; i < $scope.cobranza.cobros.length; i++) {
668 total += $scope.cobranza.cobros[i].importe; 672 total += $scope.cobranza.cobros[i].importe;
669 } 673 }
670 return parseFloat(total.toFixed(2)); 674 return parseFloat(total.toFixed(2));
671 }; 675 };
672 676
673 $scope.getSubTotal = function() { 677 $scope.getSubTotal = function() {
674 if ($scope.articuloACargar) { 678 if ($scope.articuloACargar) {
675 return $scope.articuloACargar.precio * $scope.articuloACargar.cantidad; 679 return $scope.articuloACargar.precio * $scope.articuloACargar.cantidad;
676 } 680 }
677 }; 681 };
678 //Recibe aviso si el teclado está en uso 682 //Recibe aviso si el teclado está en uso
679 // $rootScope.$on('usarTeclado', function(event, data) { 683 // $rootScope.$on('usarTeclado', function(event, data) {
680 // if(data) { 684 // if(data) {
681 // $scope.mostrarTeclado = true; 685 // $scope.mostrarTeclado = true;
682 // return; 686 // return;
683 // } 687 // }
684 // $scope.mostrarTeclado = false; 688 // $scope.mostrarTeclado = false;
685 // }) 689 // })
686 $scope.selectFocus = function($event) { 690 $scope.selectFocus = function($event) {
687 //Si el teclado esta en uso no selecciona el valor 691 //Si el teclado esta en uso no selecciona el valor
688 // if($scope.mostrarTeclado) { 692 // if($scope.mostrarTeclado) {
689 // return; 693 // return;
690 // } 694 // }
691 $event.target.select(); 695 $event.target.select();
692 }; 696 };
693 697
694 $scope.salir = function() { 698 $scope.salir = function() {
695 $location.path('/'); 699 $location.path('/');
696 }; 700 };
697 701
698 $scope.parsearATexto = function(articulo) { 702 $scope.parsearATexto = function(articulo) {
699 articulo.cantidad = parseFloat(articulo.cantidad); 703 articulo.cantidad = parseFloat(articulo.cantidad);
700 articulo.precio = parseFloat(articulo.precio); 704 articulo.precio = parseFloat(articulo.precio);
701 }; 705 };
702 706
703 $scope.quitarFactura = function(key) { 707 $scope.quitarFactura = function(key) {
704 $scope.cobranza.facturas.splice(key, 1); 708 $scope.cobranza.facturas.splice(key, 1);
705 }; 709 };
706 710
707 $scope.quitarCobro = function(key) { 711 $scope.quitarCobro = function(key) {
708 $scope.cobranza.cobros.splice(key, 1); 712 $scope.cobranza.cobros.splice(key, 1);
709 }; 713 };
710 714
711 function salir() { 715 function salir() {
712 var confirmacion = false; 716 var confirmacion = false;
713 717
714 if (!angular.equals($scope.cobranza, $scope.inicial)) { 718 if (!angular.equals($scope.cobranza, $scope.inicial)) {
715 confirmacion = true; 719 confirmacion = true;
716 } 720 }
717 721
718 if (confirmacion) { 722 if (confirmacion) {
719 focaModalService.confirm( 723 focaModalService.confirm(
720 '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' 724 '¿Está seguro de que desea salir? Se perderán todos los datos cargados.'
721 ).then(function(data) { 725 ).then(function(data) {
722 if (data) { 726 if (data) {
723 $location.path('/'); 727 $location.path('/');
724 } 728 }
725 }); 729 });
726 } else { 730 } else {
727 $location.path('/'); 731 $location.path('/');
728 } 732 }
729 } 733 }
730 734
731 function setearCobranza(cobranza) { 735 function setearCobranza(cobranza) {
732 $scope.editando = true; 736 $scope.editando = true;
733 $scope.$broadcast('cleanCabecera'); 737 $scope.$broadcast('cleanCabecera');
734 738
735 if (cobranza.cliente) { 739 if (cobranza.cliente) {
736 $scope.$broadcast('addCabecera', { 740 $scope.$broadcast('addCabecera', {
737 label: 'Cliente:', 741 label: 'Cliente:',
738 valor: $filter('rellenarDigitos')(cobranza.cliente.COD, 5) + ' - ' + 742 valor: $filter('rellenarDigitos')(cobranza.cliente.COD, 5) + ' - ' +
739 cobranza.cliente.NOM 743 cobranza.cliente.NOM
740 }); 744 });
741 } 745 }
742 if (cobranza.cobrador && cobranza.cobrador.NUM) { 746 if (cobranza.cobrador && cobranza.cobrador.NUM) {
743 $scope.$broadcast('addCabecera', { 747 $scope.$broadcast('addCabecera', {
744 label: 'Cobrador:', 748 label: 'Cobrador:',
745 valor: (cobranza.cobrador.NUM) ? 749 valor: (cobranza.cobrador.NUM) ?
746 $filter('rellenarDigitos')(cobranza.cobrador.NUM, 5) + ' - ' + 750 $filter('rellenarDigitos')(cobranza.cobrador.NUM, 5) + ' - ' +
747 cobranza.cobrador.NOM : cobranza.cobrador 751 cobranza.cobrador.NOM : cobranza.cobrador
748 752
749 }); 753 });
750 } 754 }
751 755
752 $scope.cobranza = cobranza; 756 $scope.cobranza = cobranza;
753 } 757 }
754 758
755 function getLSCobranza() { 759 function getLSCobranza() {
756 var cobranza = JSON.parse($localStorage.cobranza || null); 760 var cobranza = JSON.parse($localStorage.cobranza || null);
757 if (cobranza) { 761 if (cobranza) {
758 setearCobranza(cobranza); 762 setearCobranza(cobranza);
759 delete $localStorage.cobranza; 763 delete $localStorage.cobranza;
760 } 764 }
761 } 765 }
762 } 766 }
763 ]); 767 ]);
764 768