Commit b1ef254363ebd5eb2120f1125fc2df9672747380

Authored by Benjamin Rodriguez
1 parent 0422de01df
Exists in master

arreglos identacion y variable

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