refactor: update status more accurate
This commit is contained in:
parent
d12834d7d7
commit
ce51b8cc0f
1 changed files with 37 additions and 21 deletions
|
|
@ -184,28 +184,44 @@ export class RequestDataActionController extends Controller {
|
|||
@Post("cancel")
|
||||
@Security("keycloak")
|
||||
async cancelRequestData(@Path() requestDataId: string) {
|
||||
await prisma.$transaction([
|
||||
prisma.requestData.update({
|
||||
where: { id: requestDataId },
|
||||
data: {
|
||||
requestDataStatus: RequestDataStatus.Canceled,
|
||||
},
|
||||
}),
|
||||
prisma.requestWorkStepStatus.updateMany({
|
||||
where: { requestWork: { requestDataId } },
|
||||
data: {
|
||||
workStatus: RequestWorkStatus.Canceled,
|
||||
},
|
||||
}),
|
||||
prisma.taskOrder.updateMany({
|
||||
where: {
|
||||
taskList: {
|
||||
every: { taskStatus: RequestWorkStatus.Canceled },
|
||||
await prisma.$transaction(async (tx) => {
|
||||
const workStepCondition = {
|
||||
requestWork: { requestDataId },
|
||||
workStatus: { notIn: [RequestWorkStatus.Completed, RequestWorkStatus.Ended] },
|
||||
};
|
||||
|
||||
await Promise.all([
|
||||
tx.requestData.update({
|
||||
where: { id: requestDataId },
|
||||
data: {
|
||||
requestDataStatus: RequestDataStatus.Canceled,
|
||||
},
|
||||
},
|
||||
data: { taskOrderStatus: TaskStatus.Canceled },
|
||||
}),
|
||||
]);
|
||||
}),
|
||||
tx.requestWorkStepStatus.updateMany({
|
||||
where: workStepCondition,
|
||||
data: {
|
||||
workStatus: RequestWorkStatus.Canceled,
|
||||
},
|
||||
}),
|
||||
tx.task.updateMany({
|
||||
where: {
|
||||
taskStatus: { notIn: [TaskStatus.Complete, TaskStatus.Redo] },
|
||||
requestWorkStep: workStepCondition,
|
||||
},
|
||||
data: { taskStatus: TaskStatus.Canceled },
|
||||
}),
|
||||
]);
|
||||
await Promise.all([
|
||||
tx.taskOrder.updateMany({
|
||||
where: {
|
||||
taskList: {
|
||||
every: { taskStatus: TaskStatus.Canceled },
|
||||
},
|
||||
},
|
||||
data: { taskOrderStatus: TaskStatus.Canceled },
|
||||
}),
|
||||
]);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue