Commit f1084d43f3b4b419809c25453f3394a0141dc31d

Authored by Jose Pinto
1 parent 2bc44e6eae
Exists in master

cobrar por detalle

Showing 2 changed files with 72 additions and 14 deletions   Show diff stats
src/js/controller.js
... ... @@ -123,6 +123,8 @@ angular.module('focaCrearCobranza') .controller('cobranzaController',
123 123 var cobranza = {};
124 124 var cheques = [];
125 125 var cuerpos = [];
  126 + var imgs = [];
  127 + var observacion;
126 128 //TODO: habilitar edición
127 129 $scope.editando = false;
128 130 focaBotoneraLateralService.startGuardar();
... ... @@ -145,11 +147,12 @@ angular.module('focaCrearCobranza') .controller('cobranzaController',
145 147 NCU: $scope.facturaTabla[i].NCU
146 148 };
147 149 cuerpos.push(cuerpoFactura);
  150 +
148 151 }
149 152  
150 153 for (var j = 0; j < $scope.cobrosTabla.length; j++) {
151 154  
152   - var efectivo = $scope.cobrosTabla[j].tipo === 'Efectivo' ? true : false;
  155 + var efectivo = $scope.cobrosTabla[j].tipo === 'Efectivo';
153 156 var cuerpoCobros = {
154 157 CYV: 'V',
155 158 TIP: 'C',
... ... @@ -157,10 +160,9 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
157 160 PVE: $scope.puntoVenta,
158 161 NCO: $scope.comprobante,
159 162 LOP: 'P',
160   - TIL: 'EF',
161   - COM: efectivo ? 'ef(COBRO EN EFECTIVO)' : 'ch(' +
162   - $scope.cobrosTabla[j].numero + ')' + $scope.cobrosTabla[j].banco.desbco,
163   - FEC: efectivo ?
  163 + TIL: $scope.cobrosTabla[j].til,
  164 + COM: efectivo ? 'ef(COBRO EN EFECTIVO)' : $scope.cobrosTabla[j].tipo,
  165 + FEC: !$scope.cobrosTabla[j].fechaPresentacion ?
164 166 $scope.cobrosTabla[j].fecha
165 167 .toISOString().slice(0, 19).replace('T', ' ') :
166 168 $scope.cobrosTabla[j].fechaPresentacion
... ... @@ -171,7 +173,10 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
171 173 };
172 174 cuerpos.push(cuerpoCobros);
173 175  
174   - if(!efectivo) {
  176 + if($scope.cobrosTabla[j].observacion)
  177 + observacion = $scope.cobrosTabla[j].observacion;
  178 +
  179 + if($scope.cobrosTabla[j].banco) {
175 180 var cheque = {
176 181 BCO: $scope.cobrosTabla[j].banco.ID,
177 182 NUM: $scope.comprobante,
... ... @@ -217,6 +222,8 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
217 222 };
218 223 cheques.push(cheque);
219 224 }
  225 + if ($scope.cobrosTabla[j].imgs) imgs = $scope.cobrosTabla[j].imgs;
  226 +
220 227 }
221 228  
222 229 cobranza = {
... ... @@ -267,7 +274,9 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
267 274 DAT1: 'C',
268 275 CLI: $scope.cobranza.cliente.COD
269 276 },
270   - cliente: $scope.cobranza.cliente
  277 + cliente: $scope.cobranza.cliente,
  278 + imgs: imgs,
  279 + observacion: observacion
271 280 };
272 281 //COPIO cobranzaMail Y A cobranza LE ELIMINO EL VALOR NCU DE LOS CUERPOS
273 282 var cobranzaMail = angular.copy(cobranza);
... ... @@ -276,7 +285,6 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
276 285 return c;
277 286 });
278 287  
279   -
280 288 focaCrearCobranzaService
281 289 .guardarCobranza(cobranza)
282 290 .then(
... ... @@ -444,7 +452,7 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
444 452 modalInstance.result.then(
445 453 function(cheque) {
446 454 var cobro = {
447   - tipo: 'Ch' + '(' + cheque.numero + ')' + ' ' + cheque.banco.desbco,
  455 + tipo: 'ch' + '(' + cheque.numero + ')' + ' ' + cheque.banco.desbco,
448 456 numero: cheque.numero,
449 457 banco: cheque.banco,
450 458 fecha: cheque.fechaEmision.toLocaleDateString() + '-' +
... ... @@ -455,7 +463,8 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
455 463 localidad: cheque.localidad,
456 464 librador: cheque.librador,
457 465 provincia: cheque.provincia,
458   - observaciones: cheque.observaciones
  466 + observaciones: cheque.observaciones,
  467 + til: 'EF'
459 468 };
460 469 $scope.cobrosTabla.push(cobro);
461 470 }, function() {
... ... @@ -484,7 +493,8 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
484 493 var cobro = {
485 494 tipo: 'Efectivo',
486 495 fecha: new Date(),
487   - importe: efectivo * $scope.cobranza.cotizacion.VENDEDOR
  496 + importe: efectivo * $scope.cobranza.cotizacion.VENDEDOR,
  497 + til: 'EF'
488 498 };
489 499 $scope.cobrosTabla = $scope.cobrosTabla.filter(function(a) {
490 500 return a.tipo !== 'Efectivo';
... ... @@ -496,6 +506,47 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
496 506 );
497 507 };
498 508  
  509 + $scope.seleccionarDetalles = function() {
  510 + var modalInstance = $uibModal.open(
  511 + {
  512 + ariaLabelledBy: 'Carga de detalles',
  513 + templateUrl: 'modal-detalles.html',
  514 + controller: 'focaModalDetallesController',
  515 + size: 'lg',
  516 + resolve: {
  517 + sugerido: function() {
  518 + var sugerido = $scope.getTotalDeuda() + $scope.getTotalCobrado();
  519 + return sugerido < 0 ? sugerido : null;
  520 + }
  521 + }
  522 + }
  523 + );
  524 + modalInstance.result.then(
  525 + function(detalles) {
  526 + var cobro = {
  527 + tipo: 'de(COBRO POR DETALLES)',
  528 + fecha: new Date(),
  529 + importe: detalles.monto * $scope.cobranza.cotizacion.VENDEDOR,
  530 + imgs: detalles.imgs,
  531 + til: 'DE',
  532 + observacion: detalles.observacion
  533 + };
  534 + var existe = false;
  535 +
  536 + $scope.cobrosTabla.forEach(function(c, idx) {
  537 + if (c.til === 'DE') {
  538 + $scope.cobrosTabla[idx] = cobro;
  539 + existe = true;
  540 + }
  541 + });
  542 + if (!existe) {
  543 + $scope.cobrosTabla.push(cobro);
  544 + }
  545 + console.log('$scope.cobrosTabla', $scope.cobrosTabla);
  546 + }, function() {}
  547 + );
  548 + };
  549 +
499 550 $scope.seleccionarMoneda = function() {
500 551 var parametrosModal = {
501 552 titulo: 'Búsqueda de monedas',
... ... @@ -568,8 +619,9 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
568 619 nombre: 'Codigo',
569 620 filtro: {
570 621 nombre: 'rellenarDigitos',
571   - parametro: 3}
572   - },
  622 + parametro: 3
  623 + }
  624 + },
573 625 {
574 626 propiedad: 'NOM',
575 627 nombre: 'Nombre'
... ... @@ -608,7 +660,7 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
608 660 };
609 661  
610 662 $scope.getSubTotal = function() {
611   - if($scope.articuloACargar) {
  663 + if ($scope.articuloACargar) {
612 664 return $scope.articuloACargar.precio * $scope.articuloACargar.cantidad;
613 665 }
614 666 };
src/views/cobranza.html
... ... @@ -174,6 +174,12 @@
174 174 ng-click="seleccionarEfectivo()"
175 175 >Efectivo</a>
176 176 </td>
  177 + <td class="col-2 border-top-0">
  178 + <a
  179 + class="form-control form-control-sm btn btn-secondary"
  180 + ng-click="seleccionarDetalles()"
  181 + >Detalle</a>
  182 + </td>
177 183 </tr>
178 184 <tr class="d-flex">
179 185 <td class="col-auto px-1 border-top-0">