summaryrefslogtreecommitdiff
path: root/lib/tech-vendor-rfq-response/types.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tech-vendor-rfq-response/types.ts')
-rw-r--r--lib/tech-vendor-rfq-response/types.ts76
1 files changed, 76 insertions, 0 deletions
diff --git a/lib/tech-vendor-rfq-response/types.ts b/lib/tech-vendor-rfq-response/types.ts
new file mode 100644
index 00000000..f8ae1fcf
--- /dev/null
+++ b/lib/tech-vendor-rfq-response/types.ts
@@ -0,0 +1,76 @@
+// RFQ 아이템 타입
+export interface RfqResponseItem {
+ id: number;
+ itemCode: string;
+ itemList?: string | null;
+ subItemList?: string | null;
+ quantity?: number;
+ uom?: string;
+ description?: string | null;
+}
+
+// RFQ 첨부 파일 타입
+export interface RfqResponseAttachment {
+ id: number;
+ fileName: string;
+ filePath: string;
+ vendorId?: number | null;
+ evaluationId?: number | null;
+}
+
+// RFQ 코멘트 타입
+export interface RfqResponseComment {
+ id: number;
+ commentText: string;
+ vendorId?: number | null;
+ evaluationId?: number | null;
+ createdAt: Date;
+ commentedBy?: number;
+}
+
+// 최종 RfqResponse 타입 - RFQ 참여 응답만 포함하도록 간소화
+export interface RfqResponse {
+ // 응답 정보
+ responseId: number;
+ responseStatus: "INVITED" | "ACCEPTED" | "DECLINED" | "REVIEWING" | "RESPONDED";
+ respondedAt: Date;
+
+ // RFQ 기본 정보
+ rfqId: number;
+ rfqCode: string;
+ rfqDescription?: string | null;
+ rfqDueDate?: Date | null;
+ rfqStatus: string;
+ rfqCreatedAt: Date;
+ rfqUpdatedAt: Date;
+ rfqCreatedBy?: number | null;
+
+ // 프로젝트 정보
+ projectId?: number | null;
+ projectCode?: string | null;
+ projectName?: string | null;
+
+ // 협력업체 정보
+ vendorId: number;
+ vendorName: string;
+ vendorCode?: string | null;
+
+ // RFQ 관련 데이터
+ items: RfqResponseItem[];
+ attachments: RfqResponseAttachment[];
+ comments: RfqResponseComment[];
+}
+
+// DataTable 등에서 사용할 수 있도록 id 필드를 추가한 확장 타입
+export interface RfqResponseWithId extends RfqResponse {
+ id: number; // rfqId와 동일하게 사용
+}
+
+// 페이지네이션 결과 타입
+export interface RfqResponsesResult {
+ data: RfqResponseWithId[];
+ pageCount: number;
+}
+
+// 이전 버전과의 호환성을 위한 RfqWithAll 타입 (이름만 유지)
+export type RfqWithAll = RfqResponseWithId; \ No newline at end of file