Commit da53adbda8b5f74459b6eb2aafa09bda09b255f8

Authored by Marcelo Puebla
1 parent a75d80f78f
Exists in master

Codigo identado.

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