catalogo, avanti, grafica

This commit is contained in:
Surya Paolo
2024-05-05 19:08:58 +02:00
parent 3fcff43af0
commit 6834dd1d55

View File

@@ -310,7 +310,7 @@ router.post('/import', authenticate, async (req, res) => {
}
}
const cancella_categorie = true;
const cancella_categorie = false;
if (cancella_categorie) {
await CatProd.deleteMany({ idapp });
@@ -579,8 +579,17 @@ router.post('/import', authenticate, async (req, res) => {
}
}
// cerca l'indice della versione in arrvariazioni
let ind = arrvariazioni.findIndex(x => x.versione === versione);
let nuovaVariazione = ind < 0;
//
let variazione = {};
if (!nuovaVariazione) {
// Mantieni intatte questi campi del RECORD su DB:
variazione.quantita = arrvariazioni[ind].quantita;
}
variazione.active = true; // ++ ??
variazione.versione = versione;
variazione.status = product.Stato ? product.Stato : null;
@@ -591,7 +600,9 @@ router.post('/import', authenticate, async (req, res) => {
variazione.edizione = product.Edizione ? product.Edizione : '';
variazione.eta = product.eta ? product.eta : '';
variazione.addtocart_link = product.addtocart_link ? product.addtocart_link : '';
if (!options.aggiornaStockQty && esisteindb && !isnuovo) {
if (!options.aggiornaStockQty && !nuovaVariazione) {
// non aggiornare la Quantita in magazzino
} else if (product.Quantita) {
variazione.quantita = parseInt(product.Quantita);
@@ -600,13 +611,14 @@ router.post('/import', authenticate, async (req, res) => {
// -----------------------------
// cerca l'indice della versione in arrvariazioni
let ind = arrvariazioni.findIndex(x => x.versione === versione);
if (ind >= 0)
arrvariazioni[ind] = variazione; // aggiorna il record "ind" in arrvariazioni
else
arrvariazioni.push(variazione); // aggiunge un nuovo record in arrvariazioni
// Effettua l'ordinamento seguendo la "versione"
arrvariazioni.sort((a, b) => a.versione - b.versione);
// Inserisce o aggiorna il record variazione nell'array delle variazioni, in base a "versione"
if (isnuovo) {
myproduct.arrvariazioni = arrvariazioni;
@@ -635,7 +647,52 @@ router.post('/import', authenticate, async (req, res) => {
updated++;
let modif = '';
for (const field of arrfieldchange) {
modif += field + ': ' + recold[field] + ' -> ' + recnew[field] + ' | ';
if (field === 'arrvariazioni') {
modif += field + ': '
// Controlla quali campi sono variati tra recold.arrvariazioni e recnew.arrvariazioni
for (const variazione of recnew.arrvariazioni) {
// trova la versione in recold.arrvariazioni
let ind = recold.arrvariazioni.findIndex(x => x.versione === variazione.versione);
if (ind < 0) {
modif += 'Nuova Variazione [' + variazione.versione + '] ' + variazione.status + ' | Price: ' + variazione.price + ' -> Sale_Price: ' + variazione.sale_price + ' | ';
} else {
let oldvariazione = recold.arrvariazioni[ind];
if (oldvariazione.status !== variazione.status) {
modif += 'Variazione [' + oldvariazione.versione + '] ' + variazione.status + ' -> ' + variazione.status;
}
if (oldvariazione.price !== variazione.price) {
modif += ' | Price: ' + oldvariazione.price + ' -> ' + variazione.price;
}
if (oldvariazione.sale_price !== variazione.sale_price) {
modif += ' | Sale Price: ' + oldvariazione.sale_price + ' -> ' + variazione.sale_price;
}
if (oldvariazione.formato !== variazione.formato) {
modif += ' | Formato: ' + oldvariazione.formato + ' -> ' + variazione.formato;
}
if (oldvariazione.tipologia !== variazione.tipologia) {
modif += ' | Tipologia: ' + oldvariazione.tipologia + ' -> ' + variazione.tipologia;
}
if (oldvariazione.edizione !== variazione.edizione) {
modif += ' | Edizione: ' + oldvariazione.edizione + ' -> ' + variazione.edizione;
}
if (oldvariazione.eta !== variazione.eta) {
modif += ' | Età: ' + oldvariazione.eta + ' -> ' + variazione.eta;
}
if (oldvariazione.preOrderDate !== variazione.preOrderDate) {
modif += ' | PreOrderDate: ' + oldvariazione.preOrderDate + ' -> ' + variazione.preOrderDate;
}
if (oldvariazione.addtocart_link !== variazione.addtocart_link) {
modif += ' | AddToCart: ' + oldvariazione.addtocart_link + ' -> ' + variazione.addtocart_link;
}
}
}
} else {
modif += field + ': ' + recold[field] + ' -> ' + recnew[field] + ' | ';
}
}
console.log('Changed: [' + indprod + '/' + dataObjects.length + ']', productInfo.name, '[' + myproduct.idProductInfo + '] : ' + modif);