- Projects: Shared / Personal
This commit is contained in:
@@ -221,19 +221,45 @@ ProjectSchema.statics.getIdParentByIdProj = function (idProj) {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ProjectSchema.statics.creaProjMain = async function () {
|
||||||
|
|
||||||
|
const projmain = {
|
||||||
|
descr: process.env.PROJECT_DESCR_MAIN,
|
||||||
|
longdescr: process.env.PROJECT_DESCR_MAIN,
|
||||||
|
typeproj: 1,
|
||||||
|
id_main_project: null,
|
||||||
|
id_parent: null,
|
||||||
|
privacyread: server_constants.Privacy.all
|
||||||
|
};
|
||||||
|
|
||||||
|
return await new Project(projmain).save()
|
||||||
|
.then(ris => {
|
||||||
|
console.log('ris', ris);
|
||||||
|
if (!!ris)
|
||||||
|
return ris._doc;
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
ProjectSchema.statics.getAllProjects = async function (userId) {
|
ProjectSchema.statics.getAllProjects = async function (userId) {
|
||||||
var Project = this;
|
var Project = this;
|
||||||
// console.log('getAllProjects');
|
// console.log('getAllProjects');
|
||||||
|
|
||||||
let obj = [];
|
let obj = [];
|
||||||
|
|
||||||
const projbase = await Project.findById(process.env.PROJECT_ID_MAIN)
|
const projbase = await Project.findOne( { descr: process.env.PROJECT_DESCR_MAIN })
|
||||||
.then(ris => {
|
.then(ris => {
|
||||||
// console.log('ris', ris);
|
if (!!ris) {
|
||||||
if (!!ris._doc)
|
// console.log('ris', ris);
|
||||||
return ris._doc;
|
if (!!ris._doc)
|
||||||
else
|
return ris._doc;
|
||||||
return null;
|
else
|
||||||
|
return null;
|
||||||
|
}else {
|
||||||
|
return Project.creaProjMain();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
obj.arrproj = await Project.findAllProjByUserId(userId);
|
obj.arrproj = await Project.findAllProjByUserId(userId);
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ function logtodo(myarr) {
|
|||||||
|
|
||||||
function getarrlog(myarr) {
|
function getarrlog(myarr) {
|
||||||
let mystr = "";
|
let mystr = "";
|
||||||
for (const indcat in myarr){
|
for (const indcat in myarr) {
|
||||||
mystr += indcat + ': \n';
|
mystr += indcat + ': \n';
|
||||||
for (const indelem in myarr[indcat]) {
|
for (const indelem in myarr[indcat]) {
|
||||||
mystr += ' [' + indelem + '] ' + getelem(myarr[indcat][indelem]) + '\n';
|
mystr += ' [' + indelem + '] ' + getelem(myarr[indcat][indelem]) + '\n';
|
||||||
@@ -274,7 +274,7 @@ class CalcTodo {
|
|||||||
addDataProj(datain) {
|
addDataProj(datain) {
|
||||||
if (!!datain) {
|
if (!!datain) {
|
||||||
if (datain.actualphase === this.mydata.phase) {
|
if (datain.actualphase === this.mydata.phase) {
|
||||||
CalcTodo.addFields(this.mydata, datain);
|
CalcTodo.addFields(this.mydata, datain, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -282,19 +282,20 @@ class CalcTodo {
|
|||||||
addDataTodo(datain) {
|
addDataTodo(datain) {
|
||||||
if (!!datain) {
|
if (!!datain) {
|
||||||
if (datain.phase === this.mydata.phase) {
|
if (datain.phase === this.mydata.phase) {
|
||||||
CalcTodo.addFields(this.mydata, datain);
|
CalcTodo.addFields(this.mydata, datain, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static addFields(recout, recin) {
|
static addFields(recout, recin, isproj) {
|
||||||
// console.log('addFields', recin);
|
// console.log('addFields', recin);
|
||||||
recout.hoursworked += recin.hoursworked;
|
recout.hoursworked += recin.hoursworked;
|
||||||
recout.hoursplanned += recin.hoursplanned;
|
recout.hoursplanned += recin.hoursplanned;
|
||||||
if (!!recin.progressCalc)
|
if (recin.progress === undefined) {
|
||||||
recout.progressCalc += recin.progressCalc;
|
recout.progressCalc += recin.progressCalc;
|
||||||
else
|
} else {
|
||||||
recout.progressCalc += recin.progress;
|
recout.progressCalc += recin.progress;
|
||||||
|
}
|
||||||
|
|
||||||
recout.numitem++;
|
recout.numitem++;
|
||||||
}
|
}
|
||||||
@@ -302,10 +303,15 @@ class CalcTodo {
|
|||||||
static copyFields(recout, recin) {
|
static copyFields(recout, recin) {
|
||||||
recout.hoursworked = recin.hoursworked;
|
recout.hoursworked = recin.hoursworked;
|
||||||
recout.hoursplanned = recin.hoursplanned;
|
recout.hoursplanned = recin.hoursplanned;
|
||||||
if (!!recin.progressCalc)
|
if (recin.progress === undefined)
|
||||||
recout.progressCalc = recin.progressCalc;
|
recout.progressCalc = recin.progressCalc;
|
||||||
else
|
else {
|
||||||
recout.progressCalc = 0;
|
if (!!recin.progressCalc)
|
||||||
|
recout.progressCalc = recin.progressCalc;
|
||||||
|
else
|
||||||
|
recout.progressCalc = 0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setValuesToRecord(objout) {
|
setValuesToRecord(objout) {
|
||||||
@@ -316,6 +322,7 @@ class CalcTodo {
|
|||||||
if (this.mydata.numitem > 0) {
|
if (this.mydata.numitem > 0) {
|
||||||
this.mydata.progressCalc = Math.round(this.mydata.progressCalc / this.mydata.numitem);
|
this.mydata.progressCalc = Math.round(this.mydata.progressCalc / this.mydata.numitem);
|
||||||
}
|
}
|
||||||
|
console.log('this.mydata.progressCalc', this.mydata.progressCalc)
|
||||||
}
|
}
|
||||||
|
|
||||||
getData() {
|
getData() {
|
||||||
@@ -420,6 +427,7 @@ TodoSchema.statics.calculateTodoHoursAndProgress = async function (userId, idpro
|
|||||||
|
|
||||||
objdata.endDataCalc();
|
objdata.endDataCalc();
|
||||||
|
|
||||||
|
|
||||||
return objdata.getData();
|
return objdata.getData();
|
||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
|
|||||||
Reference in New Issue
Block a user