summaryrefslogtreecommitdiff
path: root/db/schema/pq.ts
diff options
context:
space:
mode:
Diffstat (limited to 'db/schema/pq.ts')
-rw-r--r--db/schema/pq.ts29
1 files changed, 25 insertions, 4 deletions
diff --git a/db/schema/pq.ts b/db/schema/pq.ts
index a9d92953..33f095c4 100644
--- a/db/schema/pq.ts
+++ b/db/schema/pq.ts
@@ -63,6 +63,23 @@ export const pqCriterias = pgTable("pq_criterias", {
.notNull()
.default("TEXT"),
+ // 내자/외자/내외자 구분 (nullable, 기본값: 내외자)
+ type: varchar("type", { length: 20 }).default("내외자"),
+
+ createdAt: timestamp("created_at").defaultNow().notNull(),
+ updatedAt: timestamp("updated_at").defaultNow().notNull(),
+});
+
+// PQ 기준 첨부파일
+export const pqCriteriasAttachments = pgTable("pq_criterias_attachments", {
+ id: serial("id").primaryKey(),
+ pqCriteriaId: integer("pq_criteria_id")
+ .notNull()
+ .references(() => pqCriterias.id, { onDelete: "cascade", onUpdate: "cascade" }),
+ fileName: varchar("file_name", { length: 255 }).notNull(),
+ originalFileName: varchar("original_file_name", { length: 255 }),
+ filePath: varchar("file_path", { length: 1024 }).notNull(),
+ fileSize: integer("file_size"),
createdAt: timestamp("created_at").defaultNow().notNull(),
updatedAt: timestamp("updated_at").defaultNow().notNull(),
});
@@ -132,10 +149,12 @@ export const vendorPQSubmissions = pgTable("vendor_pq_submissions", {
status: varchar("status", {
length: 20,
enum: [
- "REQUESTED", // PQ 요청됨
- "SUBMITTED", // PQ 제출됨
- "APPROVED", // PQ 승인됨
- "REJECTED", // PQ 거절됨
+ "REQUESTED", // PQ 요청됨
+ "SUBMITTED", // PQ 제출됨
+ "SAFETY_APPROVED", // 안전 승인됨
+ "SAFETY_REJECTED", // 안전 거절됨
+ "APPROVED", // PQ 승인됨
+ "REJECTED", // PQ 거절됨
"QM_REVIEWING", // QM 검토중
"QM_APPROVED", // QM 승인됨
"QM_REJECTED" // QM 거절됨
@@ -416,9 +435,11 @@ export const vendorInvestigationsView = pgView(
// Essential vendor fields
vendorName: vendors.vendorName,
vendorCode: vendors.vendorCode,
+ vendorCountry: vendors.country,
// PQ 정보
pqItems: vendorPQSubmissions.pqItems,
+ pqType: vendorPQSubmissions.type,
pqNumber: vendorPQSubmissions.pqNumber,
// User names and emails instead of just IDs