From 7fb9f887ab49770e7969b425421cb17e3967b6e3 Mon Sep 17 00:00:00 2001 From: Kittapath Date: Thu, 7 Mar 2024 18:43:10 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=80=E0=B8=87?= =?UTF-8?q?=E0=B8=B4=E0=B8=99=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99?= =?UTF-8?q?=E0=B8=97=E0=B8=B0=E0=B8=A5=E0=B8=B8=E0=B8=82=E0=B8=B1=E0=B9=89?= =?UTF-8?q?=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/SalaryPeriodController.ts | 261 ++++++++++++---------- 1 file changed, 147 insertions(+), 114 deletions(-) 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" }, + }); + } } }