Commit 11005825886e769ea449ec7ab733ed08126a57b2

Authored by Luigi
1 parent 3932bc219c
Exists in master

Arreglo de espacios

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