Lista Doni Navi 3

This commit is contained in:
Paolo Arena
2020-03-25 18:26:51 +01:00
parent b9d899ba72
commit d59ee578c9
6 changed files with 485 additions and 209 deletions

View File

@@ -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 };