refactor: wrap in transaction

This commit is contained in:
Methapon2001 2024-12-24 16:04:54 +07:00
parent f8abb7503b
commit de29f64aaf

View file

@ -512,12 +512,13 @@ export class TaskActionController extends Controller {
if (!record) throw notFoundError("Task Order"); if (!record) throw notFoundError("Task Order");
await prisma.$transaction([ await prisma.$transaction(async (tx) => {
prisma.taskOrder.update({ await Promise.all([
tx.taskOrder.update({
where: { id: taskOrderId }, where: { id: taskOrderId },
data: { taskOrderStatus: TaskOrderStatus.Complete }, data: { taskOrderStatus: TaskOrderStatus.Complete },
}), }),
prisma.requestWorkStepStatus.updateMany({ tx.requestWorkStepStatus.updateMany({
where: { where: {
task: { task: {
some: { taskOrderId, taskStatus: TaskStatus.Redo }, some: { taskOrderId, taskStatus: TaskStatus.Redo },
@ -525,7 +526,7 @@ export class TaskActionController extends Controller {
}, },
data: { workStatus: RequestWorkStatus.Ready }, data: { workStatus: RequestWorkStatus.Ready },
}), }),
prisma.task.updateMany({ tx.task.updateMany({
where: { where: {
taskOrderId: taskOrderId, taskOrderId: taskOrderId,
taskStatus: TaskStatus.Validate, taskStatus: TaskStatus.Validate,
@ -534,8 +535,7 @@ export class TaskActionController extends Controller {
data: { taskStatus: TaskStatus.Complete }, data: { taskStatus: TaskStatus.Complete },
}), }),
]); ]);
await tx.requestWorkStepStatus.updateMany({
await prisma.requestWorkStepStatus.updateMany({
where: { where: {
task: { task: {
some: { taskOrderId, taskStatus: TaskStatus.Complete }, some: { taskOrderId, taskStatus: TaskStatus.Complete },
@ -543,8 +543,6 @@ export class TaskActionController extends Controller {
}, },
data: { workStatus: RequestWorkStatus.Completed }, data: { workStatus: RequestWorkStatus.Completed },
}); });
await prisma.$transaction(async (tx) => {
const requestList = await tx.requestData.findMany({ const requestList = await tx.requestData.findMany({
include: { include: {
requestWork: { requestWork: {
@ -578,7 +576,6 @@ export class TaskActionController extends Controller {
const completed: string[] = []; const completed: string[] = [];
requestList.forEach((item) => { requestList.forEach((item) => {
console.log(item);
const completeCheck = item.requestWork.every((work) => { const completeCheck = item.requestWork.every((work) => {
const stepCount = const stepCount =
work.productService.work?.productOnWork.find( work.productService.work?.productOnWork.find(