diff --git a/src/controllers/SalaryPeriodController.ts b/src/controllers/SalaryPeriodController.ts index 4b2307b..71ae350 100644 --- a/src/controllers/SalaryPeriodController.ts +++ b/src/controllers/SalaryPeriodController.ts @@ -260,56 +260,67 @@ export class SalaryPeriodController extends Controller { order: { salary: "DESC" }, }); } - if (salaryProfile.type == "HAFT") { - if (salaryRanks.salaryHalfSpecial != null && salaryRanks.salaryHalfSpecial > 0) { - let _salaryRanks = await this.salaryRankRepository.findOne({ - where: { - salaryId: salarys.id, - salary: salaryProfile.amount, - isNext: true, - }, - }); - if (_salaryRanks != null) { - salaryRanks = _salaryRanks; + if (salaryRanks != null) { + if (salaryProfile.type == "HAFT") { + if (salaryRanks.salaryHalfSpecial != null && salaryRanks.salaryHalfSpecial > 0) { + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryRanks.salaryHalf, + isNext: true, + }, + }); } - } - } else if (salaryProfile.type == "FULL") { - if (salaryRanks.salaryFullSpecial != null && salaryRanks.salaryFullSpecial > 0) { - let _salaryRanks = await this.salaryRankRepository.findOne({ - where: { - salaryId: salarys.id, - salary: salaryProfile.amount, - isNext: true, - }, - }); - if (_salaryRanks != null) { - salaryRanks = _salaryRanks; - if (salaryRanks.salaryHalfSpecial == null && salaryRanks.salaryHalfSpecial == 0) { + } else if (salaryProfile.type == "FULL") { + if (salaryRanks.salaryFullSpecial != null && salaryRanks.salaryFullSpecial > 0) { + if (salaryRanks.salaryHalfSpecial == null || salaryRanks.salaryHalfSpecial == 0) { type = "HAFT"; } + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryRanks.salaryFull, + isNext: true, + }, + }); } - } - } else if (salaryProfile.type == "FULLHAFT") { - if (salaryRanks.salaryFullHalfSpecial != null && salaryRanks.salaryFullHalfSpecial > 0) { - let _salaryRanks = await this.salaryRankRepository.findOne({ - where: { - salaryId: salarys.id, - salary: salaryProfile.amount, - isNext: true, - }, - }); - if (_salaryRanks != null) { - salaryRanks = _salaryRanks; - if (salaryRanks.salaryFullSpecial == null && salaryRanks.salaryFullSpecial == 0) { + } else if (salaryProfile.type == "FULLHAFT") { + if (salaryRanks.salaryFullHalfSpecial != null && salaryRanks.salaryFullHalfSpecial > 0) { + if (salaryRanks.salaryFullSpecial == null || salaryRanks.salaryFullSpecial == 0) { type = "HAFT"; } else if ( - salaryRanks.salaryHalfSpecial == null && + salaryRanks.salaryHalfSpecial == null || salaryRanks.salaryHalfSpecial == 0 ) { type = "FULL"; } + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryRanks.salaryFullHalf, + isNext: true, + }, + }); } } + } else { + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryProfile.amount, + isNext: true, + }, + }); + if (salaryRanks == null) { + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: MoreThan(salaryProfile.amount), + isNext: true, + }, + order: { salary: "DESC" }, + }); + } } } @@ -569,56 +580,67 @@ export class SalaryPeriodController extends Controller { order: { salary: "DESC" }, }); } - if (salaryProfile.type == "HAFT") { - if (salaryRanks.salaryHalfSpecial != null && salaryRanks.salaryHalfSpecial > 0) { - let _salaryRanks = await this.salaryRankRepository.findOne({ - where: { - salaryId: salarys.id, - salary: salaryProfile.amount, - isNext: true, - }, - }); - if (_salaryRanks != null) { - salaryRanks = _salaryRanks; + if (salaryRanks != null) { + if (salaryProfile.type == "HAFT") { + if (salaryRanks.salaryHalfSpecial != null && salaryRanks.salaryHalfSpecial > 0) { + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryRanks.salaryHalf, + isNext: true, + }, + }); } - } - } else if (salaryProfile.type == "FULL") { - if (salaryRanks.salaryFullSpecial != null && salaryRanks.salaryFullSpecial > 0) { - let _salaryRanks = await this.salaryRankRepository.findOne({ - where: { - salaryId: salarys.id, - salary: salaryProfile.amount, - isNext: true, - }, - }); - if (_salaryRanks != null) { - salaryRanks = _salaryRanks; - if (salaryRanks.salaryHalfSpecial == null && salaryRanks.salaryHalfSpecial == 0) { + } else if (salaryProfile.type == "FULL") { + if (salaryRanks.salaryFullSpecial != null && salaryRanks.salaryFullSpecial > 0) { + if (salaryRanks.salaryHalfSpecial == null || salaryRanks.salaryHalfSpecial == 0) { type = "HAFT"; } + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryRanks.salaryFull, + isNext: true, + }, + }); } - } - } else if (salaryProfile.type == "FULLHAFT") { - if (salaryRanks.salaryFullHalfSpecial != null && salaryRanks.salaryFullHalfSpecial > 0) { - let _salaryRanks = await this.salaryRankRepository.findOne({ - where: { - salaryId: salarys.id, - salary: salaryProfile.amount, - isNext: true, - }, - }); - if (_salaryRanks != null) { - salaryRanks = _salaryRanks; - if (salaryRanks.salaryFullSpecial == null && salaryRanks.salaryFullSpecial == 0) { + } else if (salaryProfile.type == "FULLHAFT") { + if (salaryRanks.salaryFullHalfSpecial != null && salaryRanks.salaryFullHalfSpecial > 0) { + if (salaryRanks.salaryFullSpecial == null || salaryRanks.salaryFullSpecial == 0) { type = "HAFT"; } else if ( - salaryRanks.salaryHalfSpecial == null && + salaryRanks.salaryHalfSpecial == null || salaryRanks.salaryHalfSpecial == 0 ) { type = "FULL"; } + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryRanks.salaryFullHalf, + isNext: true, + }, + }); } } + } else { + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryProfile.amount, + isNext: true, + }, + }); + if (salaryRanks == null) { + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: MoreThan(salaryProfile.amount), + isNext: true, + }, + order: { salary: "DESC" }, + }); + } } } @@ -929,56 +951,67 @@ export class SalaryPeriodController extends Controller { order: { salary: "DESC" }, }); } - if (salaryProfile.type == "HAFT") { - if (salaryRanks.salaryHalfSpecial != null && salaryRanks.salaryHalfSpecial > 0) { - let _salaryRanks = await this.salaryRankRepository.findOne({ - where: { - salaryId: salarys.id, - salary: salaryProfile.amount, - isNext: true, - }, - }); - if (_salaryRanks != null) { - salaryRanks = _salaryRanks; + if (salaryRanks != null) { + if (salaryProfile.type == "HAFT") { + if (salaryRanks.salaryHalfSpecial != null && salaryRanks.salaryHalfSpecial > 0) { + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryRanks.salaryHalf, + isNext: true, + }, + }); } - } - } else if (salaryProfile.type == "FULL") { - if (salaryRanks.salaryFullSpecial != null && salaryRanks.salaryFullSpecial > 0) { - let _salaryRanks = await this.salaryRankRepository.findOne({ - where: { - salaryId: salarys.id, - salary: salaryProfile.amount, - isNext: true, - }, - }); - if (_salaryRanks != null) { - salaryRanks = _salaryRanks; - if (salaryRanks.salaryHalfSpecial == null && salaryRanks.salaryHalfSpecial == 0) { + } else if (salaryProfile.type == "FULL") { + if (salaryRanks.salaryFullSpecial != null && salaryRanks.salaryFullSpecial > 0) { + if (salaryRanks.salaryHalfSpecial == null || salaryRanks.salaryHalfSpecial == 0) { type = "HAFT"; } + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryRanks.salaryFull, + isNext: true, + }, + }); } - } - } else if (salaryProfile.type == "FULLHAFT") { - if (salaryRanks.salaryFullHalfSpecial != null && salaryRanks.salaryFullHalfSpecial > 0) { - let _salaryRanks = await this.salaryRankRepository.findOne({ - where: { - salaryId: salarys.id, - salary: salaryProfile.amount, - isNext: true, - }, - }); - if (_salaryRanks != null) { - salaryRanks = _salaryRanks; - if (salaryRanks.salaryFullSpecial == null && salaryRanks.salaryFullSpecial == 0) { + } else if (salaryProfile.type == "FULLHAFT") { + if (salaryRanks.salaryFullHalfSpecial != null && salaryRanks.salaryFullHalfSpecial > 0) { + if (salaryRanks.salaryFullSpecial == null || salaryRanks.salaryFullSpecial == 0) { type = "HAFT"; } else if ( - salaryRanks.salaryHalfSpecial == null && + salaryRanks.salaryHalfSpecial == null || salaryRanks.salaryHalfSpecial == 0 ) { type = "FULL"; } + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryRanks.salaryFullHalf, + isNext: true, + }, + }); } } + } else { + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: salaryProfile.amount, + isNext: true, + }, + }); + if (salaryRanks == null) { + salaryRanks = await this.salaryRankRepository.findOne({ + where: { + salaryId: salarys.id, + salary: MoreThan(salaryProfile.amount), + isNext: true, + }, + order: { salary: "DESC" }, + }); + } } }