Lista Doni Navi 3
This commit is contained in:
@@ -4,6 +4,7 @@ const _ = require('lodash');
|
||||
const tools = require('../tools/general');
|
||||
|
||||
const { ListaIngresso } = require('./listaingresso');
|
||||
const { NavePersistente } = require('./navepersistente');
|
||||
const { Settings } = require('./settings');
|
||||
const { User } = require('./user');
|
||||
|
||||
@@ -76,15 +77,21 @@ const NaveSchema = new mongoose.Schema({
|
||||
type: Number,
|
||||
default: 1
|
||||
},
|
||||
note: {
|
||||
type: String
|
||||
},
|
||||
provvisoria: {
|
||||
type: Boolean
|
||||
},
|
||||
note: {
|
||||
/* note_bot: {
|
||||
type: String
|
||||
},
|
||||
note_interne: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
tutor: {
|
||||
type: String
|
||||
}*/
|
||||
});
|
||||
|
||||
NaveSchema.statics.getTotInLista = async function (idapp) {
|
||||
@@ -419,15 +426,10 @@ function getQueryProj(myfilter) {
|
||||
username: 1,
|
||||
'profile.paymenttypes': 1,
|
||||
'profile.email_paypal': 1,
|
||||
date_start: 1,
|
||||
date_gift_chat_open: 1,
|
||||
made_gift: 1,
|
||||
link_chat: 1,
|
||||
sent_msg_howto_make_gift: 1,
|
||||
date_made_gift: 1,
|
||||
provvisoria: 1,
|
||||
note: 1,
|
||||
note_interne: 1,
|
||||
received_gift: 1,
|
||||
date_received_gift: 1,
|
||||
num_tess: 1,
|
||||
@@ -436,6 +438,14 @@ function getQueryProj(myfilter) {
|
||||
riga: 1,
|
||||
col: 1,
|
||||
created: 1,
|
||||
date_start: 1,
|
||||
date_gift_chat_open: 1,
|
||||
link_chat: 1,
|
||||
provvisoria: 1,
|
||||
note_bot: 1,
|
||||
note_interne: 1,
|
||||
tutor: 1,
|
||||
tutor_namesurname: 1,
|
||||
};
|
||||
|
||||
const query = [
|
||||
@@ -527,8 +537,7 @@ NaveSchema.statics.getPlaccaGenerica = async function (idapp, riga, col, offset,
|
||||
try {
|
||||
let recsognatori = await Nave.findSognatoriByFuoco(idapp, riga, col, offset);
|
||||
let recmediatore = await Nave.findMediatoreByFuoco(idapp, riga, col, offset);
|
||||
|
||||
let primofuoco = getPrimoFuocoByIndCol(col);
|
||||
let navepersistente = await NavePersistente.findByRigaColByDonatore(idapp, riga, col, offset);
|
||||
|
||||
mystr = tools.ACAPO;
|
||||
|
||||
@@ -562,7 +571,7 @@ NaveSchema.statics.getPlaccaGenerica = async function (idapp, riga, col, offset,
|
||||
|
||||
let arrdonatori = [];
|
||||
// let numcol = Math.pow(2, indriga - 1);
|
||||
primofuoco = getPrimoFuocoByIndCol(col * Math.pow(2, offset));
|
||||
let primofuoco = getPrimoFuocoByIndCol(col * Math.pow(2, offset));
|
||||
|
||||
let ind = 1;
|
||||
for (let indcol = primofuoco; indcol < primofuoco + 8; indcol++) {
|
||||
@@ -589,6 +598,7 @@ NaveSchema.statics.getPlaccaGenerica = async function (idapp, riga, col, offset,
|
||||
res = {
|
||||
recsognatori,
|
||||
recmediatore,
|
||||
navepersistente,
|
||||
arrdonatori
|
||||
};
|
||||
|
||||
@@ -624,6 +634,7 @@ NaveSchema.statics.getPlaccaPerDonatore = async function (idapp, riga, col, solo
|
||||
NaveSchema.statics.getPlaccaPerMediatore = async function (idapp, riga, col, solorecord, rec) {
|
||||
const Nave = this;
|
||||
rec.mediatore = await Nave.getPlaccaGenerica(idapp, riga, col, tools.Placca.SONOACQUA, solorecord);
|
||||
rec.mediatore.navepersistente = await NavePersistente.findByRigaColByDonatore(idapp, riga, col, -tools.Placca.SONOACQUA);
|
||||
|
||||
rec.mediatore.arrterra = await Nave.getArrTerra(idapp, riga, col);
|
||||
rec.mediatore.arraria = await Nave.getArrAria(idapp, riga, col);
|
||||
@@ -681,6 +692,7 @@ NaveSchema.statics.getNavePos = async function (idapp, riga, col, solorecord) {
|
||||
await Nave.findRecByRigaColParent(idapp, riga, col, 1)];
|
||||
|
||||
let recmediatore = await Nave.findByRigaCol(idapp, riga, col, true);
|
||||
let recnavepersistente = await NavePersistente.findByRigaCol(idapp, riga, col, 0);
|
||||
|
||||
|
||||
mystr = '🌈SOGNATORE: ';
|
||||
@@ -746,15 +758,17 @@ NaveSchema.statics.getNavePos = async function (idapp, riga, col, solorecord) {
|
||||
let data = "";
|
||||
let mystrtemp = '';
|
||||
if (primofuoco) {
|
||||
data = '💬 Giorno di Apertura GIFT CHAT: ' + tools.getstrDateLong(primofuoco.date_gift_chat_open) + tools.ACAPO;
|
||||
data += "🎁 Giorno in cui Inviare il DONO : " + tools.getstrDateLong(primofuoco.date_start) + tools.ACAPO;
|
||||
if (!!recmediatore.note)
|
||||
data += "Note: " + recmediatore.note + tools.ACAPO;
|
||||
data = '💬 Giorno di Apertura GIFT CHAT: ' + tools.getstrDateLong(recnavepersistente.date_gift_chat_open) + tools.ACAPO;
|
||||
|
||||
if (!!recnavepersistente.tutor_namesurname)
|
||||
data += 'Il Mediatore sarà contattato 1 giorno prima dal Tutor ' + recnavepersistente.tutor_namesurname + tools.ACAPO;
|
||||
|
||||
data += "🎁 Giorno in cui Inviare il DONO : " + tools.getstrDateLong(recnavepersistente.date_start) + tools.ACAPO;
|
||||
if (!!recnavepersistente.note_bot)
|
||||
data += "Note: " + recnavepersistente.note_bot + tools.ACAPO;
|
||||
data += tools.ACAPO;
|
||||
|
||||
data += 'Il Mediatore sarà contattato 1 giorno prima dal Tutor' + tools.ACAPO;
|
||||
|
||||
if (primofuoco.provvisoria)
|
||||
if (recnavepersistente.provvisoria)
|
||||
mystrtemp = 'TEMPORANEA ';
|
||||
} else
|
||||
data = "";
|
||||
@@ -803,6 +817,8 @@ async function Fuochi8Completati(idapp, params) {
|
||||
NaveSchema.statics.getArrPosizioniByIndOrder = async function (idapp, ind_order) {
|
||||
const Nave = this;
|
||||
|
||||
|
||||
|
||||
arrposizioni = await Nave.find({ 'idapp': idapp, ind_order }).sort({ riga: 1, col: 1 });
|
||||
|
||||
return arrposizioni;
|
||||
@@ -826,7 +842,9 @@ NaveSchema.statics.showListaOrd = async function (idapp) {
|
||||
let mystr = '';
|
||||
let conta = 1;
|
||||
for (const rec of arrrec) {
|
||||
mystr += '[' + conta + '] [' + rec.riga + '.' + rec.col + '] ' + rec.ind_order + ' ' + rec.name + ' ' + rec.surname + ' (' + tools.getstrDateShort(rec.date_start) + ')\n';
|
||||
let recnavepersistente = await NavePersistente.findByRigaColByDonatore(idapp, rec.riga, rec.col, 0);
|
||||
|
||||
mystr += '[' + conta + '] [' + rec.riga + '.' + rec.col + '] ' + rec.ind_order + ' ' + rec.name + ' ' + rec.surname + ' (' + tools.getstrDateShort(recnavepersistente.date_start) + ')\n';
|
||||
conta++;
|
||||
}
|
||||
|
||||
@@ -841,6 +859,19 @@ NaveSchema.statics.getLastRigaCol = async function (idapp) {
|
||||
async function addRecordNaveByParams(params, siRitesse) {
|
||||
const { ListaIngresso } = require('./listaingresso');
|
||||
|
||||
let mypos = {
|
||||
idapp: params.idapp,
|
||||
riga: params.riga,
|
||||
col: params.col,
|
||||
numup: -3
|
||||
};
|
||||
tools.getRigaColByPosUp(mypos);
|
||||
|
||||
params.riga1don = mypos.riga;
|
||||
params.col1don = mypos.col;
|
||||
|
||||
await NavePersistente.addRecordNavePersistenteByParams(params);
|
||||
|
||||
if (!siRitesse) {
|
||||
// Check if Exist:
|
||||
const giapresente = await Nave.findOne({
|
||||
@@ -863,10 +894,7 @@ async function addRecordNaveByParams(params, siRitesse) {
|
||||
ind_order: params.ind_order,
|
||||
riga: params.riga,
|
||||
col: params.col,
|
||||
date_start: params.date_start,
|
||||
date_gift_chat_open: params.date_gift_chat_open,
|
||||
num_tess: params.num_tess,
|
||||
provvisoria: params.provvisoria,
|
||||
});
|
||||
myNave.created = new Date();
|
||||
|
||||
@@ -1040,9 +1068,10 @@ NaveSchema.statics.generaNave = async function (idapp, mydata) {
|
||||
let myNave = new Nave({ idapp, indprimario: 0, ind_order: 0, riga: 0, col: 0 });
|
||||
myNave.created = new Date();
|
||||
myNave.parent_id = ObjectID("5e592aecbfd0b75f3021d9c9");
|
||||
myNave.date_start = params.date_start;
|
||||
await myNave.save();
|
||||
|
||||
await NavePersistente.addRecordNavePersistenteByParams({ idapp, riga: 0, col: 0, riga1don: 0, col1don: 0 });
|
||||
|
||||
const userFondo = await User.findByIndOrder(idapp, 0);
|
||||
if (!userFondo || userFondo === undefined) {
|
||||
await telegrambot.sendMsgTelegramToTheAdmin(idapp, 'Devi creare l\'utente FONDO , con ind_order = 0 ! ');
|
||||
|
||||
178
src/server/models/navepersistente.js
Executable file
178
src/server/models/navepersistente.js
Executable file
@@ -0,0 +1,178 @@
|
||||
const mongoose = require('mongoose');
|
||||
const _ = require('lodash');
|
||||
|
||||
const tools = require('../tools/general');
|
||||
|
||||
const { ListaIngresso } = require('./listaingresso');
|
||||
const { Settings } = require('./settings');
|
||||
const { User } = require('./user');
|
||||
|
||||
const { ObjectID } = require('mongodb');
|
||||
|
||||
const shared_consts = require('../tools/shared_nodejs');
|
||||
|
||||
mongoose.Promise = global.Promise;
|
||||
|
||||
mongoose.level = "F";
|
||||
// Resolving error Unknown modifier: $pushAll
|
||||
mongoose.plugin(schema => {
|
||||
schema.options.usePushEach = true
|
||||
});
|
||||
|
||||
mongoose.set('debug', process.env.DEBUG);
|
||||
|
||||
|
||||
const NavePersistenteSchema = new mongoose.Schema({
|
||||
idapp: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
index: {
|
||||
type: Number
|
||||
},
|
||||
riga: {
|
||||
type: Number,
|
||||
},
|
||||
col: {
|
||||
type: Number,
|
||||
},
|
||||
riga1don: {
|
||||
type: Number,
|
||||
},
|
||||
col1don: {
|
||||
type: Number,
|
||||
},
|
||||
date_start: {
|
||||
type: Date
|
||||
},
|
||||
date_gift_chat_open: {
|
||||
type: Date
|
||||
},
|
||||
link_chat: {
|
||||
type: String,
|
||||
},
|
||||
provvisoria: {
|
||||
type: Boolean,
|
||||
},
|
||||
DoniAttesaDiConferma: {
|
||||
type: Number,
|
||||
},
|
||||
DoniMancanti: {
|
||||
type: Number,
|
||||
},
|
||||
DoniConfermati: {
|
||||
type: Number,
|
||||
},
|
||||
note_bot: {
|
||||
type: String
|
||||
},
|
||||
note_interne: {
|
||||
type: String
|
||||
},
|
||||
tutor: {
|
||||
type: String
|
||||
},
|
||||
tutor_namesurname: {
|
||||
type: String
|
||||
}
|
||||
});
|
||||
|
||||
NavePersistenteSchema.statics.findById = function (idapp, id) {
|
||||
const NavePersistente = this;
|
||||
|
||||
const myquery = getQueryProj({ idapp, '_id': ObjectID(id) });
|
||||
|
||||
return NavePersistente.aggregate(myquery);
|
||||
|
||||
};
|
||||
|
||||
NavePersistenteSchema.statics.getFieldsForSearch = function () {
|
||||
return [{ field: 'ind_order', type: tools.FieldType.number },
|
||||
{ field: 'col', type: tools.FieldType.number }]
|
||||
};
|
||||
|
||||
NavePersistenteSchema.statics.executeQueryTable = function (idapp, params) {
|
||||
params.fieldsearch = this.getFieldsForSearch();
|
||||
return tools.executeQueryTable(this, idapp, params);
|
||||
};
|
||||
|
||||
NavePersistenteSchema.statics.findAllIdApp = function (idapp) {
|
||||
const NavePersistente = this;
|
||||
|
||||
const myfind = { idapp };
|
||||
|
||||
return NavePersistente.find(myfind).sort({ riga: 1, col: 1 });
|
||||
};
|
||||
|
||||
NavePersistenteSchema.statics.findByRigaColByDonatore = function (idapp, riga, col, offset) {
|
||||
const NavePersistente = this;
|
||||
|
||||
mypos = {
|
||||
riga,
|
||||
col,
|
||||
numup: 3 + offset,
|
||||
};
|
||||
tools.getRigaColByPosUp(mypos);
|
||||
|
||||
return NavePersistente.findOne({ idapp, riga: mypos.riga, col: mypos.col });
|
||||
|
||||
};
|
||||
|
||||
NavePersistenteSchema.statics.findByRigaCol = function (idapp, riga, col) {
|
||||
const NavePersistente = this;
|
||||
|
||||
return NavePersistente.findOne({ idapp, riga, col });
|
||||
|
||||
};
|
||||
|
||||
|
||||
NavePersistenteSchema.statics.getLastRigaCol = async function (idapp) {
|
||||
return NavePersistente.findOne({ idapp }).sort({ _id: -1 });
|
||||
};
|
||||
|
||||
NavePersistenteSchema.pre('save', async function (next) {
|
||||
if (this.isNew) {
|
||||
const myrec = await NavePersistente.findOne().limit(1).sort({_id:-1});
|
||||
if (!!myrec) {
|
||||
this.index = myrec._doc.index + 1;
|
||||
} else {
|
||||
this.index = 1;
|
||||
}
|
||||
}
|
||||
|
||||
next();
|
||||
});
|
||||
|
||||
|
||||
NavePersistenteSchema.statics.addRecordNavePersistenteByParams = async function (params) {
|
||||
|
||||
// Check if Exist:
|
||||
const giapresente = await NavePersistente.findOne({
|
||||
idapp: params.idapp,
|
||||
riga: params.riga,
|
||||
col: params.col
|
||||
});
|
||||
|
||||
if (!giapresente) {
|
||||
let myNavePersistente = new NavePersistente({
|
||||
idapp: params.idapp,
|
||||
riga: params.riga,
|
||||
col: params.col,
|
||||
riga1don: params.riga1don,
|
||||
col1don: params.col1don,
|
||||
date_start: params.date_start,
|
||||
date_gift_chat_open: params.date_gift_chat_open,
|
||||
provvisoria: params.provvisoria,
|
||||
});
|
||||
return await myNavePersistente.save();
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
|
||||
const NavePersistente = mongoose.model('NavePersistente', NavePersistenteSchema);
|
||||
|
||||
module.exports = { NavePersistente };
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ const { authenticate } = require('../middleware/authenticate');
|
||||
const { User } = require('../models/user');
|
||||
|
||||
const { Nave } = require('../models/nave');
|
||||
const { NavePersistente } = require('../models/navepersistente');
|
||||
|
||||
const mongoose = require('mongoose');
|
||||
const Subscription = mongoose.model('subscribers');
|
||||
@@ -122,58 +123,55 @@ router.post('/getnavi', authenticate, async (req, res) => {
|
||||
|
||||
router.post('/getdoninavi', authenticate, async (req, res) => {
|
||||
const idapp = req.body.idapp;
|
||||
const ricalcola = req.body.ricalcola;
|
||||
|
||||
let arrnavi = [];
|
||||
let navi_partenza = [];
|
||||
let arrnavi = await NavePersistente.findAllIdApp(idapp);
|
||||
let test = false;
|
||||
|
||||
//arrnavi.push({ riga: indriga, col: indcol, rigadon: indriga + 3, coldon: (indcol * 8) - 7 });
|
||||
|
||||
try {
|
||||
for (let indriga = 1; indriga <= 9; indriga++) {
|
||||
const mynave = await Nave.getPrimaNaveByRiga(idapp, indriga);
|
||||
if (!!mynave) {
|
||||
navi_partenza.push(mynave);
|
||||
let numcol = Math.pow(2, indriga - 1);
|
||||
if (ricalcola) {
|
||||
let index = 1;
|
||||
|
||||
let quanti = Math.ceil(numcol / 8);
|
||||
for (nave of arrnavi) {
|
||||
nave.rec = await Nave.getNaveByRigaCol(idapp, nave.riga1don, nave.col1don);
|
||||
/*mypos = {
|
||||
riga: nave.riga,
|
||||
col: nave.col,
|
||||
numup: 3,
|
||||
};
|
||||
tools.getRigaColByPosUp(mypos);*/
|
||||
|
||||
// let quanti = Math.ceil(numcol / 8);
|
||||
nave.index = index;
|
||||
nave.DoniAttesaDiConferma = 0;
|
||||
nave.DoniMancanti = 0;
|
||||
nave.DoniConfermati = 0;
|
||||
nave.tutor_namesurname = await User.getNameSurnameByUsername(idapp, nave.tutor);
|
||||
|
||||
for (let indcol = 1; indcol <= numcol; indcol++) {
|
||||
arrnavi.push({ riga: indriga, col: indcol, rigadon: indriga + 3, coldon: (indcol * 8) - 7 });
|
||||
if (!!nave.rec) {
|
||||
if (!!nave.rec.donatore) {
|
||||
nave.DoniAttesaDiConferma = nave.rec.donatore.arrdonatori.filter((rec) => (!!rec.date_made_gift && !rec.made_gift && !(rec.ind_order === nave.rec.donatore.recmediatore.ind_order && rec.num_tess === 2))).reduce((sum, item) => sum + 1, 0);
|
||||
nave.DoniMancanti = nave.rec.donatore.arrdonatori.filter((rec) => (!rec.made_gift && !(rec.ind_order === nave.rec.donatore.recmediatore.ind_order && rec.num_tess === 2))).reduce((sum, item) => sum + 1, 0);
|
||||
nave.DoniConfermati = nave.rec.donatore.arrdonatori.filter((rec) => rec.made_gift && !(rec.ind_order === nave.rec.donatore.recmediatore.ind_order && rec.num_tess === 2)).reduce((sum, item) => sum + 1, 0);
|
||||
}
|
||||
}
|
||||
const fieldsvalue = {
|
||||
DoniAttesaDiConferma: nave.DoniAttesaDiConferma,
|
||||
DoniMancanti: nave.DoniMancanti,
|
||||
DoniConfermati: nave.DoniConfermati,
|
||||
tutor_namesurname: nave.tutor_namesurname,
|
||||
};
|
||||
const risu = await NavePersistente.findOneAndUpdate({ _id: nave._id }, { $set: fieldsvalue }, { new: false });
|
||||
|
||||
nave._doc.rec = nave.rec;
|
||||
index++;
|
||||
}
|
||||
}
|
||||
|
||||
let index = 1;
|
||||
|
||||
for (nave of arrnavi) {
|
||||
nave.rec = await Nave.getNaveByRigaCol(idapp, nave.rigadon, nave.coldon);
|
||||
/*mypos = {
|
||||
riga: nave.riga,
|
||||
col: nave.col,
|
||||
numup: 3,
|
||||
};
|
||||
tools.getRigaColByPosUp(mypos);*/
|
||||
|
||||
nave.index = index;
|
||||
if (!!nave.rec.donatore.recmediatore) {
|
||||
nave.id = nave.rec.donatore.recmediatore._id;
|
||||
nave.note = nave.rec.donatore.recmediatore.note;
|
||||
} else {
|
||||
nave.id = null;
|
||||
} else {
|
||||
arrnavi = await NavePersistente.findAllIdApp(idapp);
|
||||
for (nave of arrnavi) {
|
||||
nave._doc.rec = await Nave.getNaveByRigaCol(idapp, nave.riga1don, nave.col1don);
|
||||
}
|
||||
nave.DoniAttesaDiConferma = 0;
|
||||
nave.DoniMancanti = 0;
|
||||
nave.DoniMancanti = 0;
|
||||
|
||||
if (!!nave.rec) {
|
||||
if (!!nave.rec.donatore) {
|
||||
nave.DoniAttesaDiConferma = nave.rec.donatore.arrdonatori.filter((rec) => (!!rec.date_made_gift && !rec.made_gift && !(rec.ind_order === nave.rec.donatore.recmediatore.ind_order && rec.num_tess === 2))).reduce((sum, item) => sum + 1, 0);
|
||||
nave.DoniMancanti = nave.rec.donatore.arrdonatori.filter((rec) => (!rec.made_gift && !(rec.ind_order === nave.rec.donatore.recmediatore.ind_order && rec.num_tess === 2))).reduce((sum, item) => sum + 1, 0);
|
||||
nave.DoniConfermati = nave.rec.donatore.arrdonatori.filter((rec) => rec.made_gift && !(rec.ind_order === nave.rec.donatore.recmediatore.ind_order && rec.num_tess === 2)).reduce((sum, item) => sum + 1, 0);
|
||||
}
|
||||
}
|
||||
index++;
|
||||
}
|
||||
|
||||
ris = { arrnavi };
|
||||
|
||||
@@ -29,6 +29,7 @@ const _ = require('lodash');
|
||||
|
||||
const { User } = require('../models/user');
|
||||
const { Nave } = require('../models/nave');
|
||||
const { NavePersistente } = require('../models/navepersistente');
|
||||
const { ExtraList } = require('../models/extralist');
|
||||
const { Booking } = require('../models/booking');
|
||||
const { Operator } = require('../models/operator');
|
||||
@@ -214,6 +215,8 @@ function getTableByTableName(tablename) {
|
||||
mytable = MailingList;
|
||||
else if (tablename === 'navi')
|
||||
mytable = Nave;
|
||||
else if (tablename === 'navepersistente')
|
||||
mytable = NavePersistente;
|
||||
else if (tablename === 'listaingressos')
|
||||
mytable = ListaIngresso;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ const router = express.Router();
|
||||
|
||||
const { User } = require('../models/user');
|
||||
const { Nave } = require('../models/nave');
|
||||
const { NavePersistente } = require('../models/navepersistente');
|
||||
const { ListaIngresso } = require('../models/listaingresso');
|
||||
const { ExtraList } = require('../models/extralist');
|
||||
const { ObjectID } = require('mongodb');
|
||||
@@ -417,158 +418,217 @@ router.post('/dbop', authenticate, async (req, res) => {
|
||||
|
||||
let ris = await User.DbOp(idapp, mydata);
|
||||
|
||||
if (mydata.dbop === 'creaNaviProvvisorie') {
|
||||
mydata.provvisoria = true;
|
||||
const num = await Nave.generaNave(idapp, mydata);
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'creaNaviDefinitive') {
|
||||
mydata.provvisoria = false;
|
||||
const num = await Nave.generaNave(idapp, mydata);
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'delNavi') {
|
||||
await Nave.setRiga(idapp, 1);
|
||||
await Nave.setCol(idapp, 1);
|
||||
const num = await Nave.remove({ idapp });
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'delNaviNoStarted') {
|
||||
await Nave.setRiga(idapp, 1);
|
||||
await Nave.setCol(idapp, 1);
|
||||
const num = await Nave.remove({ idapp, date_start: { $gte: tools.IncDateNow(-1000 * 60 * 60 * 24 * 3) } });
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'delNaviProvvisorie') {
|
||||
const num = await Nave.remove({ idapp, provvisoria: true });
|
||||
try {
|
||||
|
||||
const data = await Nave.getLastRigaCol(idapp);
|
||||
await Nave.setRiga(idapp, data.riga);
|
||||
await Nave.setCol(idapp, data.col + 1);
|
||||
if (mydata.dbop === 'creaNaviProvvisorie') {
|
||||
mydata.provvisoria = true;
|
||||
const num = await Nave.generaNave(idapp, mydata);
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'creaNaviDefinitive') {
|
||||
mydata.provvisoria = false;
|
||||
const num = await Nave.generaNave(idapp, mydata);
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'delNavi') {
|
||||
await Nave.setRiga(idapp, 1);
|
||||
await Nave.setCol(idapp, 1);
|
||||
const num = await Nave.remove({ idapp });
|
||||
ris = { num };
|
||||
// } else if (mydata.dbop === 'delNaviNoStarted') {
|
||||
// await Nave.setRiga(idapp, 1);
|
||||
// await Nave.setCol(idapp, 1);
|
||||
// const num = await Nave.remove({ idapp, date_start: { $gte: tools.IncDateNow(-1000 * 60 * 60 * 24 * 3) } });
|
||||
// ris = { num };
|
||||
} else if (mydata.dbop === 'delNaviProvvisorie') {
|
||||
const num = await Nave.remove({ idapp, provvisoria: true });
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'visuListaNave') {
|
||||
const mystr = await Nave.showListaOrd(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'pulisciNonPresenzeInNave') {
|
||||
const mystr = await Nave.pulisciNonPresenzeInNave(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'checkInserimentiUtentiInNave') {
|
||||
const mystr = await Nave.checkIfDevoAggiungereInNave(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'visuListaIngresso') {
|
||||
const mystr = await ListaIngresso.showListaOrd(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'initListaIngresso') {
|
||||
// const aaa = await User.updateMany({ idapp }, { $set: { 'profile.nationality': 'IT' } });
|
||||
const data = await Nave.getLastRigaCol(idapp);
|
||||
await Nave.setRiga(idapp, data.riga);
|
||||
await Nave.setCol(idapp, data.col + 1);
|
||||
|
||||
const num = await ListaIngresso.updateMany({ idapp }, { $set: { added: false } });
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'visuListaNave') {
|
||||
const mystr = await Nave.showListaOrd(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'pulisciNonPresenzeInNave') {
|
||||
const mystr = await Nave.pulisciNonPresenzeInNave(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'checkInserimentiUtentiInNave') {
|
||||
const mystr = await Nave.checkIfDevoAggiungereInNave(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'visuListaIngresso') {
|
||||
const mystr = await ListaIngresso.showListaOrd(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'initListaIngresso') {
|
||||
// const aaa = await User.updateMany({ idapp }, { $set: { 'profile.nationality': 'IT' } });
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'ImpostaATuttiPaypal') {
|
||||
const listautenti = await User.find({ idapp });
|
||||
let num = 0;
|
||||
for (let rec of listautenti) {
|
||||
if (!rec._doc.profile.paymenttypes.includes('paypal')) {
|
||||
rec._doc.profile.paymenttypes = [...rec._doc.profile.paymenttypes, 'paypal'];
|
||||
const user = await User.findOneAndUpdate({ _id: rec._id }, { $set: { 'profile.paymenttypes': rec._doc.profile.paymenttypes } });
|
||||
// await rec.save();
|
||||
num++;
|
||||
}
|
||||
// const num = await User.f({ idapp }, { $set: { 'profile: false } });
|
||||
}
|
||||
const num = await ListaIngresso.updateMany({ idapp }, { $set: { added: false } });
|
||||
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'numtessUno') {
|
||||
const listanavi = await ListaIngresso.find({ idapp });
|
||||
let num = 0;
|
||||
for (let rec of listanavi) {
|
||||
if (!rec._doc.num_tess) {
|
||||
rec._doc.num_tess = 1;
|
||||
const risu = await ListaIngresso.findOneAndUpdate({ _id: rec._id }, { $set: { num_tess: rec._doc.num_tess } }, { new: false });
|
||||
// await rec.save();
|
||||
if (!!risu)
|
||||
num++;
|
||||
}
|
||||
// const num = await User.f({ idapp }, { $set: { 'profile: false } });
|
||||
}
|
||||
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'Corregginumtess') {
|
||||
const listanavi = await Nave.find({ idapp });
|
||||
let num = 0;
|
||||
for (let rec of listanavi) {
|
||||
const myarrrec = await Nave.find({ idapp, ind_order: rec.ind_order }).sort({ riga: 1, col: 1 });
|
||||
let indextess = 1;
|
||||
for (let ind = 0; ind < myarrrec.length; ind++) {
|
||||
if (myarrrec[ind].num_tess !== indextess) {
|
||||
myarrrec[ind].num_tess = indextess;
|
||||
const risu = await Nave.findOneAndUpdate({ _id: myarrrec[ind]._id }, { $set: { num_tess: myarrrec[ind].num_tess } }, { new: false });
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'ImpostaATuttiPaypal') {
|
||||
const listautenti = await User.find({ idapp });
|
||||
let num = 0;
|
||||
for (let rec of listautenti) {
|
||||
if (!rec._doc.profile.paymenttypes.includes('paypal')) {
|
||||
rec._doc.profile.paymenttypes = [...rec._doc.profile.paymenttypes, 'paypal'];
|
||||
const user = await User.findOneAndUpdate({ _id: rec._id }, { $set: { 'profile.paymenttypes': rec._doc.profile.paymenttypes } });
|
||||
// await rec.save();
|
||||
num++;
|
||||
}
|
||||
indextess++;
|
||||
}
|
||||
}
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'creaUtentiTest') {
|
||||
|
||||
let num = 0;
|
||||
lastrec = await User.find({ idapp }).sort({ _id: -1 }).limit(1);
|
||||
for (let ind = 0; ind < 100; ind++) {
|
||||
let myuser = new User();
|
||||
myuser._id = new ObjectID();
|
||||
myuser.ind_order = lastrec[0].ind_order + ind + 1;
|
||||
myuser.idapp = idapp;
|
||||
myuser.password = "$2a$12$DEaX1h5saTUVC43f7kubyOAlah1xHDgqQTfSIux0.RFDT9WGbyCaG";
|
||||
myuser.lang = 'it';
|
||||
myuser.email = "miaemail@email.it";
|
||||
myuser.name = 'U' + myuser.ind_order;
|
||||
myuser.surname = 'Ar' + myuser.ind_order;
|
||||
myuser.verified_email = true;
|
||||
if (myuser.ind_order < 2)
|
||||
myuser.perm = "3";
|
||||
myuser.username = "Userna_" + myuser.name;
|
||||
myuser.profile.special_req = true;
|
||||
myuser.profile.nationality = 'IT';
|
||||
await myuser.save();
|
||||
num++;
|
||||
}
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'visuPlacca') {
|
||||
const rec = {};
|
||||
const placca = await Nave.getPlaccaPerDonatore(idapp, parseInt(mydata.riga), parseInt(mydata.col), false, rec);
|
||||
|
||||
telegrambot.sendMsgTelegramToTheAdmin(idapp, placca);
|
||||
|
||||
ris = { placca };
|
||||
} else if (mydata.dbop === 'visuNave') {
|
||||
const mystr = await Nave.getNavePos(idapp, parseInt(mydata.riga), parseInt(mydata.col));
|
||||
|
||||
const visu_nave_Bot = await Settings.getValDbSettings(idapp, 'VISU_NAVE_BOT');
|
||||
if (visu_nave_Bot)
|
||||
telegrambot.sendMsgTelegramToTheAdmin(idapp, mystr, true);
|
||||
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'getnavibyuser') {
|
||||
|
||||
let arrnavi = null;
|
||||
|
||||
const user = await User.getUserShortDataByUsername(idapp, mydata.username);
|
||||
if (user) {
|
||||
arrnavi = await Nave.getArrPosizioniByIndOrder(idapp, user.ind_order);
|
||||
|
||||
for (let mynave of arrnavi) {
|
||||
mynave._doc.rec = await Nave.getNaveByRigaCol(idapp, mynave.riga, mynave.col);
|
||||
// const num = await User.f({ idapp }, { $set: { 'profile: false } });
|
||||
}
|
||||
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'numtessUno') {
|
||||
const listanavi = await ListaIngresso.find({ idapp });
|
||||
let num = 0;
|
||||
for (let rec of listanavi) {
|
||||
if (!rec._doc.num_tess) {
|
||||
rec._doc.num_tess = 1;
|
||||
const risu = await ListaIngresso.findOneAndUpdate({ _id: rec._id }, { $set: { num_tess: rec._doc.num_tess } }, { new: false });
|
||||
// await rec.save();
|
||||
if (!!risu)
|
||||
num++;
|
||||
}
|
||||
// const num = await User.f({ idapp }, { $set: { 'profile: false } });
|
||||
}
|
||||
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'Corregginumtess') {
|
||||
const listanavi = await Nave.find({ idapp });
|
||||
let num = 0;
|
||||
for (let rec of listanavi) {
|
||||
const myarrrec = await Nave.find({ idapp, ind_order: rec.ind_order }).sort({ riga: 1, col: 1 });
|
||||
let indextess = 1;
|
||||
for (let ind = 0; ind < myarrrec.length; ind++) {
|
||||
if (myarrrec[ind].num_tess !== indextess) {
|
||||
myarrrec[ind].num_tess = indextess;
|
||||
const risu = await Nave.findOneAndUpdate({ _id: myarrrec[ind]._id }, { $set: { num_tess: myarrrec[ind].num_tess } }, { new: false });
|
||||
num++;
|
||||
}
|
||||
indextess++;
|
||||
}
|
||||
}
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'CreaNaviPersistenti') {
|
||||
const listanavi = await Nave.find({ idapp }).sort({riga: 1, col: 1});
|
||||
|
||||
let params = {
|
||||
idapp
|
||||
};
|
||||
|
||||
let num = 0;
|
||||
for (let rec of listanavi) {
|
||||
let mypos = {
|
||||
idapp,
|
||||
riga: rec.riga,
|
||||
col: rec.col,
|
||||
numup: 3
|
||||
};
|
||||
tools.getRigaColByPosUp(mypos);
|
||||
let persistente = await NavePersistente.findByRigaCol(idapp, mypos.riga, mypos.col, 0);
|
||||
if (!persistente) {
|
||||
|
||||
params.date_start = rec.date_start;
|
||||
params.date_gift_chat_open = rec.date_gift_chat_open;
|
||||
params.provvisoria = rec.provvisoria;
|
||||
params.riga = mypos.riga;
|
||||
params.col = mypos.col;
|
||||
if (rec.riga > 3) {
|
||||
params.riga1don = rec.riga;
|
||||
params.col1don = rec.col;
|
||||
} else {
|
||||
params.riga1don = rec.riga;
|
||||
params.col1don = rec.col;
|
||||
}
|
||||
if (params.riga > 0) {
|
||||
await NavePersistente.addRecordNavePersistenteByParams(params);
|
||||
num++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'CorreggiDataGiftChat') {
|
||||
const listanavi = await NavePersistente.find({ idapp });
|
||||
let num = 0;
|
||||
for (let rec of listanavi) {
|
||||
const fieldsvalue = {
|
||||
date_gift_chat_open: tools.AddDate(rec.date_start, -7)
|
||||
};
|
||||
const risu = await NavePersistente.findOneAndUpdate({ _id: rec._id }, { $set: fieldsvalue }, { new: false });
|
||||
if (!!risu) {
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'creaUtentiTest') {
|
||||
|
||||
let num = 0;
|
||||
lastrec = await User.find({ idapp }).sort({ _id: -1 }).limit(1);
|
||||
for (let ind = 0; ind < 100; ind++) {
|
||||
let myuser = new User();
|
||||
myuser._id = new ObjectID();
|
||||
myuser.ind_order = lastrec[0].ind_order + ind + 1;
|
||||
myuser.idapp = idapp;
|
||||
myuser.password = "$2a$12$DEaX1h5saTUVC43f7kubyOAlah1xHDgqQTfSIux0.RFDT9WGbyCaG";
|
||||
myuser.lang = 'it';
|
||||
myuser.email = "miaemail@email.it";
|
||||
myuser.name = 'U' + myuser.ind_order;
|
||||
myuser.surname = 'Ar' + myuser.ind_order;
|
||||
myuser.verified_email = true;
|
||||
if (myuser.ind_order < 2)
|
||||
myuser.perm = "3";
|
||||
myuser.username = "Userna_" + myuser.name;
|
||||
myuser.profile.special_req = true;
|
||||
myuser.profile.nationality = 'IT';
|
||||
await myuser.save();
|
||||
num++;
|
||||
}
|
||||
|
||||
ris = { num };
|
||||
} else if (mydata.dbop === 'visuPlacca') {
|
||||
const rec = {};
|
||||
const placca = await Nave.getPlaccaPerDonatore(idapp, parseInt(mydata.riga), parseInt(mydata.col), false, rec);
|
||||
|
||||
telegrambot.sendMsgTelegramToTheAdmin(idapp, placca);
|
||||
|
||||
ris = { placca };
|
||||
} else if (mydata.dbop === 'visuNave') {
|
||||
const mystr = await Nave.getNavePos(idapp, parseInt(mydata.riga), parseInt(mydata.col));
|
||||
|
||||
const visu_nave_Bot = await Settings.getValDbSettings(idapp, 'VISU_NAVE_BOT');
|
||||
if (visu_nave_Bot)
|
||||
telegrambot.sendMsgTelegramToTheAdmin(idapp, mystr, true);
|
||||
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'getnavibyuser') {
|
||||
|
||||
let arrnavi = null;
|
||||
|
||||
const user = await User.getUserShortDataByUsername(idapp, mydata.username);
|
||||
if (user) {
|
||||
arrnavi = await Nave.getArrPosizioniByIndOrder(idapp, user.ind_order);
|
||||
|
||||
for (let mynave of arrnavi) {
|
||||
mynave._doc.rec = await Nave.getNaveByRigaCol(idapp, mynave.riga, mynave.col);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ris = { data: arrnavi };
|
||||
}
|
||||
|
||||
ris = { data: arrnavi };
|
||||
|
||||
// console.log('ris', ris);
|
||||
|
||||
res.send(ris);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
|
||||
// console.log('ris', ris);
|
||||
|
||||
res.send(ris);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -839,8 +839,14 @@ module.exports = {
|
||||
},
|
||||
|
||||
getRigaColByPosUp(mypos) {
|
||||
mypos.riga = mypos.riga - mypos.numup;
|
||||
mypos.col = Math.ceil(mypos.col / (Math.pow(2, mypos.numup)));
|
||||
if (mypos.numup > 0) {
|
||||
mypos.riga = mypos.riga - mypos.numup;
|
||||
mypos.col = Math.ceil(mypos.col / (Math.pow(2, mypos.numup)));
|
||||
}
|
||||
if (mypos.numup < 0) {
|
||||
mypos.riga = mypos.riga - mypos.numup;
|
||||
mypos.col = Math.ceil(mypos.col * (Math.pow(2, -mypos.numup)));
|
||||
}
|
||||
},
|
||||
|
||||
appendLeadingZeroes(n) {
|
||||
@@ -1111,9 +1117,6 @@ module.exports = {
|
||||
}
|
||||
|
||||
if (table === 'navi') {
|
||||
if ('link_chat' in fieldsvalue) {
|
||||
return true;
|
||||
}
|
||||
if ('date_made_gift' in fieldsvalue) {
|
||||
return true;
|
||||
}
|
||||
@@ -1121,6 +1124,11 @@ module.exports = {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (table === 'navepersistente') {
|
||||
if ('link_chat' in fieldsvalue) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user