Commit dd6d755567fb04f8141e0bacce5526952a95e80a

Authored by Eric
1 parent 560b5953f7
Exists in master

no salto línea

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