From bfc2608af4d4e26717a6485fc2c968989d9f6976 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Tue, 29 Jul 2025 09:44:25 +0700 Subject: [PATCH 1/4] fix: notification not show because of missing registered branch --- src/controllers/06-request-list-controller.ts | 11 +++++++++++ src/controllers/07-task-controller.ts | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/src/controllers/06-request-list-controller.ts b/src/controllers/06-request-list-controller.ts index a01f465..45c21f7 100644 --- a/src/controllers/06-request-list-controller.ts +++ b/src/controllers/06-request-list-controller.ts @@ -461,6 +461,8 @@ export class RequestDataActionController extends Controller { title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", detail: "รหัส / code : " + v.code + " Canceled", receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, })), }); }), @@ -481,6 +483,7 @@ export class RequestDataActionController extends Controller { title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", detail: "รหัส / code : " + v.code + " Canceled", receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, groupReceiver: { create: { name: "document_checker" } }, }, }), @@ -667,6 +670,8 @@ export class RequestDataActionController extends Controller { title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", detail: "รหัส / code : " + v.code + " Canceled", receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, })), }); }), @@ -771,6 +776,8 @@ export class RequestDataActionController extends Controller { title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", detail: "รหัส / code : " + v.code + " Completed", receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, })), }); @@ -1183,6 +1190,8 @@ export class RequestListController extends Controller { title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", detail: "รหัส / code : " + v.code + " Canceled", receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, })), }); }), @@ -1297,6 +1306,8 @@ export class RequestListController extends Controller { title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", detail: "รหัส / code : " + v.code + " Completed", receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, })), }); const token = await this.#getLineToken(); diff --git a/src/controllers/07-task-controller.ts b/src/controllers/07-task-controller.ts index ba2f656..ad97be0 100644 --- a/src/controllers/07-task-controller.ts +++ b/src/controllers/07-task-controller.ts @@ -407,6 +407,7 @@ export class TaskController extends Controller { data: { title: "ใบสั่งงานใหม่ / New Task Order", detail: "รหัส / code : " + v.code, + registeredBranchId: v.registeredBranchId, groupReceiver: { create: { name: "document_checker" } }, }, }); @@ -554,6 +555,7 @@ export class TaskController extends Controller { title: "มีการส่งงาน / Task Submitted", detail: "รหัสใบสั่งงาน / Order : " + record.code, receiverId: record.createdByUserId, + registeredBranchId: record.registeredBranchId, groupReceiver: { create: { name: "document_checker" } }, }, }); @@ -749,6 +751,7 @@ export class TaskActionController extends Controller { title: "มีการส่งงาน / Task Submitted", detail: "รหัสใบสั่งงาน / Order : " + record.code, receiverId: record.createdByUserId, + registeredBranchId: record.registeredBranchId, groupReceiver: { create: { name: "document_checker" } }, }, }), @@ -805,6 +808,7 @@ export class TaskActionController extends Controller { title: "ใบงานเสร็จสิ้น / Task Complete", detail: "รหัสใบสั่งงาน / Order : " + record.code, receiverId: record.createdByUserId, + registeredBranchId: record.registeredBranchId, groupReceiver: { create: { name: "document_checker" } }, }, }); @@ -918,6 +922,7 @@ export class TaskActionController extends Controller { include: { quotation: { select: { + registeredBranchId: true, createdByUserId: true, }, }, @@ -932,6 +937,7 @@ export class TaskActionController extends Controller { title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", detail: "รหัส / code : " + v.code + " Completed", receiverId: v.quotation.createdByUserId, + registeredBranchId: v.quotation.registeredBranchId, groupReceiver: { create: { name: "document_checker" } }, }, }), @@ -984,6 +990,7 @@ export class TaskActionController extends Controller { title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", detail: "รหัส / code : " + v.code + " Completed", receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, groupReceiver: { create: { name: "document_checker" } }, }, }), @@ -1232,6 +1239,7 @@ export class UserTaskController extends Controller { title: "สถานะใบส่งงานมีการเปลี่ยนแปลง / Order Status Changed", detail: "รหัสใบสั่งงาน / Order : " + v.code + " InProgress", receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, groupReceiver: { create: { name: "document_checker" } }, }, }); @@ -1240,6 +1248,7 @@ export class UserTaskController extends Controller { title: "มีการรับงาน / Task Accepted", detail: "รหัสใบสั่งงาน / Order : " + v.code, receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, groupReceiver: { create: { name: "document_checker" } }, }, }); From dfe7bd16d819c5975169d6f5d2128edbf01ad7cf Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Tue, 29 Jul 2025 10:18:33 +0700 Subject: [PATCH 2/4] fix: error trying to create relation in create many --- src/controllers/06-request-list-controller.ts | 110 +++++++++++------- 1 file changed, 65 insertions(+), 45 deletions(-) diff --git a/src/controllers/06-request-list-controller.ts b/src/controllers/06-request-list-controller.ts index 45c21f7..764fbc7 100644 --- a/src/controllers/06-request-list-controller.ts +++ b/src/controllers/06-request-list-controller.ts @@ -456,15 +456,19 @@ export class RequestDataActionController extends Controller { data: { quotationStatus: QuotationStatus.Canceled, urgent: false }, }) .then(async (res) => { - await tx.notification.createMany({ - data: res.map((v) => ({ - title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", - detail: "รหัส / code : " + v.code + " Canceled", - receiverId: v.createdByUserId, - registeredBranchId: v.registeredBranchId, - groupReceiver: { create: { name: "document_checker" } }, - })), - }); + await Promise.all( + res.map((v) => + tx.notification.create({ + data: { + title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", + detail: "รหัส / code : " + v.code + " Canceled", + receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, + }, + }), + ), + ); }), tx.taskOrder .updateManyAndReturn({ @@ -665,15 +669,19 @@ export class RequestDataActionController extends Controller { data: { quotationStatus: QuotationStatus.Canceled, urgent: false }, }) .then(async (res) => { - await tx.notification.createMany({ - data: res.map((v) => ({ - title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", - detail: "รหัส / code : " + v.code + " Canceled", - receiverId: v.createdByUserId, - registeredBranchId: v.registeredBranchId, - groupReceiver: { create: { name: "document_checker" } }, - })), - }); + await Promise.all( + res.map((v) => + tx.notification.create({ + data: { + title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", + detail: "รหัส / code : " + v.code + " Canceled", + receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, + }, + }), + ), + ); }), tx.taskOrder.updateMany({ where: { @@ -771,15 +779,19 @@ export class RequestDataActionController extends Controller { }, }) .then(async (res) => { - await tx.notification.createMany({ - data: res.map((v) => ({ - title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", - detail: "รหัส / code : " + v.code + " Completed", - receiverId: v.createdByUserId, - registeredBranchId: v.registeredBranchId, - groupReceiver: { create: { name: "document_checker" } }, - })), - }); + await Promise.all( + res.map((v) => + tx.notification.create({ + data: { + title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", + detail: "รหัส / code : " + v.code + " Completed", + receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, + }, + }), + ), + ); const token = await this.#getLineToken(); if (!token) return; @@ -1185,15 +1197,19 @@ export class RequestListController extends Controller { data: { quotationStatus: QuotationStatus.Canceled, urgent: false }, }) .then(async (res) => { - await tx.notification.createMany({ - data: res.map((v) => ({ - title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", - detail: "รหัส / code : " + v.code + " Canceled", - receiverId: v.createdByUserId, - registeredBranchId: v.registeredBranchId, - groupReceiver: { create: { name: "document_checker" } }, - })), - }); + await Promise.all( + res.map((v) => + tx.notification.create({ + data: { + title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", + detail: "รหัส / code : " + v.code + " Canceled", + receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, + }, + }), + ), + ); }), tx.taskOrder.updateMany({ where: { @@ -1301,15 +1317,19 @@ export class RequestListController extends Controller { }, }) .then(async (res) => { - await tx.notification.createMany({ - data: res.map((v) => ({ - title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", - detail: "รหัส / code : " + v.code + " Completed", - receiverId: v.createdByUserId, - registeredBranchId: v.registeredBranchId, - groupReceiver: { create: { name: "document_checker" } }, - })), - }); + await Promise.all( + res.map((v) => + tx.notification.create({ + data: { + title: "สถานะใบเสนอราคาเปลี่ยนแปลง / Quotation Status Updated", + detail: "รหัส / code : " + v.code + " Completed", + receiverId: v.createdByUserId, + registeredBranchId: v.registeredBranchId, + groupReceiver: { create: { name: "document_checker" } }, + }, + }), + ), + ); const token = await this.#getLineToken(); if (!token) return; From f1620813708e36923836918452fffed98345fe2e Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Fri, 1 Aug 2025 10:58:04 +0700 Subject: [PATCH 3/4] fix: dashboard payment now taken cancled into account --- src/controllers/00-stats-controller.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/controllers/00-stats-controller.ts b/src/controllers/00-stats-controller.ts index b4aef31..e186178 100644 --- a/src/controllers/00-stats-controller.ts +++ b/src/controllers/00-stats-controller.ts @@ -631,6 +631,7 @@ export class StatsController extends Controller { createdAt: { gte: v, lte: date.endOf("month").toDate() }, invoice: { quotation: { + NOT: { quotationStatus: QuotationStatus.Canceled }, registeredBranch: { OR: permissionCondCompany(req.user) }, }, }, From c9939bf8bb76d29856cd0d8a54e23d6b9b8b77b4 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Mon, 4 Aug 2025 09:01:56 +0700 Subject: [PATCH 4/4] fix: stats will only take non canceled status --- src/controllers/00-stats-controller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/00-stats-controller.ts b/src/controllers/00-stats-controller.ts index e186178..95484a4 100644 --- a/src/controllers/00-stats-controller.ts +++ b/src/controllers/00-stats-controller.ts @@ -631,7 +631,7 @@ export class StatsController extends Controller { createdAt: { gte: v, lte: date.endOf("month").toDate() }, invoice: { quotation: { - NOT: { quotationStatus: QuotationStatus.Canceled }, + quotationStatus: { notIn: [QuotationStatus.Canceled] }, registeredBranch: { OR: permissionCondCompany(req.user) }, }, },