- aggiunto note 'note_ordine_gas'

- corretto bug
This commit is contained in:
Surya Paolo
2024-03-26 15:36:49 +01:00
parent bf1e9b83ba
commit 39687265c8
10 changed files with 83 additions and 14 deletions

View File

@@ -1,11 +1,11 @@
DATABASE=test_FreePlanet DATABASE=test_PiuCheBuono
UDB=paofreeplanet UDB=paofreeplanet
PDB=mypassword@1A PDB=mypassword@1A
SEND_EMAIL=0 SEND_EMAIL=0
SEND_EMAIL_ORDERS=1 SEND_EMAIL_ORDERS=1
PORT=3000 PORT=3000
appTelegram_TEST=["1","13"] appTelegram_TEST=["1","17"]
appTelegram=["1","13"] appTelegram=["1","17"]
DOMAIN=mongodb://localhost:27017/ DOMAIN=mongodb://localhost:27017/
AUTH_MONGODB=true AUTH_MONGODB=true
MONGODB_USER=admin MONGODB_USER=admin

View File

@@ -30,6 +30,9 @@ const CartSchema = new Schema({
note: { note: {
type: String, type: String,
}, },
note_ordine_gas: {
type: String,
},
modify_at: { modify_at: {
type: Date, type: Date,
}, },
@@ -121,6 +124,7 @@ module.exports.updateCartByCartId = async function (cartId, newCart) {
const totalPrice = newCart.totalPrice; const totalPrice = newCart.totalPrice;
const totalPriceCalc = newCart.totalPriceCalc; const totalPriceCalc = newCart.totalPriceCalc;
const note = newCart.note; const note = newCart.note;
const note_ordine_gas = newCart.note_ordine_gas;
const modify_at = new Date(); const modify_at = new Date();
@@ -131,6 +135,7 @@ module.exports.updateCartByCartId = async function (cartId, newCart) {
totalPriceCalc, totalPriceCalc,
totalQty, totalQty,
note, note,
note_ordine_gas,
modify_at: new Date(), modify_at: new Date(),
}, },
}, { new: false }).lean().then((ris) => { }, { new: false }).lean().then((ris) => {

View File

@@ -34,6 +34,9 @@ const gasordineSchema = new Schema({
img: { img: {
type: String, type: String,
}, },
note_ordine_gas: {
type: String,
},
dataora_chiusura_ordini: { dataora_chiusura_ordini: {
type: Date, type: Date,

View File

@@ -94,6 +94,9 @@ const OrdersCartSchema = new Schema({
note_per_gestore: { note_per_gestore: {
type: String type: String
}, },
note_ordine_gas: {
type: String
},
note_per_admin: { note_per_admin: {
type: String type: String
}, },
@@ -1079,7 +1082,8 @@ module.exports.updateOrdersCartTotals = async function (idOrdersCart, update) {
let newOrdersCart = CartClass.constructByCart(orderscart); let newOrdersCart = CartClass.constructByCart(orderscart);
await newOrdersCart.updatecarttotals(false); newOrdersCart.updatecarttotals(false);
await newOrdersCart.updateExtraOrder();
if (update) { if (update) {
await OrdersCart.findOneAndUpdate({ _id: idOrdersCart }, { await OrdersCart.findOneAndUpdate({ _id: idOrdersCart }, {

View File

@@ -3,6 +3,8 @@ const cartModel = require('../models/cart')
const { ObjectID } = require('mongodb'); const { ObjectID } = require('mongodb');
const Gasordine = require('../models/gasordine');
const Order = require('../models/order'); const Order = require('../models/order');
class Cart { class Cart {
@@ -33,6 +35,7 @@ class Cart {
mynewcart.department = cart.department; mynewcart.department = cart.department;
mynewcart.userId = cart.userId || ""; mynewcart.userId = cart.userId || "";
mynewcart.modify_at = new Date(); mynewcart.modify_at = new Date();
mynewcart.note_ordine_gas = '';
return mynewcart; return mynewcart;
} catch (e) { } catch (e) {
@@ -100,6 +103,7 @@ class Cart {
myitem.order = Order.updateTotals(myitem.order); myitem.order = Order.updateTotals(myitem.order);
this.updatecarttotals(false); this.updatecarttotals(false);
await this.updateExtraOrder();
await Order.findOneAndUpdate({ _id: myitem.order._id }, { $set: myitem.order }, { new: false }); await Order.findOneAndUpdate({ _id: myitem.order._id }, { $set: myitem.order }, { new: false });
return myitem.order; return myitem.order;
} }
@@ -138,6 +142,7 @@ class Cart {
} }
myitem.order = Order.updateTotals(myitem.order); myitem.order = Order.updateTotals(myitem.order);
this.updatecarttotals(false); this.updatecarttotals(false);
await this.updateExtraOrder();
await Order.findOneAndUpdate({ _id: myitem.order._id }, { $set: myitem.order }, { new: false }); await Order.findOneAndUpdate({ _id: myitem.order._id }, { $set: myitem.order }, { new: false });
return myitem.order; return myitem.order;
@@ -148,7 +153,7 @@ class Cart {
} }
addItem(itemorder) { async addItem(itemorder) {
// this.items.push(itemorder); // this.items.push(itemorder);
let ind = this.items.length; let ind = this.items.length;
@@ -156,14 +161,16 @@ class Cart {
this.items[ind].order = itemorder; this.items[ind].order = itemorder;
this.items[ind].order = Order.updateTotals(this.items[ind].order); this.items[ind].order = Order.updateTotals(this.items[ind].order);
this.updatecarttotals(false); this.updatecarttotals(false);
await this.updateExtraOrder();
return ind; return ind;
} }
removeItem(orderId) { async removeItem(orderId) {
// this.items.push(itemorder); // this.items.push(itemorder);
this.items = this.items.filter(item => item.order._id.toString() !== orderId.toString()); this.items = this.items.filter(item => item.order._id.toString() !== orderId.toString());
this.updatecarttotals(false); this.updatecarttotals(false);
await this.updateExtraOrder();
} }
generateModel() { generateModel() {
@@ -177,6 +184,7 @@ class Cart {
userId: this.userId, userId: this.userId,
department: this.department, department: this.department,
note: this.note, note: this.note,
note_ordine_gas: this.note_ordine_gas,
modify_at: this.modify_at modify_at: this.modify_at
}) })
return newCart return newCart
@@ -271,6 +279,39 @@ class Cart {
} }
async updateExtraOrder() {
try {
let arrGas = [];
const precnoteordgas = this.note_ordine_gas
this.note_ordine_gas = '';
for (const rec in this.items) {
let order = this.items[rec].order;
if (!order) {
order = this.items[rec];
}
// Prendo la nota valida e la metto visibile sul Carrello !
if (order.idGasordine) {
const recGas = await Gasordine.findOne({ _id: order.idGasordine }).lean();
if (recGas) {
if (recGas.note_ordine_gas) {
if (!arrGas.includes(recGas._id.toString())) {
if (this.note_ordine_gas)
this.note_ordine_gas += '<br>'
this.note_ordine_gas += '<strong>' + recGas.name + '</strong>' + ':<br>' + recGas.note_ordine_gas;
arrGas.push(recGas._id.toString());
}
}
}
}
}
} catch (e) {
console.error('Err:', e);
}
}
generateArray() { generateArray() {
let arr = []; let arr = [];
for (let id in this.items) { for (let id in this.items) {

View File

@@ -179,5 +179,11 @@ module.exports = {
"label" : "Bitcoin", "label" : "Bitcoin",
"__v" : 0 "__v" : 0
}, },
{
"_id" : ObjectID("51bc482667de9a1f64b255ff"),
"idapp" : "13",
"label" : "Banca del Tempo",
"__v" : 0
},
] ]
} }

View File

@@ -108,7 +108,7 @@ async function completaSettaggioProduct_AndProductInfo(arrcampi_productInfo, arr
productInfo._id = precid; productInfo._id = precid;
else else
delete productInfo._id; delete productInfo._id;
productInfo.code = preccode; productInfo.code = preccode;
} }
} }
@@ -472,6 +472,7 @@ router.post('/import', authenticate, async (req, res) => {
} }
} }
if (!rec.hasOwnProperty('active')) { if (!rec.hasOwnProperty('active')) {
product.active = true; product.active = true;
} }
@@ -508,6 +509,13 @@ router.post('/import', authenticate, async (req, res) => {
recGas = await Gasordine.findOne({ idapp, name: rec.gas_name }).lean(); recGas = await Gasordine.findOne({ idapp, name: rec.gas_name }).lean();
} }
if (recGas) {
if (rec.hasOwnProperty('note_ordine_gas')) {
const note_ordine_gas = rec['note_ordine_gas'];
await Gasordine.findOneAndUpdate({ _id: recGas._id }, { $set: { note_ordine_gas } });
}
}
let recProductExist = null; let recProductExist = null;
let queryprod = { idProductInfo: product.idProductInfo }; let queryprod = { idProductInfo: product.idProductInfo };

View File

@@ -96,7 +96,7 @@ router.post('/:userId', authenticate, async function (req, res, next) {
} else if (subqty) { } else if (subqty) {
myord = await newCart.subqty(order); myord = await newCart.subqty(order);
} else { } else {
const ind = newCart.addItem(order); const ind = await newCart.addItem(order);
const arrord = await Order.getTotalOrderById(order._id); const arrord = await Order.getTotalOrderById(order._id);
myord = arrord ? arrord[0] : null; myord = arrord ? arrord[0] : null;
} }
@@ -104,7 +104,8 @@ router.post('/:userId', authenticate, async function (req, res, next) {
return res.send({ code: server_constants.RIS_CODE_ERR, cart: null, myord: null, msgerr: 'Non è possibile acquistare nello stesso ordine, su negozi differenti!' }); return res.send({ code: server_constants.RIS_CODE_ERR, cart: null, myord: null, msgerr: 'Non è possibile acquistare nello stesso ordine, su negozi differenti!' });
} }
} else { } else {
await newCart.updatecarttotals(true); newCart.updatecarttotals(true);
await newCart.updateExtraOrder();
const arrord = await Order.getTotalOrderById(order._id); const arrord = await Order.getTotalOrderById(order._id);
myord = arrord ? arrord[0] : null; myord = arrord ? arrord[0] : null;
} }
@@ -162,7 +163,7 @@ router.delete('/:userId', authenticate, async function (req, res) {
// Rimuovere l'id sul Carrello // Rimuovere l'id sul Carrello
let newCart = CartClass.constructByCart(mycart); let newCart = CartClass.constructByCart(mycart);
newCart.removeItem(orderId); await newCart.removeItem(orderId);
let carttot = null; let carttot = null;
const cart = await Cart.updateCartByCartId(mycart._id, newCart.generateModel()); const cart = await Cart.updateCartByCartId(mycart._id, newCart.generateModel());
@@ -276,6 +277,7 @@ router.post('/:userId/createorderscart', authenticate, async function (req, res,
totalQty: mycart.totalQty, totalQty: mycart.totalQty,
totalPrice: mycart.totalPrice, totalPrice: mycart.totalPrice,
totalPriceCalc: mycart.totalPriceCalc, totalPriceCalc: mycart.totalPriceCalc,
note_ordine_gas: mycart.note_ordine_gas,
userId, userId,
status, status,
note, note,

View File

@@ -851,10 +851,9 @@ router.patch('/chval', authenticate, async (req, res) => {
// tools.mylogshow('PATCH CHVAL: ', id, fieldsvalue); // tools.mylogshow('PATCH CHVAL: ', id, fieldsvalue);
req.user.perm = 0;
// If I change my record... // If I change my record...
if (((!User.isAdmin(req.user.perm) if ((
(!User.isAdmin(req.user.perm)
&& !User.isManager(req.user.perm) && !User.isManager(req.user.perm)
&& !User.isEditor(req.user.perm) && !User.isEditor(req.user.perm)
&& !User.isFacilitatore(req.user.perm)) && !User.isFacilitatore(req.user.perm))

View File

@@ -518,8 +518,9 @@ async function inizia() {
try { try {
if (true) { if (true) {
const url = 'https://raw.githubusercontent.com/matteocontrini/comuni-json/master/comuni.json';
const outputPath = './comuni_italia_geojson.json'; const outputPath = './comuni_italia_geojson.json';
downloadGeoJSON('', outputPath); downloadGeoJSON(url, outputPath);
} }
mycron_everyday(); mycron_everyday();