251123:0200 T6.1 to DO

This commit is contained in:
2025-11-23 02:23:38 +07:00
parent 17d9f172d4
commit 23006898d9
58 changed files with 3221 additions and 502 deletions
@@ -0,0 +1,43 @@
import {
IsInt,
IsString,
IsOptional,
IsDateString,
IsArray,
IsNotEmpty,
} from 'class-validator';
export class CreateRfaDto {
@IsInt()
@IsNotEmpty()
projectId!: number;
@IsInt()
@IsNotEmpty()
rfaTypeId!: number;
@IsString()
@IsNotEmpty()
title!: string;
@IsInt()
@IsNotEmpty()
toOrganizationId!: number; // ส่งถึงใคร (สำหรับ Routing Step 1)
@IsString()
@IsOptional()
description?: string;
@IsDateString()
@IsOptional()
documentDate?: string;
@IsDateString()
@IsOptional()
dueDate?: string; // กำหนดวันตอบกลับ
@IsArray()
@IsInt({ each: true })
@IsOptional()
shopDrawingRevisionIds?: number[]; // Shop Drawings ที่แนบมา
}
@@ -0,0 +1,33 @@
import { IsInt, IsOptional, IsString, IsNotEmpty } from 'class-validator';
import { Type } from 'class-transformer';
export class SearchRfaDto {
@IsInt()
@Type(() => Number)
@IsNotEmpty()
projectId!: number; // บังคับระบุ Project
@IsOptional()
@IsInt()
@Type(() => Number)
rfaTypeId?: number; // กรองตามประเภท RFA
@IsOptional()
@IsInt()
@Type(() => Number)
statusId?: number; // กรองตามสถานะ (เช่น Draft, For Approve)
@IsOptional()
@IsString()
search?: string; // ค้นหาจาก เลขที่เอกสาร หรือ หัวข้อเรื่อง
@IsOptional()
@IsInt()
@Type(() => Number)
page: number = 1;
@IsOptional()
@IsInt()
@Type(() => Number)
pageSize: number = 20;
}
@@ -0,0 +1,4 @@
import { PartialType } from '@nestjs/swagger';
import { CreateRfaDto } from './create-rfa.dto';
export class UpdateRfaDto extends PartialType(CreateRfaDto) {}