Commit 4e3346addd21d11b62457ecfd574632a7070b946

Authored by Luigi
1 parent c5be63091e
Exists in master

Conservar tipo de moneda al pausar

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