From 2889ea352131f4ef9c2a2a4a80325edfa0ea25cf Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Thu, 26 Dec 2024 11:06:59 +0700 Subject: [PATCH] feat: add cancel individual product in request work --- src/controllers/06-request-list-controller.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/controllers/06-request-list-controller.ts b/src/controllers/06-request-list-controller.ts index 165013c..05372e7 100644 --- a/src/controllers/06-request-list-controller.ts +++ b/src/controllers/06-request-list-controller.ts @@ -538,6 +538,37 @@ export class RequestListController extends Controller { data: { requestDataStatus: "InProgress" }, }); break; + case "Canceled": + await tx.task.updateMany({ + where: { + taskStatus: { notIn: [TaskStatus.Complete, TaskStatus.Redo] }, + requestWorkStep: { + step: step, + requestWorkId, + workStatus: { notIn: [RequestWorkStatus.Completed, RequestWorkStatus.Ended] }, + }, + }, + data: { taskStatus: TaskStatus.Canceled }, + }); + await Promise.all([ + tx.quotation.updateMany({ + where: { + requestData: { + every: { requestDataStatus: RequestDataStatus.Canceled }, + }, + }, + data: { quotationStatus: QuotationStatus.Canceled, urgent: false }, + }), + tx.taskOrder.updateMany({ + where: { + taskList: { + every: { taskStatus: TaskStatus.Canceled }, + }, + }, + data: { taskOrderStatus: TaskStatus.Canceled }, + }), + ]); + break; } const requestList = await tx.requestData.findMany({