feat: add task product record
This commit is contained in:
parent
33e77e33b5
commit
111adbb076
2 changed files with 19 additions and 2 deletions
|
|
@ -1121,6 +1121,7 @@ model Product {
|
|||
|
||||
workProduct WorkProduct[]
|
||||
quotationProductServiceList QuotationProductServiceList[]
|
||||
taskProduct TaskProduct[]
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
createdBy User? @relation(name: "ProductCreatedByUser", fields: [createdByUserId], references: [id], onDelete: SetNull)
|
||||
|
|
@ -1519,6 +1520,16 @@ model Task {
|
|||
taskOrderId String
|
||||
}
|
||||
|
||||
model TaskProduct {
|
||||
taskOrderId String
|
||||
taskOrder TaskOrder @relation(fields: [taskOrderId], references: [id])
|
||||
productId String
|
||||
product Product @relation(fields: [productId], references: [id])
|
||||
discount Float?
|
||||
|
||||
@@id([taskOrderId, productId])
|
||||
}
|
||||
|
||||
model TaskOrder {
|
||||
id String @id @default(cuid())
|
||||
|
||||
|
|
@ -1541,7 +1552,8 @@ model TaskOrder {
|
|||
createdBy User @relation(name: "TaskOrderCreatedByUser", fields: [createdByUserId], references: [id])
|
||||
createdByUserId String
|
||||
|
||||
userTask UserTask[]
|
||||
userTask UserTask[]
|
||||
taskProduct TaskProduct[]
|
||||
}
|
||||
|
||||
enum UserTaskStatus {
|
||||
|
|
|
|||
|
|
@ -144,6 +144,7 @@ export class TaskController extends Controller {
|
|||
where: { id: taskOrderId },
|
||||
include: {
|
||||
userTask: true,
|
||||
taskProduct: true,
|
||||
taskList: {
|
||||
where: {
|
||||
requestWorkStep: { responsibleUserId: taskAssignedUserId },
|
||||
|
|
@ -215,6 +216,7 @@ export class TaskController extends Controller {
|
|||
registeredBranchId?: string;
|
||||
|
||||
taskList: { requestWorkId: string; step: number }[];
|
||||
taskProduct: { productId: string; discount?: number }[];
|
||||
},
|
||||
) {
|
||||
return await prisma.$transaction(async (tx) => {
|
||||
|
|
@ -236,7 +238,7 @@ export class TaskController extends Controller {
|
|||
|
||||
const code = `PO${year}${month}${last.value.toString().padStart(6, "0")}`;
|
||||
|
||||
const { taskList, ...rest } = body;
|
||||
const { taskList, taskProduct, ...rest } = body;
|
||||
|
||||
const userAffiliatedBranch = await tx.branch.findFirst({
|
||||
include: branchRelationPermInclude(req.user),
|
||||
|
|
@ -323,6 +325,7 @@ export class TaskController extends Controller {
|
|||
registeredBranchId: userAffiliatedBranch.id,
|
||||
createdByUserId: req.user.sub,
|
||||
taskList: { create: taskList },
|
||||
taskProduct: { create: taskProduct },
|
||||
},
|
||||
});
|
||||
});
|
||||
|
|
@ -344,6 +347,7 @@ export class TaskController extends Controller {
|
|||
institutionId: string;
|
||||
|
||||
taskList: { requestWorkId: string; step: number }[];
|
||||
taskProduct: { productId: string; discount?: number }[];
|
||||
},
|
||||
) {
|
||||
const record = await prisma.taskOrder.findFirst({
|
||||
|
|
@ -401,6 +405,7 @@ export class TaskController extends Controller {
|
|||
skipDuplicates: true,
|
||||
},
|
||||
},
|
||||
taskProduct: { deleteMany: {}, create: body.taskProduct },
|
||||
},
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue