Commit d72cb9686c7f34a41144111954b4f360f0f7bdab

Authored by Benjamin Rodriguez
1 parent f5e26a9049
Exists in master

se elimina tarea pausada al guardar o salir

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