feat: add query param for scope task to specific user

This commit is contained in:
Methapon2001 2024-12-11 09:15:11 +07:00
parent 23540b9d5c
commit c26ce25f25

View file

@ -66,9 +66,17 @@ export class TaskController extends Controller {
@Query() query: string = "", @Query() query: string = "",
@Query() page = 1, @Query() page = 1,
@Query() pageSize = 30, @Query() pageSize = 30,
@Query() assignedByUserId?: string,
@Query() taskOrderStatus?: TaskOrderStatus, @Query() taskOrderStatus?: TaskOrderStatus,
) { ) {
return this.getTaskOrderListByCriteria(req, query, page, pageSize, taskOrderStatus); return this.getTaskOrderListByCriteria(
req,
query,
page,
pageSize,
assignedByUserId,
taskOrderStatus,
);
} }
@Post("list") @Post("list")
@ -78,6 +86,7 @@ export class TaskController extends Controller {
@Query() query: string = "", @Query() query: string = "",
@Query() page = 1, @Query() page = 1,
@Query() pageSize = 30, @Query() pageSize = 30,
@Query() assignedByUserId?: string,
@Query() taskOrderStatus?: TaskOrderStatus, @Query() taskOrderStatus?: TaskOrderStatus,
@Body() body?: { code?: string[] }, @Body() body?: { code?: string[] },
) { ) {
@ -86,6 +95,13 @@ export class TaskController extends Controller {
where: { where: {
taskOrderStatus, taskOrderStatus,
registeredBranch: { OR: permissionCondCompany(req.user) }, registeredBranch: { OR: permissionCondCompany(req.user) },
taskList: assignedByUserId
? {
some: {
requestWorkStep: { responsibleUserId: assignedByUserId },
},
}
: undefined,
code: body?.code ? { in: body.code } : undefined, code: body?.code ? { in: body.code } : undefined,
OR: [ OR: [
{ code: { contains: query, mode: "insensitive" } }, { code: { contains: query, mode: "insensitive" } },
@ -107,11 +123,18 @@ export class TaskController extends Controller {
@Get("{taskId}") @Get("{taskId}")
@Security("keycloak") @Security("keycloak")
async getTaskOrder(@Request() req: RequestWithUser, @Path() taskId: string) { async getTaskOrder(
@Request() req: RequestWithUser,
@Path() taskId: string,
@Query() taskAssignedByUserId?: string,
) {
const record = await prisma.taskOrder.findFirst({ const record = await prisma.taskOrder.findFirst({
where: { id: taskId, registeredBranch: { OR: permissionCondCompany(req.user) } }, where: { id: taskId, registeredBranch: { OR: permissionCondCompany(req.user) } },
include: { include: {
taskList: { taskList: {
where: {
requestWorkStep: { responsibleUserId: taskAssignedByUserId },
},
include: { include: {
requestWorkStep: { requestWorkStep: {
include: { include: {