คำสั่งวินัย

This commit is contained in:
Kittapath 2024-06-30 20:51:04 +07:00
parent 40f45b01e6
commit d6f0f583c3
2 changed files with 241 additions and 115 deletions

View file

@ -77,7 +77,6 @@ export class kpiReasonController extends Controller {
where: { id: id },
relations: ["kpiUserEvaluation"],
});
let kpiUserEvaluationReason = Object.assign(new KpiUserEvaluationReasonPlan(), requestBody);
kpiUserEvaluationReason.type = type.trim().toUpperCase();
if (type.trim().toUpperCase() == "PROBLEM") {
@ -204,10 +203,39 @@ export class kpiReasonController extends Controller {
@Get("{type}/plan/{user}/{id}")
async listKpiUserPlanReason(@Path() id: string, @Path() type: string, @Path() user: string) {
if (type.trim().toUpperCase() == "PROBLEM") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonPlan.find({
where: { kpiUserPlannedId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonPlan.find({
where: { kpiUserPlannedId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "EVALUATOR") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonPlan.find({
where: {
kpiUserPlannedId: id,
type: type.trim().toUpperCase(),
status: In(["EVALUATOR", "COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonPlan.find({
where: {
kpiUserPlannedId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDERHIGH") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonPlan.find({
where: {
kpiUserPlannedId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
}
} else {
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonPlan.find({
@ -392,10 +420,39 @@ export class kpiReasonController extends Controller {
@Get("{type}/role/{user}/{id}")
async listKpiUserRoleReason(@Path() id: string, @Path() type: string, @Path() user: string) {
if (type.trim().toUpperCase() == "PROBLEM") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonRole.find({
where: { kpiUserRoleId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonRole.find({
where: { kpiUserRoleId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "EVALUATOR") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonRole.find({
where: {
kpiUserRoleId: id,
type: type.trim().toUpperCase(),
status: In(["EVALUATOR", "COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonRole.find({
where: {
kpiUserRoleId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDERHIGH") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonRole.find({
where: {
kpiUserRoleId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
}
} else {
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonRole.find({
@ -582,10 +639,39 @@ export class kpiReasonController extends Controller {
@Get("{type}/special/{user}/{id}")
async listKpiUserSpecialReason(@Path() id: string, @Path() type: string, @Path() user: string) {
if (type.trim().toUpperCase() == "PROBLEM") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonSpecial.find({
where: { kpiUserSpecialId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonSpecial.find({
where: { kpiUserSpecialId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "EVALUATOR") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonSpecial.find({
where: {
kpiUserSpecialId: id,
type: type.trim().toUpperCase(),
status: In(["EVALUATOR", "COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonSpecial.find({
where: {
kpiUserSpecialId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDERHIGH") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonSpecial.find({
where: {
kpiUserSpecialId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
}
} else {
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonSpecial.find({
@ -772,10 +858,39 @@ export class kpiReasonController extends Controller {
@Path() user: string,
) {
if (type.trim().toUpperCase() == "PROBLEM") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonDevelopment.find({
where: { kpiUserDevelopmentId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonDevelopment.find({
where: { kpiUserDevelopmentId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "EVALUATOR") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonDevelopment.find({
where: {
kpiUserDevelopmentId: id,
type: type.trim().toUpperCase(),
status: In(["EVALUATOR", "COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonDevelopment.find({
where: {
kpiUserDevelopmentId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDERHIGH") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonDevelopment.find({
where: {
kpiUserDevelopmentId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
}
} else {
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonDevelopment.find({
@ -958,10 +1073,39 @@ export class kpiReasonController extends Controller {
@Get("{type}/capacity/{user}/{id}")
async listKpiUserCapacityReason(@Path() id: string, @Path() type: string, @Path() user: string) {
if (type.trim().toUpperCase() == "PROBLEM") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonCapacity.find({
where: { kpiUserCapacityId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonCapacity.find({
where: { kpiUserCapacityId: id, type: type.trim().toUpperCase() },
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "EVALUATOR") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonCapacity.find({
where: {
kpiUserCapacityId: id,
type: type.trim().toUpperCase(),
status: In(["EVALUATOR", "COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonCapacity.find({
where: {
kpiUserCapacityId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDER", "COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
} else if (user.trim().toUpperCase() == "COMMANDERHIGH") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonCapacity.find({
where: {
kpiUserCapacityId: id,
type: type.trim().toUpperCase(),
status: In(["COMMANDERHIGH", "DONE"]),
},
});
return new HttpSuccess(kpiUserEvaluationReason);
}
} else {
if (user.trim().toUpperCase() == "USER") {
const kpiUserEvaluationReason = await this.kpiUserEvaluationReasonCapacity.find({

View file

@ -132,106 +132,88 @@ export class ReportController extends Controller {
});
}
@Post("kpi9/{profileId}")
async GetReportKpi9(@Path() profileId?: string | null) {
let formattedData: any;
if (profileId) {
const kpiUserEvaluation = await this.kpiUserEvaluationRepository.findOne({
relations: ["kpiUserRoles", "kpiUserPlanneds", "kpiUserSpecials", "kpiUserCapacitys"],
where: { profileId: profileId },
});
if (!kpiUserEvaluation)
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลผู้ประเมิน");
@Post("kpi9/{id}")
async GetReportKpi9(@Path() id?: string) {
const kpiUserEvaluation = await this.kpiUserEvaluationRepository.findOne({
relations: ["kpiPeriod"],
where: { id: id },
});
if (!kpiUserEvaluation) throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลผู้ประเมิน");
//period
const period = await this.kpiPeriodRepository.findOneBy({
id: kpiUserEvaluation?.kpiPeriodId,
});
if (!period) throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลงวดการประเมิน");
let formattedData = {
durationKPI: kpiUserEvaluation.kpiPeriod.durationKPI,
fullname:
(kpiUserEvaluation.prefix == null ? "" : kpiUserEvaluation.prefix) +
"" +
(kpiUserEvaluation.firstName == null ? "" : kpiUserEvaluation.firstName) +
" " +
(kpiUserEvaluation.lastName == null ? "" : kpiUserEvaluation.lastName),
position: kpiUserEvaluation.position,
posTypeName: kpiUserEvaluation.posTypeName,
posLevelName: kpiUserEvaluation.posLevelName,
org: kpiUserEvaluation.org,
const kpiRole = await this.kpiRoleRepository.find({
where: { kpiPeriodId: period?.id },
});
fullnameEvaluator:
(kpiUserEvaluation.prefixEvaluator == null ? "" : kpiUserEvaluation.prefixEvaluator) +
"" +
(kpiUserEvaluation.firstNameEvaluator == null ? "" : kpiUserEvaluation.firstNameEvaluator) +
" " +
(kpiUserEvaluation.lastNameEvaluator == null ? "" : kpiUserEvaluation.lastNameEvaluator),
positionEvaluator: kpiUserEvaluation.positionEvaluator,
posTypeNameEvaluator: kpiUserEvaluation.posTypeNameEvaluator,
posLevelNameEvaluator: kpiUserEvaluation.posLevelNameEvaluator,
orgEvaluator: kpiUserEvaluation.orgEvaluator,
const kpiPlan = await this.kpiPlanRepository.find({
where: { kpiPeriodId: period?.id },
});
year: Extension.ToThaiNumber(String(Extension.ToThaiYear(kpiUserEvaluation.kpiPeriod.year))),
formattedData = {
fullname:
kpiUserEvaluation.prefix + kpiUserEvaluation.firstName + " " + kpiUserEvaluation.lastName,
position: kpiUserEvaluation.position,
posTypeName: kpiUserEvaluation.posTypeName,
posLevelName: kpiUserEvaluation.posLevelName,
org: kpiUserEvaluation.org,
startDateApr:
kpiUserEvaluation.kpiPeriod == null ||
kpiUserEvaluation.kpiPeriod.startDate == null ||
kpiUserEvaluation.kpiPeriod.durationKPI != "APR"
? "-"
: Extension.ToThaiNumber(Extension.ToThaiFullDate(kpiUserEvaluation.kpiPeriod.startDate)),
endDateApr:
kpiUserEvaluation.kpiPeriod == null ||
kpiUserEvaluation.kpiPeriod.endDate == null ||
kpiUserEvaluation.kpiPeriod.durationKPI != "APR"
? "-"
: Extension.ToThaiNumber(Extension.ToThaiFullDate(kpiUserEvaluation.kpiPeriod.endDate)),
startDateOct:
kpiUserEvaluation.kpiPeriod == null ||
kpiUserEvaluation.kpiPeriod.startDate == null ||
kpiUserEvaluation.kpiPeriod.durationKPI != "OCT"
? "-"
: Extension.ToThaiNumber(Extension.ToThaiFullDate(kpiUserEvaluation.kpiPeriod.startDate)),
endDateOct:
kpiUserEvaluation.kpiPeriod == null ||
kpiUserEvaluation.kpiPeriod.endDate == null ||
kpiUserEvaluation.kpiPeriod.durationKPI != "OCT"
? "-"
: Extension.ToThaiNumber(Extension.ToThaiFullDate(kpiUserEvaluation.kpiPeriod.endDate)),
fullnameEvaluator:
kpiUserEvaluation.prefixEvaluator +
kpiUserEvaluation.firstNameEvaluator +
" " +
kpiUserEvaluation.lastNameEvaluator,
positionEvaluator: kpiUserEvaluation.positionEvaluator,
posTypeNameEvaluator: kpiUserEvaluation.posTypeNameEvaluator,
posLevelNameEvaluator: kpiUserEvaluation.posLevelNameEvaluator,
rootEvaluator: kpiUserEvaluation.orgEvaluator,
evaluationResults: kpiUserEvaluation.evaluationResults,
totalPoint1: Extension.ToThaiNumber(kpiUserEvaluation.totalPoint1.toLocaleString()),
totalPoint2: Extension.ToThaiNumber(
(kpiUserEvaluation.totalPoint2_2 + kpiUserEvaluation.totalPoint2_1).toLocaleString(),
),
summaryPoint: Extension.ToThaiNumber(kpiUserEvaluation.summaryPoint.toLocaleString()),
weightPoint1: Extension.ToThaiNumber(kpiUserEvaluation.weightPoint1.toLocaleString()),
weightPoint2: Extension.ToThaiNumber(kpiUserEvaluation.weightPoint2.toLocaleString()),
summaryWeight: Extension.ToThaiNumber(kpiUserEvaluation.summaryWeight.toLocaleString()),
year: Extension.ToThaiNumber(
String(Extension.ToThaiYear(kpiUserEvaluation.kpiPeriod.year)),
),
startDateApr:
kpiUserEvaluation.kpiPeriod == null ||
kpiUserEvaluation.kpiPeriod.startDate == null ||
kpiUserEvaluation.kpiPeriod.durationKPI != "APR"
? "-"
: Extension.ToThaiNumber(
Extension.ToThaiFullDate(kpiUserEvaluation.kpiPeriod.startDate),
),
endDateApr:
kpiUserEvaluation.kpiPeriod == null ||
kpiUserEvaluation.kpiPeriod.endDate == null ||
kpiUserEvaluation.kpiPeriod.durationKPI != "APR"
? "-"
: Extension.ToThaiNumber(Extension.ToThaiFullDate(kpiUserEvaluation.kpiPeriod.endDate)),
startDateOct:
kpiUserEvaluation.kpiPeriod == null ||
kpiUserEvaluation.kpiPeriod.startDate == null ||
kpiUserEvaluation.kpiPeriod.durationKPI != "OCT"
? "-"
: Extension.ToThaiNumber(
Extension.ToThaiFullDate(kpiUserEvaluation.kpiPeriod.startDate),
),
endDateOct:
kpiUserEvaluation.kpiPeriod == null ||
kpiUserEvaluation.kpiPeriod.endDate == null ||
kpiUserEvaluation.kpiPeriod.durationKPI != "OCT"
? "-"
: Extension.ToThaiNumber(Extension.ToThaiFullDate(kpiUserEvaluation.kpiPeriod.endDate)),
evaluationResults: kpiUserEvaluation.evaluationResults,
totalPoint1: Extension.ToThaiNumber(kpiUserEvaluation.totalPoint1.toLocaleString()),
totalPoint2: Extension.ToThaiNumber(
kpiUserEvaluation.totalPoint2_2 + kpiUserEvaluation.totalPoint2_1.toLocaleString(),
),
summaryPoint: Extension.ToThaiNumber(kpiUserEvaluation.summaryPoint.toLocaleString()),
weightPoint1: Extension.ToThaiNumber(kpiUserEvaluation.weightPoint1.toLocaleString()),
weightPoint2: Extension.ToThaiNumber(kpiUserEvaluation.weightPoint2.toLocaleString()),
summaryWeight: Extension.ToThaiNumber(kpiUserEvaluation.summaryWeight.toLocaleString()),
topicEvaluator: kpiUserEvaluation.topicEvaluator,
developEvaluator: kpiUserEvaluation.developEvaluator,
timeEvaluator: kpiUserEvaluation.timeEvaluator,
reasonEvaluator: kpiUserEvaluation.reasonEvaluator,
isReasonCommander: kpiUserEvaluation.isReasonCommander,
reasonCommander: kpiUserEvaluation.reasonCommander,
isReasonCommanderHigh: kpiUserEvaluation.isReasonCommanderHigh,
reasonCommanderHigh: kpiUserEvaluation.reasonCommanderHigh,
openDate:
kpiUserEvaluation.openDate == null
? null
: Extension.ToThaiNumber(Extension.ToThaiFullDate(kpiUserEvaluation.openDate)),
};
}
topicEvaluator: kpiUserEvaluation.topicEvaluator,
developEvaluator: kpiUserEvaluation.developEvaluator,
timeEvaluator: kpiUserEvaluation.timeEvaluator,
reasonEvaluator: kpiUserEvaluation.reasonEvaluator,
isReasonCommander: kpiUserEvaluation.isReasonCommander,
reasonCommander: kpiUserEvaluation.reasonCommander,
isReasonCommanderHigh: kpiUserEvaluation.isReasonCommanderHigh,
reasonCommanderHigh: kpiUserEvaluation.reasonCommanderHigh,
openDate:
kpiUserEvaluation.openDate == null
? null
: Extension.ToThaiNumber(Extension.ToThaiFullDate(kpiUserEvaluation.openDate)),
};
return new HttpSuccess({
template: "KPI9",