inserimento in Movimenti del Circuito

This commit is contained in:
Surya Paolo
2024-01-04 15:43:13 +01:00
parent b754492b41
commit d7ae8baec4
8 changed files with 45 additions and 26 deletions

View File

@@ -272,8 +272,8 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp,
const { Circuit } = require('../models/circuit');
if (username === undefined)
return false;
// if (username === undefined)
// return false;
let myquery = {
idapp,

View File

@@ -104,7 +104,7 @@ module.exports.createMovementCashByOrdersCart = async function (ordersCart, user
type: shared_consts.TYPECASH.IN,
fromUsername: ordersCart.user.username,
toUsername: usernameStore,
causale: 'Pagato Ordine n.' + ordersCart.numorder,
causal: 'Pagato Ordine n.' + ordersCart.numorder,
price: ordersCart.totalPrice,
internal,
}

View File

@@ -669,6 +669,7 @@ CircuitSchema.statics.sendCoins = async function (onlycheck, idapp, usernameOrig
const esisteDest = await Account.isExistAccountByUsernameAndCircuitId(idapp, extrarec.dest, circuittable._id, extrarec.groupdest, extrarec.contoComDest);
if (!esisteDest) {
// Fallo entrare anche sul Circuito (oltre ad aver creato l'Account).
await User.addCircuitToUser(idapp, usernameOrig, extrarec.circuitname, false, extrarec.groupdest, extrarec.contoComDest);
@@ -708,7 +709,7 @@ CircuitSchema.statics.sendCoins = async function (onlycheck, idapp, usernameOrig
if (!onlycheck) {
// Add a Transaction !
if (ris.cansend) {
ris.rec = await Movement.addMov(idapp, accountorigTable, accountdestTable, myqty, extrarec.causal, extrarec.notifId, null);
ris.rec = await Movement.addMov(idapp, accountorigTable, accountdestTable, myqty, extrarec.causal, extrarec.notifId, extrarec.idOrdersCart);
}
if (ris.cansend && ris.rec) {
@@ -1225,12 +1226,14 @@ CircuitSchema.statics.setFido = async function (idapp, username, circuitName, gr
return null;
};
CircuitSchema.statics.addMovementByOrdersCart = async function (idapp, ordersCart, usernameDest, groupDest) {
CircuitSchema.statics.addMovementByOrdersCart = async function (ordersCart, usernameDest, groupDest) {
const { User } = require('../models/user');
const idapp = ordersCart.idapp;
let extrarec = {
causale: 'Pagato Ordine n.' + ordersCart.numorder,
causal: 'Pagato Ordine n.' + ordersCart.numorder,
circuitname: 'Euro',
idOrdersCart: ordersCart._id,
qty: ordersCart.totalPrice,
@@ -1239,7 +1242,7 @@ CircuitSchema.statics.addMovementByOrdersCart = async function (idapp, ordersCar
contoComDest: '',
};
const usernameOrig = await User.getUsernameById(idapp, userId);
const usernameOrig = await User.getUsernameById(idapp, ordersCart.userId);
return this.sendCoins(false, idapp, usernameOrig, extrarec);

View File

@@ -107,7 +107,7 @@ MovementSchema.statics.addMov = async function (idapp, accountFromIdTable, accou
transactionDate: new Date(),
accountFromId: accountFromIdTable._id,
accountToId: accountToIdTable._id,
idOrdersCart: idOrdersCart._id ?? null,
idOrdersCart,
amount,
causal,
residual: 0,

View File

@@ -473,14 +473,15 @@ module.exports.createOrdersCart = async function (newOrdersCart) {
}
module.exports.addOrderToMovement = async function (idorderscart, usernameStore, groupnameStore, req) {
module.exports.addOrderToMovement = async function (myOrderCart, usernameStore, groupnameStore, req) {
try {
if (myOrderCart) {
const mymov = await Circuit.addMovementByOrdersCart(myOrderCart, usernameStore, groupnameStore);
return mymov;
}
const myorderscart = await OrdersCart.findOne({ _id: idorderscart }).populate('items.order').lean();
const mymov = await Circuit.addMovementByOrdersCart(id, myOrderCart, usernameStore, groupnameStore);
// const mycash = await Cash.createMovementCashByOrdersCart(myorderscart, usernameStore, req);
return null;
} catch (e) {
console.error('Err', e);
@@ -661,28 +662,38 @@ module.exports.updateStockQtaPerCancellazioneOrdine = async function (idordersca
}
module.exports.getStorehouseByOrdersCart = function (ordersCart) {
return ordersCart && ordersCart.items && ordersCart.items.length > 0 && ordersCart.items[0].order.storehouse
? ordersCart.items[0].order.storehouse
: null
}
module.exports.getUsernameStorehouseActual = async function (ordersCart) {
return ordersCart && ordersCart.storehouse && ordersCart.storehouse.lenght > 0
? ordersCart.storehouse[0].username
const storehouse = OrdersCart.getStorehouseByOrdersCart(ordersCart);
return storehouse
? storehouse.username
: null
}
module.exports.getGroupnameStorehouseActual = async function (ordersCart) {
return ordersCart && ordersCart.storehouse && ordersCart.storehouse.lenght > 0
? ordersCart.storehouse[0].groupname
const storehouse = OrdersCart.getStorehouseByOrdersCart(ordersCart);
return storehouse
? storehouse.groupname
: null
}
module.exports.updateCmd = async function (ordersCart, status, value, req, options) {
let myOrderCart = await OrdersCart.findOne({ _id: ordersCart._id })
.populate('items.order').lean();
let myOrderCart = await OrdersCart.getOrdersCartById(ordersCart._id);
// let myOrderCart = await OrdersCart.findOne({ _id: ordersCart._id })
// .populate('items.order').lean();
const usernameStore = OrdersCart.getUsernameStorehouseActual(ordersCart);
const groupnameStore = OrdersCart.getGroupnameStorehouseActual(ordersCart);
const usernameStore = await OrdersCart.getUsernameStorehouseActual(myOrderCart);
const groupnameStore = await OrdersCart.getGroupnameStorehouseActual(myOrderCart);
try {
if (!!myOrderCart) {
@@ -705,7 +716,7 @@ module.exports.updateCmd = async function (ordersCart, status, value, req, optio
} else if (status === shared_consts.OrderStatus.PAYED) {
if (value) {
await OrdersCart.addOrderToMovement(id, usernameStore, groupnameStore, req);
await OrdersCart.addOrderToMovement(myOrderCart, usernameStore, groupnameStore, req);
}
ris = await OrdersCart.setPagatoById(value, myOrderCart);

View File

@@ -125,6 +125,7 @@ const SiteSchema = new Schema({
showMsgs: { type: Boolean, default: false },
showNotif: { type: Boolean, default: false },
showCoins: { type: Boolean, default: false },
showMenuCoins: { type: Boolean, default: false },
showNameSurname: { type: Boolean, default: false },
showCompetenze: { type: Boolean, default: false },
showConnected: { type: Boolean, default: false },

View File

@@ -256,8 +256,6 @@ router.post('/:userId/createorderscart', authenticate, async function (req, res,
let numorder = await OrdersCart.getLastNumOrder(idapp);
let numord_pers = await OrdersCart.getLastNumOrdPers(userId, idapp);
const userDest = await User.getUserById(idapp, userId);
// Esiste l'ordine ?
let myorderCart = await OrdersCart.getRecCartByUserId(userId, idapp, numorder);
if (!myorderCart) {
@@ -284,6 +282,8 @@ router.post('/:userId/createorderscart', authenticate, async function (req, res,
statusOrderCart = myorderCart.status;
const idordercart = myorderCart._id;
const userDest = await User.findById(userId).lean();
if (!!mycart) {
if (status === shared_consts.OrderStatus.CHECKOUT_SENT) {
@@ -359,7 +359,6 @@ router.post('/:userId/ordercartstatus', authenticate, async function (req, res,
const { User } = require('../models/user');
const userDest = await User.getUserById(userId);
let orderCart = await OrdersCart.findOne({ idapp, _id: order_id }).lean();
@@ -376,6 +375,7 @@ router.post('/:userId/ordercartstatus', authenticate, async function (req, res,
await OrdersCart.findOneAndUpdate({ _id: order_id }, { $set: fields_to_update }
, { new: false })
.then(async (ris) => {
const userDest = await User.findById(orderCart.userId).lean();
if (ris) {