Commit 3455ab80618e37a291ae9b1b4cb11ccd99960dae

Authored by Benjamin Rodriguez
1 parent b1ef254363
Exists in master

arreglos identacion y variable

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