From 8cf19703ca19ffbd33a76bb670155631003fe9ef Mon Sep 17 00:00:00 2001 From: Marcelo Puebla Date: Mon, 2 Mar 2020 15:55:28 -0300 Subject: [PATCH] Fix Orden en que se muestran los sinonimos --- src/app/interfaces/IArticulo.ts | 1 + .../seleccion-articulos.component.ts | 17 +++++++++-------- .../header-publicidad/header-publicidad.component.ts | 17 +++++++++-------- src/app/shared/promocion/promocion.component.ts | 17 +++++++++-------- 4 files changed, 28 insertions(+), 24 deletions(-) diff --git a/src/app/interfaces/IArticulo.ts b/src/app/interfaces/IArticulo.ts index f6cfe74..dd0852d 100644 --- a/src/app/interfaces/IArticulo.ts +++ b/src/app/interfaces/IArticulo.ts @@ -35,6 +35,7 @@ export interface IArticulo { FECHA_VIGENCIA_HASTA?: Date; FECHA_VIGENCIA_DESDE?: Date; ExiVta?: number; + ORDEN_P? : number; } export interface ICodigoBarra { diff --git a/src/app/modules/seleccion-articulos/seleccion-articulos.component.ts b/src/app/modules/seleccion-articulos/seleccion-articulos.component.ts index 1dbf677..85dae7f 100644 --- a/src/app/modules/seleccion-articulos/seleccion-articulos.component.ts +++ b/src/app/modules/seleccion-articulos/seleccion-articulos.component.ts @@ -129,16 +129,17 @@ export class SeleccionArticulosComponent implements OnInit, AfterViewInit, OnDes .subscribe((res: any[]) => { if (res.length) { const sinonimos = []; - const gruposArticulos = _.groupBy(res[0].productos, 'ID_SIN'); - Object.keys(gruposArticulos).forEach((key, i) => { + const gruposArticulos = _.groupBy(res[0].productos, 'ORDEN_P'); + Object.keys(gruposArticulos).forEach(key => { sinonimos.push({ productos: gruposArticulos[key], }); - for (const a of articulo.productos) { - if (key === a.idSinonimo.toString()) { - sinonimos[i].cantidad = sinonimos[i].cantidadRestante = a.cantidad; - continue; - } - } }); + for (let j = 0; j < articulo.productos.length; j++) { + Object.keys(gruposArticulos).forEach((key, i) => { + if (gruposArticulos[key][i].ID_SIN.toString() === articulo.productos[j].idSinonimo.toString()) { + sinonimos[i].cantidad = sinonimos[i].cantidadRestante = articulo.productos[j].cantidad; + } + }); + } res = sinonimos; this.openModalSinonimos(res, articulo); } else { diff --git a/src/app/shared/header-publicidad/header-publicidad.component.ts b/src/app/shared/header-publicidad/header-publicidad.component.ts index c758b15..fe863b1 100644 --- a/src/app/shared/header-publicidad/header-publicidad.component.ts +++ b/src/app/shared/header-publicidad/header-publicidad.component.ts @@ -104,16 +104,17 @@ export class HeaderPublicidadComponent implements OnInit { .subscribe((res: ISinonimo[]) => { if (res.length) { const sinonimos = []; - const gruposArticulos = _.groupBy(res[0].productos, 'ID_SIN'); - Object.keys(gruposArticulos).forEach((key, i) => { + const gruposArticulos = _.groupBy(res[0].productos, 'ORDEN_P'); + Object.keys(gruposArticulos).forEach(key => { sinonimos.push({ productos: gruposArticulos[key], }); - for (const a of articulo.productos) { - if (key === a.idSinonimo.toString()) { - sinonimos[i].cantidad = sinonimos[i].cantidadRestante = a.cantidad; - continue; - } - } }); + for (let j = 0; j < articulo.productos.length; j++) { + Object.keys(gruposArticulos).forEach((key, i) => { + if (gruposArticulos[key][i].ID_SIN.toString() === articulo.productos[j].idSinonimo.toString()) { + sinonimos[i].cantidad = sinonimos[i].cantidadRestante = articulo.productos[j].cantidad; + } + }); + } res = sinonimos; this.openModalSinonimos(res, articulo); } else { diff --git a/src/app/shared/promocion/promocion.component.ts b/src/app/shared/promocion/promocion.component.ts index 878402e..c809038 100644 --- a/src/app/shared/promocion/promocion.component.ts +++ b/src/app/shared/promocion/promocion.component.ts @@ -50,16 +50,17 @@ export class PromocionComponent implements OnInit { .subscribe((res: ISinonimo[]) => { if (res.length) { const sinonimos = []; - const gruposArticulos = _.groupBy(res[0].productos, 'ID_SIN'); - Object.keys(gruposArticulos).forEach((key, i) => { + const gruposArticulos = _.groupBy(res[0].productos, 'ORDEN_P'); + Object.keys(gruposArticulos).forEach(key => { sinonimos.push({ productos: gruposArticulos[key], }); - for (const a of promo.productos) { - if (key === a.idSinonimo.toString()) { - sinonimos[i].cantidad = sinonimos[i].cantidadRestante = a.cantidad; - continue; - } - } }); + for (let j = 0; j < promo.productos.length; j++) { + Object.keys(gruposArticulos).forEach((key, i) => { + if (gruposArticulos[key][i].ID_SIN.toString() === promo.productos[j].idSinonimo.toString()) { + sinonimos[i].cantidad = sinonimos[i].cantidadRestante = promo.productos[j].cantidad; + } + }); + } res = sinonimos; this.openModalSinonimos(res, promo); } else { -- 1.9.1