tset
This commit is contained in:
parent
61277e9898
commit
71aac0dd52
3 changed files with 193 additions and 138 deletions
|
|
@ -2391,53 +2391,53 @@ export class OrganizationDotnetController extends Controller {
|
|||
},
|
||||
});
|
||||
|
||||
const currentYear = new Date().getFullYear();
|
||||
const years = [currentYear, currentYear - 1, currentYear - 2, currentYear - 3, currentYear - 4];
|
||||
|
||||
// APR Averages
|
||||
const aprAverages: { [year: number]: number | null } = {};
|
||||
const aprSums: { [year: number]: number } = {};
|
||||
const aprCounts: { [year: number]: number } = {};
|
||||
|
||||
// OCT Averages
|
||||
const octAverages: { [year: number]: number | null } = {};
|
||||
const octSums: { [year: number]: number } = {};
|
||||
const octCounts: { [year: number]: number } = {};
|
||||
|
||||
years.forEach(year => {
|
||||
aprAverages[year] = null;
|
||||
aprSums[year] = 0;
|
||||
aprCounts[year] = 0;
|
||||
|
||||
octAverages[year] = null;
|
||||
octSums[year] = 0;
|
||||
octCounts[year] = 0;
|
||||
});
|
||||
|
||||
profiles.forEach(profile => {
|
||||
const assessments = profile.profileAssessments || [];
|
||||
|
||||
assessments.forEach(assessment => {
|
||||
const year = Number(assessment.year);
|
||||
|
||||
if (years.includes(year)) {
|
||||
if (assessment.period === 'APR') {
|
||||
aprSums[year] += assessment.pointSum;
|
||||
aprCounts[year] += 1;
|
||||
}
|
||||
|
||||
if (assessment.period === 'OCT') {
|
||||
octSums[year] += assessment.pointSum;
|
||||
octCounts[year] += 1;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
years.forEach(year => {
|
||||
aprAverages[year] = aprCounts[year] > 0 ? aprSums[year] / aprCounts[year] : null;
|
||||
octAverages[year] = octCounts[year] > 0 ? octSums[year] / octCounts[year] : null;
|
||||
});
|
||||
// const currentYear = new Date().getFullYear();
|
||||
// const years = [currentYear, currentYear - 1, currentYear - 2, currentYear - 3, currentYear - 4];
|
||||
|
||||
// // APR Averages
|
||||
// const aprAverages: { [year: number]: number | null } = {};
|
||||
// const aprSums: { [year: number]: number } = {};
|
||||
// const aprCounts: { [year: number]: number } = {};
|
||||
|
||||
// // OCT Averages
|
||||
// const octAverages: { [year: number]: number | null } = {};
|
||||
// const octSums: { [year: number]: number } = {};
|
||||
// const octCounts: { [year: number]: number } = {};
|
||||
|
||||
// years.forEach((year) => {
|
||||
// aprAverages[year] = null;
|
||||
// aprSums[year] = 0;
|
||||
// aprCounts[year] = 0;
|
||||
|
||||
// octAverages[year] = null;
|
||||
// octSums[year] = 0;
|
||||
// octCounts[year] = 0;
|
||||
// });
|
||||
|
||||
// profiles.forEach((profile) => {
|
||||
// const assessments = profile.profileAssessments || [];
|
||||
|
||||
// assessments.forEach((assessment) => {
|
||||
// const year = Number(assessment.year);
|
||||
|
||||
// if (years.includes(year)) {
|
||||
// if (assessment.period === "APR") {
|
||||
// aprSums[year] += assessment.pointSum;
|
||||
// aprCounts[year] += 1;
|
||||
// }
|
||||
|
||||
// if (assessment.period === "OCT") {
|
||||
// octSums[year] += assessment.pointSum;
|
||||
// octCounts[year] += 1;
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
|
||||
// years.forEach((year) => {
|
||||
// aprAverages[year] = aprCounts[year] > 0 ? aprSums[year] / aprCounts[year] : null;
|
||||
// octAverages[year] = octCounts[year] > 0 ? octSums[year] / octCounts[year] : null;
|
||||
// });
|
||||
|
||||
const findRevision = await this.orgRevisionRepo.findOne({
|
||||
where: { orgRevisionIsCurrent: true },
|
||||
|
|
@ -2619,16 +2619,16 @@ export class OrganizationDotnetController extends Controller {
|
|||
markLeave: false,
|
||||
markRate: profile.profileAssessments.length > 0 ? true : false,
|
||||
markInsignia: profile.profileInsignias.length > 0 ? true : false,
|
||||
apr1:aprAverages[currentYear] ? Extension.textPoint(aprAverages[currentYear] as number) : null,
|
||||
apr2:aprAverages[currentYear - 1] ? Extension.textPoint(aprAverages[currentYear - 1] as number) : null,
|
||||
apr3:aprAverages[currentYear - 2] ? Extension.textPoint(aprAverages[currentYear - 2] as number) : null,
|
||||
apr4:aprAverages[currentYear - 3] ? Extension.textPoint(aprAverages[currentYear - 3] as number) : null,
|
||||
apr5:aprAverages[currentYear - 4] ? Extension.textPoint(aprAverages[currentYear - 4] as number) : null,
|
||||
oct1:octAverages[currentYear] ? Extension.textPoint(octAverages[currentYear] as number) : null,
|
||||
oct2:octAverages[currentYear - 1] ? Extension.textPoint(octAverages[currentYear - 1] as number) : null,
|
||||
oct3:octAverages[currentYear - 2] ? Extension.textPoint(octAverages[currentYear - 2] as number) : null,
|
||||
oct4:octAverages[currentYear - 3] ? Extension.textPoint(octAverages[currentYear - 3] as number) : null,
|
||||
oct5:octAverages[currentYear - 4] ? Extension.textPoint(octAverages[currentYear - 4] as number) : null,
|
||||
// apr1:aprAverages[currentYear] ? Extension.textPoint(aprAverages[currentYear] as number) : null,
|
||||
// apr2:aprAverages[currentYear - 1] ? Extension.textPoint(aprAverages[currentYear - 1] as number) : null,
|
||||
// apr3:aprAverages[currentYear - 2] ? Extension.textPoint(aprAverages[currentYear - 2] as number) : null,
|
||||
// apr4:aprAverages[currentYear - 3] ? Extension.textPoint(aprAverages[currentYear - 3] as number) : null,
|
||||
// apr5:aprAverages[currentYear - 4] ? Extension.textPoint(aprAverages[currentYear - 4] as number) : null,
|
||||
// oct1:octAverages[currentYear] ? Extension.textPoint(octAverages[currentYear] as number) : null,
|
||||
// oct2:octAverages[currentYear - 1] ? Extension.textPoint(octAverages[currentYear - 1] as number) : null,
|
||||
// oct3:octAverages[currentYear - 2] ? Extension.textPoint(octAverages[currentYear - 2] as number) : null,
|
||||
// oct4:octAverages[currentYear - 3] ? Extension.textPoint(octAverages[currentYear - 3] as number) : null,
|
||||
// oct5:octAverages[currentYear - 4] ? Extension.textPoint(octAverages[currentYear - 4] as number) : null,
|
||||
};
|
||||
});
|
||||
|
||||
|
|
@ -2674,41 +2674,41 @@ export class OrganizationDotnetController extends Controller {
|
|||
where: { orgRevisionIsCurrent: true },
|
||||
});
|
||||
|
||||
// const currentYear = new Date().getFullYear();
|
||||
// const currentYear = new Date().getFullYear();
|
||||
// const years = [currentYear, currentYear - 1, currentYear - 2, currentYear - 3, currentYear - 4];
|
||||
|
||||
|
||||
// // APR Averages
|
||||
// const aprAverages: { [year: number]: number | null } = {};
|
||||
// const aprSums: { [year: number]: number } = {};
|
||||
// const aprCounts: { [year: number]: number } = {};
|
||||
|
||||
|
||||
// // OCT Averages
|
||||
// const octAverages: { [year: number]: number | null } = {};
|
||||
// const octSums: { [year: number]: number } = {};
|
||||
// const octCounts: { [year: number]: number } = {};
|
||||
|
||||
|
||||
// years.forEach(year => {
|
||||
// aprAverages[year] = null;
|
||||
// aprSums[year] = 0;
|
||||
// aprCounts[year] = 0;
|
||||
|
||||
|
||||
// octAverages[year] = null;
|
||||
// octSums[year] = 0;
|
||||
// octCounts[year] = 0;
|
||||
// });
|
||||
|
||||
|
||||
// profiles.forEach(profile => {
|
||||
// const assessments = profile.profileAssessments || [];
|
||||
|
||||
|
||||
// assessments.forEach(assessment => {
|
||||
// const year = Number(assessment.year);
|
||||
|
||||
|
||||
// if (years.includes(year)) {
|
||||
// if (assessment.period === 'APR') {
|
||||
// aprSums[year] += assessment.pointSum;
|
||||
// aprCounts[year] += 1;
|
||||
// }
|
||||
|
||||
|
||||
// if (assessment.period === 'OCT') {
|
||||
// octSums[year] += assessment.pointSum;
|
||||
// octCounts[year] += 1;
|
||||
|
|
@ -2716,7 +2716,7 @@ export class OrganizationDotnetController extends Controller {
|
|||
// }
|
||||
// });
|
||||
// });
|
||||
|
||||
|
||||
// years.forEach(year => {
|
||||
// aprAverages[year] = aprCounts[year] > 0 ? aprSums[year] / aprCounts[year] : null;
|
||||
// octAverages[year] = octCounts[year] > 0 ? octSums[year] / octCounts[year] : null;
|
||||
|
|
@ -2816,7 +2816,7 @@ export class OrganizationDotnetController extends Controller {
|
|||
x.orgRevision?.orgRevisionIsDraft == false &&
|
||||
x.orgRevision?.orgRevisionIsCurrent == true,
|
||||
)?.orgRootId ?? null,
|
||||
posNo: shortName ?? "",
|
||||
posNo: shortName ?? "",
|
||||
// apr1:aprAverages[currentYear] ? Extension.textPoint(aprAverages[currentYear] as number) : null,
|
||||
// apr2:aprAverages[currentYear - 1] ? Extension.textPoint(aprAverages[currentYear - 1] as number) : null,
|
||||
// apr3:aprAverages[currentYear - 2] ? Extension.textPoint(aprAverages[currentYear - 2] as number) : null,
|
||||
|
|
@ -2889,50 +2889,50 @@ export class OrganizationDotnetController extends Controller {
|
|||
},
|
||||
});
|
||||
|
||||
const currentYear = new Date().getFullYear();
|
||||
const currentYear = new Date().getFullYear();
|
||||
const years = [currentYear, currentYear - 1, currentYear - 2, currentYear - 3, currentYear - 4];
|
||||
|
||||
|
||||
// APR Averages
|
||||
const aprAverages: { [year: number]: number | null } = {};
|
||||
const aprSums: { [year: number]: number } = {};
|
||||
const aprCounts: { [year: number]: number } = {};
|
||||
|
||||
|
||||
// OCT Averages
|
||||
const octAverages: { [year: number]: number | null } = {};
|
||||
const octSums: { [year: number]: number } = {};
|
||||
const octCounts: { [year: number]: number } = {};
|
||||
|
||||
years.forEach(year => {
|
||||
|
||||
years.forEach((year) => {
|
||||
aprAverages[year] = null;
|
||||
aprSums[year] = 0;
|
||||
aprCounts[year] = 0;
|
||||
|
||||
|
||||
octAverages[year] = null;
|
||||
octSums[year] = 0;
|
||||
octCounts[year] = 0;
|
||||
});
|
||||
|
||||
profiles.forEach(profile => {
|
||||
|
||||
profiles.forEach((profile) => {
|
||||
const assessments = profile.profileAssessments || [];
|
||||
|
||||
assessments.forEach(assessment => {
|
||||
|
||||
assessments.forEach((assessment) => {
|
||||
const year = Number(assessment.year);
|
||||
|
||||
|
||||
if (years.includes(year)) {
|
||||
if (assessment.period === 'APR') {
|
||||
if (assessment.period === "APR") {
|
||||
aprSums[year] += assessment.pointSum;
|
||||
aprCounts[year] += 1;
|
||||
}
|
||||
|
||||
if (assessment.period === 'OCT') {
|
||||
|
||||
if (assessment.period === "OCT") {
|
||||
octSums[year] += assessment.pointSum;
|
||||
octCounts[year] += 1;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
years.forEach(year => {
|
||||
|
||||
years.forEach((year) => {
|
||||
aprAverages[year] = aprCounts[year] > 0 ? aprSums[year] / aprCounts[year] : null;
|
||||
octAverages[year] = octCounts[year] > 0 ? octSums[year] / octCounts[year] : null;
|
||||
});
|
||||
|
|
@ -3116,16 +3116,36 @@ export class OrganizationDotnetController extends Controller {
|
|||
markLeave: false,
|
||||
markRate: profile.profileAssessments.length > 0 ? true : false,
|
||||
markInsignia: profile.profileInsignias.length > 0 ? true : false,
|
||||
apr1:aprAverages[currentYear] ? Extension.textPoint(aprAverages[currentYear] as number) : null,
|
||||
apr2:aprAverages[currentYear - 1] ? Extension.textPoint(aprAverages[currentYear - 1] as number) : null,
|
||||
apr3:aprAverages[currentYear - 2] ? Extension.textPoint(aprAverages[currentYear - 2] as number) : null,
|
||||
apr4:aprAverages[currentYear - 3] ? Extension.textPoint(aprAverages[currentYear - 3] as number) : null,
|
||||
apr5:aprAverages[currentYear - 4] ? Extension.textPoint(aprAverages[currentYear - 4] as number) : null,
|
||||
oct1:octAverages[currentYear] ? Extension.textPoint(octAverages[currentYear] as number) : null,
|
||||
oct2:octAverages[currentYear - 1] ? Extension.textPoint(octAverages[currentYear - 1] as number) : null,
|
||||
oct3:octAverages[currentYear - 2] ? Extension.textPoint(octAverages[currentYear - 2] as number) : null,
|
||||
oct4:octAverages[currentYear - 3] ? Extension.textPoint(octAverages[currentYear - 3] as number) : null,
|
||||
oct5:octAverages[currentYear - 4] ? Extension.textPoint(octAverages[currentYear - 4] as number) : null,
|
||||
apr1: aprAverages[currentYear]
|
||||
? Extension.textPoint(aprAverages[currentYear] as number)
|
||||
: null,
|
||||
apr2: aprAverages[currentYear - 1]
|
||||
? Extension.textPoint(aprAverages[currentYear - 1] as number)
|
||||
: null,
|
||||
apr3: aprAverages[currentYear - 2]
|
||||
? Extension.textPoint(aprAverages[currentYear - 2] as number)
|
||||
: null,
|
||||
apr4: aprAverages[currentYear - 3]
|
||||
? Extension.textPoint(aprAverages[currentYear - 3] as number)
|
||||
: null,
|
||||
apr5: aprAverages[currentYear - 4]
|
||||
? Extension.textPoint(aprAverages[currentYear - 4] as number)
|
||||
: null,
|
||||
oct1: octAverages[currentYear]
|
||||
? Extension.textPoint(octAverages[currentYear] as number)
|
||||
: null,
|
||||
oct2: octAverages[currentYear - 1]
|
||||
? Extension.textPoint(octAverages[currentYear - 1] as number)
|
||||
: null,
|
||||
oct3: octAverages[currentYear - 2]
|
||||
? Extension.textPoint(octAverages[currentYear - 2] as number)
|
||||
: null,
|
||||
oct4: octAverages[currentYear - 3]
|
||||
? Extension.textPoint(octAverages[currentYear - 3] as number)
|
||||
: null,
|
||||
oct5: octAverages[currentYear - 4]
|
||||
? Extension.textPoint(octAverages[currentYear - 4] as number)
|
||||
: null,
|
||||
};
|
||||
});
|
||||
|
||||
|
|
@ -4702,69 +4722,68 @@ export class OrganizationDotnetController extends Controller {
|
|||
"profileSalary",
|
||||
"profileInsignias",
|
||||
"profileDisciplines",
|
||||
"profileAssessments"
|
||||
"profileAssessments",
|
||||
],
|
||||
where: { id: In(body.profileIds) }
|
||||
where: { id: In(body.profileIds) },
|
||||
});
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
profile = await this.profileEmpRepo.find({
|
||||
relations: [
|
||||
"profileSalary",
|
||||
"profileInsignias",
|
||||
"profileDisciplines",
|
||||
"profileAssessments"
|
||||
"profileAssessments",
|
||||
],
|
||||
where: { id: In(body.profileIds) }
|
||||
where: { id: In(body.profileIds) },
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (!profile) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล");
|
||||
|
||||
const currentYear = new Date().getFullYear();
|
||||
const currentYear = new Date().getFullYear();
|
||||
const years = [currentYear, currentYear - 1, currentYear - 2, currentYear - 3, currentYear - 4];
|
||||
|
||||
|
||||
// APR Averages
|
||||
const aprAverages: { [year: number]: number | null } = {};
|
||||
const aprSums: { [year: number]: number } = {};
|
||||
const aprCounts: { [year: number]: number } = {};
|
||||
|
||||
|
||||
// OCT Averages
|
||||
const octAverages: { [year: number]: number | null } = {};
|
||||
const octSums: { [year: number]: number } = {};
|
||||
const octCounts: { [year: number]: number } = {};
|
||||
|
||||
years.forEach(year => {
|
||||
|
||||
years.forEach((year) => {
|
||||
aprAverages[year] = null;
|
||||
aprSums[year] = 0;
|
||||
aprCounts[year] = 0;
|
||||
|
||||
|
||||
octAverages[year] = null;
|
||||
octSums[year] = 0;
|
||||
octCounts[year] = 0;
|
||||
});
|
||||
|
||||
profile.forEach(profile => {
|
||||
|
||||
profile.forEach((profile) => {
|
||||
const assessments = profile.profileAssessments || [];
|
||||
|
||||
assessments.forEach(assessment => {
|
||||
|
||||
assessments.forEach((assessment) => {
|
||||
const year = Number(assessment.year);
|
||||
|
||||
|
||||
if (years.includes(year)) {
|
||||
if (assessment.period === 'APR') {
|
||||
if (assessment.period === "APR") {
|
||||
aprSums[year] += assessment.pointSum;
|
||||
aprCounts[year] += 1;
|
||||
}
|
||||
|
||||
if (assessment.period === 'OCT') {
|
||||
|
||||
if (assessment.period === "OCT") {
|
||||
octSums[year] += assessment.pointSum;
|
||||
octCounts[year] += 1;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
years.forEach(year => {
|
||||
|
||||
years.forEach((year) => {
|
||||
aprAverages[year] = aprCounts[year] > 0 ? aprSums[year] / aprCounts[year] : null;
|
||||
octAverages[year] = octCounts[year] > 0 ? octSums[year] / octCounts[year] : null;
|
||||
});
|
||||
|
|
@ -4776,16 +4795,36 @@ export class OrganizationDotnetController extends Controller {
|
|||
markLeave: false,
|
||||
markRate: x.profileAssessments.length > 0 ? true : false,
|
||||
markInsignia: x.profileInsignias.length > 0 ? true : false,
|
||||
apr1:aprAverages[currentYear] ? Extension.textPoint(aprAverages[currentYear] as number) : null,
|
||||
apr2:aprAverages[currentYear - 1] ? Extension.textPoint(aprAverages[currentYear - 1] as number) : null,
|
||||
apr3:aprAverages[currentYear - 2] ? Extension.textPoint(aprAverages[currentYear - 2] as number) : null,
|
||||
apr4:aprAverages[currentYear - 3] ? Extension.textPoint(aprAverages[currentYear - 3] as number) : null,
|
||||
apr5:aprAverages[currentYear - 4] ? Extension.textPoint(aprAverages[currentYear - 4] as number) : null,
|
||||
oct1:octAverages[currentYear] ? Extension.textPoint(octAverages[currentYear] as number) : null,
|
||||
oct2:octAverages[currentYear - 1] ? Extension.textPoint(octAverages[currentYear - 1] as number) : null,
|
||||
oct3:octAverages[currentYear - 2] ? Extension.textPoint(octAverages[currentYear - 2] as number) : null,
|
||||
oct4:octAverages[currentYear - 3] ? Extension.textPoint(octAverages[currentYear - 3] as number) : null,
|
||||
oct5:octAverages[currentYear - 4] ? Extension.textPoint(octAverages[currentYear - 4] as number) : null,
|
||||
apr1: aprAverages[currentYear]
|
||||
? Extension.textPoint(aprAverages[currentYear] as number)
|
||||
: null,
|
||||
apr2: aprAverages[currentYear - 1]
|
||||
? Extension.textPoint(aprAverages[currentYear - 1] as number)
|
||||
: null,
|
||||
apr3: aprAverages[currentYear - 2]
|
||||
? Extension.textPoint(aprAverages[currentYear - 2] as number)
|
||||
: null,
|
||||
apr4: aprAverages[currentYear - 3]
|
||||
? Extension.textPoint(aprAverages[currentYear - 3] as number)
|
||||
: null,
|
||||
apr5: aprAverages[currentYear - 4]
|
||||
? Extension.textPoint(aprAverages[currentYear - 4] as number)
|
||||
: null,
|
||||
oct1: octAverages[currentYear]
|
||||
? Extension.textPoint(octAverages[currentYear] as number)
|
||||
: null,
|
||||
oct2: octAverages[currentYear - 1]
|
||||
? Extension.textPoint(octAverages[currentYear - 1] as number)
|
||||
: null,
|
||||
oct3: octAverages[currentYear - 2]
|
||||
? Extension.textPoint(octAverages[currentYear - 2] as number)
|
||||
: null,
|
||||
oct4: octAverages[currentYear - 3]
|
||||
? Extension.textPoint(octAverages[currentYear - 3] as number)
|
||||
: null,
|
||||
oct5: octAverages[currentYear - 4]
|
||||
? Extension.textPoint(octAverages[currentYear - 4] as number)
|
||||
: null,
|
||||
};
|
||||
});
|
||||
return new HttpSuccess(mapProfile);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue