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")
|
@Post("cancel")
|
||||||
@Security("keycloak")
|
@Security("keycloak")
|
||||||
async cancelRequestData(@Path() requestDataId: string) {
|
async cancelRequestData(@Path() requestDataId: string) {
|
||||||
await prisma.$transaction([
|
await prisma.$transaction(async (tx) => {
|
||||||
prisma.requestData.update({
|
const workStepCondition = {
|
||||||
where: { id: requestDataId },
|
requestWork: { requestDataId },
|
||||||
data: {
|
workStatus: { notIn: [RequestWorkStatus.Completed, RequestWorkStatus.Ended] },
|
||||||
requestDataStatus: RequestDataStatus.Canceled,
|
};
|
||||||
},
|
|
||||||
}),
|
await Promise.all([
|
||||||
prisma.requestWorkStepStatus.updateMany({
|
tx.requestData.update({
|
||||||
where: { requestWork: { requestDataId } },
|
where: { id: requestDataId },
|
||||||
data: {
|
data: {
|
||||||
workStatus: RequestWorkStatus.Canceled,
|
requestDataStatus: RequestDataStatus.Canceled,
|
||||||
},
|
|
||||||
}),
|
|
||||||
prisma.taskOrder.updateMany({
|
|
||||||
where: {
|
|
||||||
taskList: {
|
|
||||||
every: { taskStatus: RequestWorkStatus.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