Commit 6a6a09dc6af2acd9ac2f06fdc7062cdde738ce02

Authored by Eric Fernandez
Exists in master

Merge branch 'master' into 'master'

Master

See merge request !53
src/js/controller.js
1 1 angular.module('focaCrearCobranza') .controller('cobranzaController',
2 2 [
3   - '$scope', '$rootScope', '$timeout', '$uibModal', '$location',
  3 + '$scope', '$timeout', '$uibModal', '$location',
4 4 'focaCrearCobranzaService', 'focaModalService', '$filter', 'focaSeguimientoService',
5 5 'focaBotoneraLateralService', 'APP', 'focaLoginService',
6   - function($scope, $rootScope, $timeout, $uibModal, $location, focaCrearCobranzaService,
  6 + function($scope, $timeout, $uibModal, $location, focaCrearCobranzaService,
7 7 focaModalService, $filter, focaSeguimientoService, focaBotoneraLateralService,
8 8 APP, loginService)
9 9 {
... ... @@ -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,46 @@ 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 + }, function() {}
  546 + );
  547 + };
  548 +
499 549 $scope.seleccionarMoneda = function() {
500 550 var parametrosModal = {
501 551 titulo: 'Búsqueda de monedas',
... ... @@ -568,8 +618,9 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
568 618 nombre: 'Codigo',
569 619 filtro: {
570 620 nombre: 'rellenarDigitos',
571   - parametro: 3}
572   - },
  621 + parametro: 3
  622 + }
  623 + },
573 624 {
574 625 propiedad: 'NOM',
575 626 nombre: 'Nombre'
... ... @@ -608,7 +659,7 @@ angular.module(&#39;focaCrearCobranza&#39;) .controller(&#39;cobranzaController&#39;,
608 659 };
609 660  
610 661 $scope.getSubTotal = function() {
611   - if($scope.articuloACargar) {
  662 + if ($scope.articuloACargar) {
612 663 return $scope.articuloACargar.precio * $scope.articuloACargar.cantidad;
613 664 }
614 665 };
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">