Commit 0de0110d70ecac19fd4803660cf4eaf37590763d

Authored by Jose Pinto
1 parent f4b1e80e35
Exists in master

fuera facturas duplicadas

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