- 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) {
|
||||
var Project = this;
|
||||
// console.log('getAllProjects');
|
||||
|
||||
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 => {
|
||||
// console.log('ris', ris);
|
||||
if (!!ris._doc)
|
||||
return ris._doc;
|
||||
else
|
||||
return null;
|
||||
if (!!ris) {
|
||||
// console.log('ris', ris);
|
||||
if (!!ris._doc)
|
||||
return ris._doc;
|
||||
else
|
||||
return null;
|
||||
}else {
|
||||
return Project.creaProjMain();
|
||||
}
|
||||
});
|
||||
|
||||
obj.arrproj = await Project.findAllProjByUserId(userId);
|
||||
|
||||
@@ -245,7 +245,7 @@ function logtodo(myarr) {
|
||||
|
||||
function getarrlog(myarr) {
|
||||
let mystr = "";
|
||||
for (const indcat in myarr){
|
||||
for (const indcat in myarr) {
|
||||
mystr += indcat + ': \n';
|
||||
for (const indelem in myarr[indcat]) {
|
||||
mystr += ' [' + indelem + '] ' + getelem(myarr[indcat][indelem]) + '\n';
|
||||
@@ -274,7 +274,7 @@ class CalcTodo {
|
||||
addDataProj(datain) {
|
||||
if (!!datain) {
|
||||
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) {
|
||||
if (!!datain) {
|
||||
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);
|
||||
recout.hoursworked += recin.hoursworked;
|
||||
recout.hoursplanned += recin.hoursplanned;
|
||||
if (!!recin.progressCalc)
|
||||
if (recin.progress === undefined) {
|
||||
recout.progressCalc += recin.progressCalc;
|
||||
else
|
||||
} else {
|
||||
recout.progressCalc += recin.progress;
|
||||
}
|
||||
|
||||
recout.numitem++;
|
||||
}
|
||||
@@ -302,10 +303,15 @@ class CalcTodo {
|
||||
static copyFields(recout, recin) {
|
||||
recout.hoursworked = recin.hoursworked;
|
||||
recout.hoursplanned = recin.hoursplanned;
|
||||
if (!!recin.progressCalc)
|
||||
if (recin.progress === undefined)
|
||||
recout.progressCalc = recin.progressCalc;
|
||||
else
|
||||
recout.progressCalc = 0;
|
||||
else {
|
||||
if (!!recin.progressCalc)
|
||||
recout.progressCalc = recin.progressCalc;
|
||||
else
|
||||
recout.progressCalc = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
setValuesToRecord(objout) {
|
||||
@@ -316,6 +322,7 @@ class CalcTodo {
|
||||
if (this.mydata.numitem > 0) {
|
||||
this.mydata.progressCalc = Math.round(this.mydata.progressCalc / this.mydata.numitem);
|
||||
}
|
||||
console.log('this.mydata.progressCalc', this.mydata.progressCalc)
|
||||
}
|
||||
|
||||
getData() {
|
||||
@@ -420,6 +427,7 @@ TodoSchema.statics.calculateTodoHoursAndProgress = async function (userId, idpro
|
||||
|
||||
objdata.endDataCalc();
|
||||
|
||||
|
||||
return objdata.getData();
|
||||
})
|
||||
.catch(e => {
|
||||
|
||||
Reference in New Issue
Block a user