From ba2bcf56c4310a0c6fdf0f181a6d42b1e05b7683 Mon Sep 17 00:00:00 2001 From: Rizki Date: Sun, 1 Feb 2026 16:42:21 +0700 Subject: [PATCH] procurement surveys --- src/entity/procurement/procurement_surveys.ts | 58 +++++++++++++++++++ src/schema/procurement.ts | 1 + src/types/procurement.ts | 11 +++- 3 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 src/entity/procurement/procurement_surveys.ts diff --git a/src/entity/procurement/procurement_surveys.ts b/src/entity/procurement/procurement_surveys.ts new file mode 100644 index 0000000..bc49663 --- /dev/null +++ b/src/entity/procurement/procurement_surveys.ts @@ -0,0 +1,58 @@ +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; +import { ProcurementVendor } from "./procurement_vendor"; + +@Entity("procurement_surveys", { schema: "procurement" }) +export class ProcurementSurvey { + @PrimaryGeneratedColumn("uuid") + id: string; + + // ========================= + // SURVEY INFORMATION + // ========================= + + @Column({ type: "date" }) + data_date: Date; // DATA field + + @Column({ type: "date" }) + survey_date: Date; // TANGGAL SURVEY field + + // ========================= + // COMPANY & LOCATION + // ========================= + + @ManyToOne(() => ProcurementVendor, { onDelete: "NO ACTION", nullable: true }) + @JoinColumn() + company: ProcurementVendor; // KOMPANYA + + @Column({ length: 256 }) + location: string; // LOCATION - CRISTO REI, DILI + + // ========================= + // SURVEY RESULT + // ========================= + + @Column({ type: "text" }) + survey_result: string; // HASIL SURVEY + + // ========================= + // AUDIT + // ========================= + + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256 }) + created_by: string; + + @UpdateDateColumn({ nullable: true }) + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @DeleteDateColumn({ nullable: true }) + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/schema/procurement.ts b/src/schema/procurement.ts index 3d61c0a..705ef0f 100644 --- a/src/schema/procurement.ts +++ b/src/schema/procurement.ts @@ -11,5 +11,6 @@ export * from "../entity/procurement/procurement_purchase_order_item"; export * from "../entity/procurement/procurement_payment_request"; export * from "../entity/procurement/procurement_work_orders"; export * from "../entity/procurement/procurement_work_order_copies"; +export * from "../entity/procurement/procurement_surveys"; export * from "../types/procurement"; diff --git a/src/types/procurement.ts b/src/types/procurement.ts index 16c163a..16883aa 100644 --- a/src/types/procurement.ts +++ b/src/types/procurement.ts @@ -77,8 +77,6 @@ export enum ProcurementPRCStatus { RECEIVED = "RECEIVED", } -// File: src/types/procurement.ts - export enum ProcurementWorkOrderStatus { DRAFT = "DRAFT", PENDING_APPROVAL = "PENDING_APPROVAL", @@ -88,3 +86,12 @@ export enum ProcurementWorkOrderStatus { COMPLETED = "COMPLETED", CANCELLED = "CANCELLED", } + +export enum ProcurementSurveyStatus { + DRAFT = "DRAFT", + APPROVED = "APPROVED", + ISSUED = "ISSUED", + IN_PROGRESS = "IN_PROGRESS", + COMPLETED = "COMPLETED", + CANCELLED = "CANCELLED", +}