คำนวนเงินเดือนลูกจ่างเคลสพอดีขั้นสูงสุด

This commit is contained in:
Kittapath 2024-04-03 19:41:18 +07:00
parent 50fc458c3f
commit b1a0d1bb85

View file

@ -572,12 +572,58 @@ export class SalaryPeriodEmployeeController extends Controller {
salaryProfile.amountSpecial = 0;
}
} else {
salaryProfile.isNext = false;
salaryProfile.amountUse = 0;
salaryProfile.positionSalaryAmount = salaryProfile.amount;
salaryProfile.positionSalaryDayAmount = 0;
salaryProfile.positionSalaryAmountPer = 0;
salaryProfile.amountSpecial = 0;
if (salaryFormula != null && salaryFormula.salaryMax == salaryProfile.amount) {
let salaryRankAmountMax = await this.salaryRankRepository.findOne({
where: {
salaryMonth: salaryFormula.salaryMax,
salaryEmployee_: {
id: salaryFormula.salaryEmployee.id,
},
},
});
salaryProfile.isNext = true;
salaryProfile.amountUse = salaryFormula.salaryMax - salaryProfile.amount;
salaryProfile.positionSalaryAmount =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth;
salaryProfile.positionSalaryDayAmount =
salaryRankAmountMax == null ? 0 : salaryRankAmountMax.salaryDay;
salaryProfile.groupNew = salaryFormula.salaryEmployee.group;
salaryProfile.salaryLevelNew = salaryRankAmountMax == null ? 0 : salaryRankAmountMax.step;
salaryRankAmountMax == null ? 0 : salaryRankAmountMax.step;
if (salaryRankAmountMax != null) {
if (step - salaryRankAmountMax.step <= 0.5) {
salaryProfile.positionSalaryAmountPer = 0.02;
salaryProfile.amountSpecial =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth * 0.02;
} else if (step - salaryRankAmountMax.step <= 1) {
salaryProfile.positionSalaryAmountPer = 0.04;
salaryProfile.amountSpecial =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth * 0.04;
} else {
salaryProfile.positionSalaryAmountPer = 0.06;
salaryProfile.amountSpecial =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth * 0.06;
}
} else {
salaryProfile.positionSalaryAmountPer = 0;
salaryProfile.amountSpecial = 0;
}
} else {
salaryProfile.isNext = false;
salaryProfile.amountUse = 0;
salaryProfile.positionSalaryAmount = salaryProfile.amount;
salaryProfile.positionSalaryDayAmount = 0;
salaryProfile.positionSalaryAmountPer = 0;
salaryProfile.amountSpecial = 0;
}
}
} else {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ประเภทการเลื่อนขึ้นเงินเดือนไม่ถูกต้อง");
@ -999,13 +1045,64 @@ export class SalaryPeriodEmployeeController extends Controller {
salaryProfile.amountSpecial = 0;
}
} else {
salaryProfile.isNext = false;
salaryProfile.amountUse = 0;
salaryProfile.positionSalaryAmount =
salaryProfile.amount == null ? 0 : salaryProfile.amount;
salaryProfile.positionSalaryDayAmount = 0;
salaryProfile.positionSalaryAmountPer = 0;
salaryProfile.amountSpecial = 0;
if (
salaryFormula != null &&
salaryFormula.salaryMax != null &&
salaryFormula.salaryMax == salaryProfile.amount
) {
let salaryRankAmountMax = await this.salaryRankRepository.findOne({
where: {
salaryMonth: salaryFormula.salaryMax,
salaryEmployee_: {
id: salaryFormula.salaryEmployee.id,
},
},
});
salaryProfile.isNext = true;
salaryProfile.amountUse =
salaryFormula.salaryMax - (salaryProfile.amount == null ? 0 : salaryProfile.amount);
salaryProfile.positionSalaryAmount =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth;
salaryProfile.positionSalaryDayAmount =
salaryRankAmountMax == null ? 0 : salaryRankAmountMax.salaryDay;
salaryProfile.groupNew = salaryFormula.salaryEmployee.group;
salaryProfile.salaryLevelNew = salaryRankAmountMax == null ? 0 : salaryRankAmountMax.step;
salaryRankAmountMax == null ? 0 : salaryRankAmountMax.step;
if (salaryRankAmountMax != null) {
if (step - salaryRankAmountMax.step <= 0.5) {
salaryProfile.positionSalaryAmountPer = 0.02;
salaryProfile.amountSpecial =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth * 0.02;
} else if (step - salaryRankAmountMax.step <= 1) {
salaryProfile.positionSalaryAmountPer = 0.04;
salaryProfile.amountSpecial =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth * 0.04;
} else {
salaryProfile.positionSalaryAmountPer = 0.06;
salaryProfile.amountSpecial =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth * 0.06;
}
} else {
salaryProfile.positionSalaryAmountPer = 0;
salaryProfile.amountSpecial = 0;
}
} else {
salaryProfile.isNext = false;
salaryProfile.amountUse = 0;
salaryProfile.positionSalaryAmount =
salaryProfile.amount == null ? 0 : salaryProfile.amount;
salaryProfile.positionSalaryDayAmount = 0;
salaryProfile.positionSalaryAmountPer = 0;
salaryProfile.amountSpecial = 0;
}
}
} else {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ประเภทการเลื่อนขึ้นเงินเดือนไม่ถูกต้อง");
@ -1530,13 +1627,64 @@ export class SalaryPeriodEmployeeController extends Controller {
salaryProfile.amountSpecial = 0;
}
} else {
salaryProfile.isNext = false;
salaryProfile.amountUse = 0;
salaryProfile.positionSalaryAmount =
salaryProfile.amount == null ? 0 : salaryProfile.amount;
salaryProfile.positionSalaryDayAmount = 0;
salaryProfile.positionSalaryAmountPer = 0;
salaryProfile.amountSpecial = 0;
if (
salaryFormula != null &&
salaryFormula.salaryMax != null &&
salaryFormula.salaryMax == salaryProfile.amount
) {
let salaryRankAmountMax = await this.salaryRankRepository.findOne({
where: {
salaryMonth: salaryFormula.salaryMax,
salaryEmployee_: {
id: salaryFormula.salaryEmployee.id,
},
},
});
salaryProfile.isNext = true;
salaryProfile.amountUse =
salaryFormula.salaryMax - (salaryProfile.amount == null ? 0 : salaryProfile.amount);
salaryProfile.positionSalaryAmount =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth;
salaryProfile.positionSalaryDayAmount =
salaryRankAmountMax == null ? 0 : salaryRankAmountMax.salaryDay;
salaryProfile.groupNew = salaryFormula.salaryEmployee.group;
salaryProfile.salaryLevelNew = salaryRankAmountMax == null ? 0 : salaryRankAmountMax.step;
salaryRankAmountMax == null ? 0 : salaryRankAmountMax.step;
if (salaryRankAmountMax != null) {
if (step - salaryRankAmountMax.step <= 0.5) {
salaryProfile.positionSalaryAmountPer = 0.02;
salaryProfile.amountSpecial =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth * 0.02;
} else if (step - salaryRankAmountMax.step <= 1) {
salaryProfile.positionSalaryAmountPer = 0.04;
salaryProfile.amountSpecial =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth * 0.04;
} else {
salaryProfile.positionSalaryAmountPer = 0.06;
salaryProfile.amountSpecial =
salaryRankAmountMax == null || salaryRankAmountMax.salaryMonth == null
? 0
: salaryRankAmountMax.salaryMonth * 0.06;
}
} else {
salaryProfile.positionSalaryAmountPer = 0;
salaryProfile.amountSpecial = 0;
}
} else {
salaryProfile.isNext = false;
salaryProfile.amountUse = 0;
salaryProfile.positionSalaryAmount =
salaryProfile.amount == null ? 0 : salaryProfile.amount;
salaryProfile.positionSalaryDayAmount = 0;
salaryProfile.positionSalaryAmountPer = 0;
salaryProfile.amountSpecial = 0;
}
}
} else {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ประเภทการเลื่อนขึ้นเงินเดือนไม่ถูกต้อง");