Commit 2bc1301078ebadda2ab3ca616cfa4e84dd66920e

Authored by Eric
1 parent d57e07de31
Exists in master

fix mobile

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