refactor: wrap in transaction
This commit is contained in:
parent
f8abb7503b
commit
de29f64aaf
1 changed files with 27 additions and 30 deletions
|
|
@ -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(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue