feat: notify request, task update

This commit is contained in:
Methapon2001 2025-03-05 14:41:55 +07:00
parent afb4a83efa
commit 17b92b4012
2 changed files with 137 additions and 105 deletions

View file

@ -1136,7 +1136,9 @@ export class QuotationActionController extends Controller {
},
update: { value: { increment: quotation.worker.length } },
});
await tx.quotation.update({
await tx.quotation
.update({
include: { requestData: true },
where: { id: quotationId, isDebitNote: false },
data: {
quotationStatus: QuotationStatus.PaymentSuccess, // NOTE: change back if already complete or canceled
@ -1170,6 +1172,16 @@ export class QuotationActionController extends Controller {
}
: undefined,
},
})
.then(async (ret) => {
await prisma.notification.create({
data: {
title: "New Request",
detail: "New request: " + ret.requestData.map((v) => v.code).join(", "),
registeredBranchId: ret.registeredBranchId,
groupReceiver: { create: { name: "document_checker" } },
},
});
});
});
}

View file

@ -433,7 +433,8 @@ export class TaskController extends Controller {
);
}
return await prisma.$transaction(async (tx) => {
return await prisma
.$transaction(async (tx) => {
await Promise.all(
record.taskList
.filter(
@ -514,6 +515,18 @@ export class TaskController extends Controller {
taskProduct: { deleteMany: {}, create: body.taskProduct },
},
});
})
.then(async (ret) => {
if (body.taskOrderStatus && record.taskOrderStatus !== body.taskOrderStatus) {
await prisma.notification.create({
data: {
title: "Task Submitted",
detail: "Task submitted in order: " + record.code,
receiverId: record.createdByUserId,
},
});
}
return ret;
});
}
@ -651,6 +664,13 @@ export class TaskActionController extends Controller {
},
data: { userTaskStatus: UserTaskStatus.Submit, submittedAt: new Date() },
}),
prisma.notification.create({
data: {
title: "Task Submitted",
detail: "Task submitted in order: " + record.code,
receiverId: record.createdByUserId,
},
}),
]);
}