Commit ef2fc13784e816510622bc1b0295cc22496e1c52

Authored by Luigi
1 parent 96fd1c75d0
Exists in master

Espacios en blanco - Identacion

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