Merge branch 'develop'

This commit is contained in:
Methapon2001 2025-01-24 13:45:17 +07:00
commit 3b60582e66
5 changed files with 43 additions and 5 deletions

View file

@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "TaskOrder" ADD COLUMN "urgent" BOOLEAN NOT NULL DEFAULT false;

View file

@ -1552,6 +1552,8 @@ model TaskOrder {
contactName String contactName String
contactTel String contactTel String
urgent Boolean @default(false)
institution Institution @relation(fields: [institutionId], references: [id]) institution Institution @relation(fields: [institutionId], references: [id])
institutionId String institutionId String

View file

@ -512,9 +512,7 @@ export class QuotationController extends Controller {
a.vat = precisionRound(a.vat + c.vat); a.vat = precisionRound(a.vat + c.vat);
a.vatExcluded = a.vatExcluded =
c.vat === 0 c.vat === 0
? precisionRound( ? precisionRound(a.vatExcluded + (c.pricePerUnit * c.amount - (c.discount || 0)))
a.vatExcluded + (c.pricePerUnit * c.amount - (c.discount || 0)) * VAT_DEFAULT,
)
: a.vatExcluded; : a.vatExcluded;
a.finalPrice = precisionRound( a.finalPrice = precisionRound(
Math.max(a.totalPrice - a.totalDiscount + a.vat - (body.discount || 0), 0), Math.max(a.totalPrice - a.totalDiscount + a.vat - (body.discount || 0), 0),

View file

@ -189,7 +189,7 @@ export class RequestDataController extends Controller {
}, },
take: pageSize, take: pageSize,
skip: (page - 1) * pageSize, skip: (page - 1) * pageSize,
orderBy: { createdAt: "desc" }, orderBy: [{ quotation: { urgent: "desc" } }, { createdAt: "desc" }],
}), }),
prisma.requestData.count({ where }), prisma.requestData.count({ where }),
]); ]);
@ -200,7 +200,7 @@ export class RequestDataController extends Controller {
@Get("{requestDataId}") @Get("{requestDataId}")
@Security("keycloak") @Security("keycloak")
async getRequestData(@Path() requestDataId: string) { async getRequestData(@Path() requestDataId: string) {
return await prisma.requestData.findFirst({ const record = await prisma.requestData.findFirst({
where: { id: requestDataId }, where: { id: requestDataId },
include: { include: {
quotation: { quotation: {
@ -224,6 +224,10 @@ export class RequestDataController extends Controller {
}, },
}, },
}); });
if (!record) throw notFoundError("Request Data");
return record;
} }
} }

View file

@ -152,6 +152,7 @@ export class TaskController extends Controller {
) { ) {
const record = await prisma.taskOrder.findFirst({ const record = await prisma.taskOrder.findFirst({
where: { id: taskOrderId }, where: { id: taskOrderId },
orderBy: [{ urgent: "desc" }, { createdAt: "desc" }],
include: { include: {
userTask: true, userTask: true,
taskProduct: true, taskProduct: true,
@ -295,6 +296,21 @@ export class TaskController extends Controller {
); );
} }
const work = await tx.requestWorkStepStatus.findMany({
include: {
requestWork: {
include: {
request: {
include: {
quotation: true,
},
},
},
},
},
where: { OR: taskList },
});
return await tx.taskOrder.create({ return await tx.taskOrder.create({
include: { include: {
taskList: { taskList: {
@ -352,6 +368,7 @@ export class TaskController extends Controller {
data: { data: {
...rest, ...rest,
code, code,
urgent: work.some((v) => v.requestWork.request.quotation.urgent),
registeredBranchId: userAffiliatedBranch.id, registeredBranchId: userAffiliatedBranch.id,
createdByUserId: req.user.sub, createdByUserId: req.user.sub,
taskList: { create: taskList }, taskList: { create: taskList },
@ -437,6 +454,19 @@ export class TaskController extends Controller {
data: { workStatus: RequestWorkStatus.InProgress }, data: { workStatus: RequestWorkStatus.InProgress },
}); });
const work = await tx.requestWorkStepStatus.findMany({
include: {
requestWork: {
include: {
request: {
include: { quotation: true },
},
},
},
},
where: { OR: body.taskList },
});
return await tx.taskOrder.update({ return await tx.taskOrder.update({
where: { id: taskOrderId }, where: { id: taskOrderId },
include: { include: {
@ -455,6 +485,7 @@ export class TaskController extends Controller {
}, },
data: { data: {
...body, ...body,
urgent: work.some((v) => v.requestWork.request.quotation.urgent),
taskList: { taskList: {
deleteMany: record?.taskList deleteMany: record?.taskList
.filter( .filter(
@ -629,6 +660,7 @@ export class TaskActionController extends Controller {
tx.taskOrder.update({ tx.taskOrder.update({
where: { id: taskOrderId }, where: { id: taskOrderId },
data: { data: {
urgent: false,
taskOrderStatus: TaskOrderStatus.Complete, taskOrderStatus: TaskOrderStatus.Complete,
userTask: { userTask: {
updateMany: { updateMany: {