คำนวนเงินเดือนลูกจ่างเคลสพอดีขั้นสูงสุด
This commit is contained in:
parent
50fc458c3f
commit
b1a0d1bb85
1 changed files with 168 additions and 20 deletions
|
|
@ -572,12 +572,58 @@ export class SalaryPeriodEmployeeController extends Controller {
|
||||||
salaryProfile.amountSpecial = 0;
|
salaryProfile.amountSpecial = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
salaryProfile.isNext = false;
|
if (salaryFormula != null && salaryFormula.salaryMax == salaryProfile.amount) {
|
||||||
salaryProfile.amountUse = 0;
|
let salaryRankAmountMax = await this.salaryRankRepository.findOne({
|
||||||
salaryProfile.positionSalaryAmount = salaryProfile.amount;
|
where: {
|
||||||
salaryProfile.positionSalaryDayAmount = 0;
|
salaryMonth: salaryFormula.salaryMax,
|
||||||
salaryProfile.positionSalaryAmountPer = 0;
|
salaryEmployee_: {
|
||||||
salaryProfile.amountSpecial = 0;
|
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 {
|
} else {
|
||||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ประเภทการเลื่อนขึ้นเงินเดือนไม่ถูกต้อง");
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ประเภทการเลื่อนขึ้นเงินเดือนไม่ถูกต้อง");
|
||||||
|
|
@ -999,13 +1045,64 @@ export class SalaryPeriodEmployeeController extends Controller {
|
||||||
salaryProfile.amountSpecial = 0;
|
salaryProfile.amountSpecial = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
salaryProfile.isNext = false;
|
if (
|
||||||
salaryProfile.amountUse = 0;
|
salaryFormula != null &&
|
||||||
salaryProfile.positionSalaryAmount =
|
salaryFormula.salaryMax != null &&
|
||||||
salaryProfile.amount == null ? 0 : salaryProfile.amount;
|
salaryFormula.salaryMax == salaryProfile.amount
|
||||||
salaryProfile.positionSalaryDayAmount = 0;
|
) {
|
||||||
salaryProfile.positionSalaryAmountPer = 0;
|
let salaryRankAmountMax = await this.salaryRankRepository.findOne({
|
||||||
salaryProfile.amountSpecial = 0;
|
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 {
|
} else {
|
||||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ประเภทการเลื่อนขึ้นเงินเดือนไม่ถูกต้อง");
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ประเภทการเลื่อนขึ้นเงินเดือนไม่ถูกต้อง");
|
||||||
|
|
@ -1530,13 +1627,64 @@ export class SalaryPeriodEmployeeController extends Controller {
|
||||||
salaryProfile.amountSpecial = 0;
|
salaryProfile.amountSpecial = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
salaryProfile.isNext = false;
|
if (
|
||||||
salaryProfile.amountUse = 0;
|
salaryFormula != null &&
|
||||||
salaryProfile.positionSalaryAmount =
|
salaryFormula.salaryMax != null &&
|
||||||
salaryProfile.amount == null ? 0 : salaryProfile.amount;
|
salaryFormula.salaryMax == salaryProfile.amount
|
||||||
salaryProfile.positionSalaryDayAmount = 0;
|
) {
|
||||||
salaryProfile.positionSalaryAmountPer = 0;
|
let salaryRankAmountMax = await this.salaryRankRepository.findOne({
|
||||||
salaryProfile.amountSpecial = 0;
|
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 {
|
} else {
|
||||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ประเภทการเลื่อนขึ้นเงินเดือนไม่ถูกต้อง");
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ประเภทการเลื่อนขึ้นเงินเดือนไม่ถูกต้อง");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue