summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-29 11:48:59 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-29 11:48:59 +0000
commit10f90dc68dec42e9a64e081cc0dce6a484447290 (patch)
tree5bc8bb30e03b09a602e7d414d943d0e7f24b1a0f
parent792fb0c21136eededecf52b5b4aa1a252bdc4bfb (diff)
(대표님, 박서영, 최겸) document-list-only, gtc, vendorDocu, docu-list-rule
-rw-r--r--app/[lng]/partners/(partners)/document-list-only/[contractId]/page.tsx175
-rw-r--r--app/[lng]/partners/(partners)/document-list-only/layout.tsx48
-rw-r--r--app/[lng]/partners/(partners)/document-list-only/page.tsx21
-rw-r--r--components/document-lists/vendor-doc-list-client.tsx2
-rw-r--r--db/migrations/0242_tan_proteus.sql15
-rw-r--r--db/migrations/0243_serious_korg.sql127
-rw-r--r--db/migrations/meta/0242_snapshot.json43310
-rw-r--r--db/migrations/meta/0243_snapshot.json43499
-rw-r--r--db/migrations/meta/_journal.json14
-rw-r--r--db/schema/gtc.ts4
-rw-r--r--db/schema/vendorDocu.ts190
-rw-r--r--lib/basic-contract/template/add-basic-contract-template-dialog.tsx2
-rw-r--r--lib/basic-contract/template/basic-contract-template-columns.tsx21
-rw-r--r--lib/basic-contract/template/update-basicContract-sheet.tsx2
-rw-r--r--lib/docu-list-rule/combo-box-settings/service.ts33
-rw-r--r--lib/docu-list-rule/combo-box-settings/table/combo-box-options-add-dialog.tsx23
-rw-r--r--lib/export.ts111
-rw-r--r--lib/exportFullData.ts189
-rw-r--r--lib/gtc-contract/gtc-clauses/table/clause-preview-viewer.tsx681
-rw-r--r--lib/gtc-contract/gtc-clauses/table/excel-import.tsx340
-rw-r--r--lib/gtc-contract/gtc-clauses/table/gtc-clauses-table-toolbar-actions.tsx200
-rw-r--r--lib/gtc-contract/gtc-clauses/table/import-excel-dialog.tsx381
-rw-r--r--lib/gtc-contract/gtc-clauses/table/preview-document-dialog.tsx115
-rw-r--r--lib/gtc-contract/service.ts520
-rw-r--r--lib/gtc-contract/status/clone-gtc-document-dialog.tsx383
-rw-r--r--lib/gtc-contract/status/create-gtc-document-dialog.tsx98
-rw-r--r--lib/gtc-contract/status/gtc-contract-table.tsx13
-rw-r--r--lib/gtc-contract/status/gtc-documents-table-columns.tsx35
-rw-r--r--lib/gtc-contract/validations.ts33
-rw-r--r--lib/vendor-document-list/enhanced-document-service.ts10
-rw-r--r--lib/vendor-document-list/plant/document-stage-actions.ts0
-rw-r--r--lib/vendor-document-list/plant/document-stage-dialogs.tsx789
-rw-r--r--lib/vendor-document-list/plant/document-stage-validations.ts339
-rw-r--r--lib/vendor-document-list/plant/document-stages-columns.tsx521
-rw-r--r--lib/vendor-document-list/plant/document-stages-expanded-content.tsx136
-rw-r--r--lib/vendor-document-list/plant/document-stages-service.ts1097
-rw-r--r--lib/vendor-document-list/plant/document-stages-table.tsx449
-rw-r--r--lib/vendor-document-list/plant/excel-import-export.ts788
-rw-r--r--lib/vendor-document-list/repository.ts36
-rw-r--r--lib/vendor-document-list/validations.ts2
40 files changed, 94338 insertions, 414 deletions
diff --git a/app/[lng]/partners/(partners)/document-list-only/[contractId]/page.tsx b/app/[lng]/partners/(partners)/document-list-only/[contractId]/page.tsx
new file mode 100644
index 00000000..e3cda9b4
--- /dev/null
+++ b/app/[lng]/partners/(partners)/document-list-only/[contractId]/page.tsx
@@ -0,0 +1,175 @@
+// document-stages-management-page.tsx
+import { Suspense } from "react"
+import { Separator } from "@/components/ui/separator"
+import { Skeleton } from "@/components/ui/skeleton"
+import { type SearchParams } from "@/types/table"
+import { getValidFilters } from "@/lib/data-table"
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
+import { Progress } from "@/components/ui/progress"
+import {
+ TrendingUp,
+ AlertTriangle,
+ Clock,
+ Target,
+ FileText,
+ Settings,
+ Download
+} from "lucide-react"
+import { Button } from "@/components/ui/button"
+import { DocumentStagesTable } from "@/lib/vendor-document-list/plant/document-stages-table"
+import { documentStageSearchParamsCache } from "@/lib/vendor-document-list/plant/document-stage-validations"
+import { getDocumentProgressStats, getDocumentStagesOnly } from "@/lib/vendor-document-list/plant/document-stages-service"
+
+interface DocumentStagesManagementPageProps {
+ params: {
+ contractId: string
+ }
+ searchParams: Promise<SearchParams>
+}
+
+
+// 전체 진행률 카드 컴포넌트
+async function ProgressCard({ contractId }: { contractId: number }) {
+ const stats = await getDocumentProgressStats(contractId)
+
+ return (
+ <Card>
+ <CardHeader>
+ <div className="flex items-center justify-between">
+ <CardTitle className="text-lg">전체 진행률</CardTitle>
+ <div className="flex items-center gap-2">
+ </div>
+ </div>
+ </CardHeader>
+ <CardContent>
+ <div className="space-y-4">
+ <div className="flex justify-between text-sm">
+ <span>평균 진행률</span>
+ <span className="font-medium">{stats.avgProgress}%</span>
+ </div>
+ <Progress value={stats.avgProgress} className="w-full" />
+
+ <div className="grid grid-cols-2 md:grid-cols-4 gap-4 text-sm">
+ <div className="text-center p-2 bg-gray-50 rounded">
+ <div className="font-medium text-lg text-gray-900">{stats.totalDocuments}</div>
+ <div className="text-gray-600">전체</div>
+ </div>
+ <div className="text-center p-2 bg-green-50 rounded">
+ <div className="font-medium text-lg text-green-600">{stats.completedDocuments}</div>
+ <div className="text-green-600">완료</div>
+ </div>
+ <div className="text-center p-2 bg-blue-50 rounded">
+ <div className="font-medium text-lg text-blue-600">{stats.inProgressDocuments}</div>
+ <div className="text-blue-600">진행중</div>
+ </div>
+ <div className="text-center p-2 bg-red-50 rounded">
+ <div className="font-medium text-lg text-red-600">{stats.overdueDocuments}</div>
+ <div className="text-red-600">지연</div>
+ </div>
+ </div>
+ </div>
+ </CardContent>
+ </Card>
+ )
+}
+
+// 문서 테이블 래퍼 컴포넌트
+async function DocumentTableWrapper({
+ contractId,
+ searchParams,
+ projectType
+}: {
+ contractId: number
+ searchParams: any
+ projectType: "ship" | "plant"
+}) {
+ const search = documentStageSearchParamsCache.parse(searchParams)
+ const validFilters = getValidFilters(search.filters)
+
+ const documentsPromise = getDocumentStagesOnly({
+ ...search,
+ filters: validFilters,
+ }, contractId)
+
+ return (
+ <DocumentStagesTable
+ promises={Promise.all([documentsPromise])}
+ contractId={contractId}
+ projectType={projectType}
+ initialDrawingKind={search.drawingKind}
+ />
+ )
+}
+
+
+
+function TableLoadingSkeleton() {
+ return (
+ <div className="space-y-4">
+ <div className="flex items-center justify-between">
+ <Skeleton className="h-6 w-32" />
+ <div className="flex items-center gap-2">
+ <Skeleton className="h-8 w-20" />
+ <Skeleton className="h-8 w-24" />
+ </div>
+ </div>
+ <div className="rounded-md border">
+ <div className="p-4">
+ <div className="space-y-3">
+ {Array.from({ length: 5 }).map((_, i) => (
+ <div key={i} className="flex items-center space-x-4">
+ <Skeleton className="h-4 w-4" />
+ <Skeleton className="h-4 w-24" />
+ <Skeleton className="h-4 w-48" />
+ <Skeleton className="h-4 w-20" />
+ <Skeleton className="h-4 w-16" />
+ <Skeleton className="h-4 w-12" />
+ </div>
+ ))}
+ </div>
+ </div>
+ </div>
+ </div>
+ )
+}
+
+// 메인 페이지 컴포넌트
+export default async function DocumentStagesManagementPage({
+ params,
+ searchParams
+}: DocumentStagesManagementPageProps) {
+ const resolvedParams = await params
+ const contractId = Number(resolvedParams.contractId)
+ const resolvedSearchParams = await searchParams
+
+ // 프로젝트 타입 결정 (실제로는 계약 정보에서 가져와야 함)
+ const projectType = resolvedSearchParams.projectType === "plant" ? "plant" : "ship"
+
+ if (isNaN(contractId)) {
+ throw new Error("유효하지 않은 계약 ID입니다")
+ }
+
+ return (
+ <div className=" mx-auto">
+
+ {/* 문서 테이블 */}
+ {/* <div className="space-y-4"> */}
+ {/* <div className="flex items-center justify-between">
+ <h2 className="text-xl font-semibold">문서 목록</h2>
+ <div className="text-sm text-muted-foreground">
+ 스테이지 상태별로 문서를 관리하고 진행 상황을 추적할 수 있습니다
+ </div>
+ </div> */}
+
+ <Suspense fallback={<TableLoadingSkeleton />}>
+ <DocumentTableWrapper
+ contractId={contractId}
+ searchParams={resolvedSearchParams}
+ projectType={projectType}
+ />
+ </Suspense>
+ {/* </div> */}
+
+ </div>
+ )
+} \ No newline at end of file
diff --git a/app/[lng]/partners/(partners)/document-list-only/layout.tsx b/app/[lng]/partners/(partners)/document-list-only/layout.tsx
new file mode 100644
index 00000000..8d486113
--- /dev/null
+++ b/app/[lng]/partners/(partners)/document-list-only/layout.tsx
@@ -0,0 +1,48 @@
+
+import { cookies } from "next/headers"
+import { Shell } from "@/components/shell"
+import DocumentContainer from "@/components/documents/document-container"
+import { getVendorProjectsAndContracts } from "@/lib/vendor-data/services"
+import { getVendorDocumentLists } from "@/lib/vendor-document/service"
+import VendorDocumentsClient from "@/components/documents/vendor-docs.client"
+import VendorDocumentListClient from "@/components/document-lists/vendor-doc-list-client"
+import { authOptions } from "@/app/api/auth/[...nextauth]/route";
+import { getServerSession } from "next-auth";
+
+
+
+// Layout 컴포넌트는 서버 컴포넌트입니다
+export default async function VendorDocuments({
+ children,
+}: {
+ children: React.ReactNode
+}) {
+ const session = await getServerSession(authOptions)
+ const vendorId = session?.user.companyId
+ // const vendorId = "17"
+ const idAsNumber = Number(vendorId)
+
+ const projects = await getVendorProjectsAndContracts(idAsNumber);
+ const filteredProjects = projects.filter(v=>v.projectType === "plant")
+
+
+ // 레이아웃 설정 쿠키 가져오기
+ // Next.js 15에서는 cookies()가 Promise를 반환하므로 await 사용
+ const cookieStore = await cookies()
+
+ // 이제 cookieStore.get() 메서드 사용 가능
+ const layout = cookieStore.get("react-resizable-panels:layout:mail")
+ const collapsed = cookieStore.get("react-resizable-panels:collapsed")
+
+ const defaultLayout = layout ? JSON.parse(layout.value) : undefined
+ const defaultCollapsed = collapsed ? JSON.parse(collapsed.value) : undefined
+
+
+ return (
+ <Shell className="gap-2">
+ <VendorDocumentListClient projects={filteredProjects}>
+ {children}
+ </VendorDocumentListClient>
+ </Shell>
+ )
+} \ No newline at end of file
diff --git a/app/[lng]/partners/(partners)/document-list-only/page.tsx b/app/[lng]/partners/(partners)/document-list-only/page.tsx
new file mode 100644
index 00000000..721eb408
--- /dev/null
+++ b/app/[lng]/partners/(partners)/document-list-only/page.tsx
@@ -0,0 +1,21 @@
+// app/vendor-data/page.tsx
+import * as React from "react"
+import { Separator } from "@/components/ui/separator"
+
+export default async function IndexPage() {
+ return (
+ <div className="space-y-6">
+
+ <div className="grid gap-4">
+ <div className="rounded-lg border p-4">
+ <h4 className="text-sm font-medium">시작하는 방법</h4>
+ <p className="text-sm text-muted-foreground mt-1">
+ 오른쪽 상단에서 프로젝트/계약을 선택하세요.<br />
+
+
+ </p>
+ </div>
+ </div>
+ </div>
+ )
+} \ No newline at end of file
diff --git a/components/document-lists/vendor-doc-list-client.tsx b/components/document-lists/vendor-doc-list-client.tsx
index 61a85048..0c4af106 100644
--- a/components/document-lists/vendor-doc-list-client.tsx
+++ b/components/document-lists/vendor-doc-list-client.tsx
@@ -51,7 +51,7 @@ export default function VendorDocumentListClient({
setProjectType("plant")
// Navigate to the contract's documents page
- router.push(`/partners/document-list/${contractId}?projectType=plant`)
+ router.push(`/partners/document-list-only/${contractId}?projectType=plant`)
}
return (
diff --git a/db/migrations/0242_tan_proteus.sql b/db/migrations/0242_tan_proteus.sql
new file mode 100644
index 00000000..a27b5163
--- /dev/null
+++ b/db/migrations/0242_tan_proteus.sql
@@ -0,0 +1,15 @@
+CREATE TABLE "knox"."approval" (
+ "ap_inf_id" text PRIMARY KEY NOT NULL,
+ "user_id" text NOT NULL,
+ "ep_id" text NOT NULL,
+ "email_address" text NOT NULL,
+ "subject" text NOT NULL,
+ "content" text NOT NULL,
+ "status" text NOT NULL,
+ "aplns" jsonb NOT NULL,
+ "is_deleted" boolean DEFAULT false NOT NULL,
+ "created_at" timestamp DEFAULT now() NOT NULL,
+ "updated_at" timestamp DEFAULT now() NOT NULL
+);
+--> statement-breakpoint
+ALTER TABLE "users" ADD COLUMN "epId" varchar(50); \ No newline at end of file
diff --git a/db/migrations/0243_serious_korg.sql b/db/migrations/0243_serious_korg.sql
new file mode 100644
index 00000000..2833aa61
--- /dev/null
+++ b/db/migrations/0243_serious_korg.sql
@@ -0,0 +1,127 @@
+CREATE VIEW "public"."document_stages_only_view" AS (
+ WITH document_stats AS (
+ SELECT
+ d.id as document_id,
+ COUNT(ist.id) as total_stages,
+ COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) as completed_stages,
+ CASE
+ WHEN COUNT(ist.id) > 0
+ THEN ROUND((COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) * 100.0) / COUNT(ist.id))
+ ELSE 0
+ END as progress_percentage
+ FROM documents d
+ LEFT JOIN issue_stages ist ON d.id = ist.document_id
+ GROUP BY d.id
+ ),
+ current_stage_info AS (
+ SELECT DISTINCT ON (document_id)
+ document_id,
+ id as current_stage_id,
+ stage_name as current_stage_name,
+ stage_status as current_stage_status,
+ stage_order as current_stage_order,
+ plan_date as current_stage_plan_date,
+ actual_date as current_stage_actual_date,
+ assignee_name as current_stage_assignee_name,
+ priority as current_stage_priority,
+ CASE
+ WHEN actual_date IS NULL AND plan_date IS NOT NULL
+ THEN plan_date - CURRENT_DATE
+ ELSE NULL
+ END as days_until_due,
+ CASE
+ WHEN actual_date IS NULL AND plan_date < CURRENT_DATE
+ THEN true
+ WHEN actual_date IS NOT NULL AND actual_date > plan_date
+ THEN true
+ ELSE false
+ END as is_overdue,
+ CASE
+ WHEN actual_date IS NOT NULL AND plan_date IS NOT NULL
+ THEN actual_date - plan_date
+ ELSE NULL
+ END as days_difference
+ FROM issue_stages
+ WHERE stage_status NOT IN ('COMPLETED', 'APPROVED')
+ ORDER BY document_id, stage_order ASC, priority DESC
+ ),
+ -- 문서별 스테이지 집계 (리비전 제외)
+ stage_aggregation AS (
+ SELECT
+ ist.document_id,
+ json_agg(
+ json_build_object(
+ 'id', ist.id,
+ 'stageName', ist.stage_name,
+ 'stageStatus', ist.stage_status,
+ 'stageOrder', ist.stage_order,
+ 'planDate', ist.plan_date,
+ 'actualDate', ist.actual_date,
+ 'assigneeName', ist.assignee_name,
+ 'priority', ist.priority,
+ 'description', ist.description,
+ 'notes', ist.notes,
+ 'reminderDays', ist.reminder_days
+ ) ORDER BY ist.stage_order
+ ) as all_stages
+ FROM issue_stages ist
+ GROUP BY ist.document_id
+ )
+
+ SELECT
+ d.id as document_id,
+ d.doc_number,
+ d.drawing_kind,
+ d.vendor_doc_number,
+ d.title,
+ d.pic,
+ d.status,
+ d.issued_date,
+ d.contract_id,
+
+ -- 프로젝트 및 벤더 정보
+ p.code as project_code,
+ v.vendor_name as vendor_name,
+ v.vendor_code as vendor_code,
+ c.vendor_id as vendor_id,
+
+ -- 현재 스테이지 정보
+ csi.current_stage_id,
+ csi.current_stage_name,
+ csi.current_stage_status,
+ csi.current_stage_order,
+ csi.current_stage_plan_date,
+ csi.current_stage_actual_date,
+ csi.current_stage_assignee_name,
+ csi.current_stage_priority,
+
+ -- 계산 필드
+ csi.days_until_due,
+ csi.is_overdue,
+ csi.days_difference,
+
+ -- 진행률 정보
+ ds.total_stages,
+ ds.completed_stages,
+ ds.progress_percentage,
+
+ -- 전체 스테이지 (리비전 제외)
+ COALESCE(sa.all_stages, '[]'::json) as all_stages,
+
+ -- 메타 정보
+ d.created_at,
+ d.updated_at
+
+ FROM documents d
+ -- 프로젝트 및 벤더 정보 JOIN
+ LEFT JOIN contracts c ON d.contract_id = c.id
+ LEFT JOIN projects p ON c.project_id = p.id
+ LEFT JOIN vendors v ON c.vendor_id = v.id
+
+ -- 스테이지 관련 정보 JOIN
+ LEFT JOIN document_stats ds ON d.id = ds.document_id
+ LEFT JOIN current_stage_info csi ON d.id = csi.document_id
+ LEFT JOIN stage_aggregation sa ON d.id = sa.document_id
+
+ ORDER BY d.created_at DESC
+); \ No newline at end of file
diff --git a/db/migrations/meta/0242_snapshot.json b/db/migrations/meta/0242_snapshot.json
new file mode 100644
index 00000000..8fb2614f
--- /dev/null
+++ b/db/migrations/meta/0242_snapshot.json
@@ -0,0 +1,43310 @@
+{
+ "id": "708c348f-33f0-4eea-997c-7174d4903f41",
+ "prevId": "cff5cfdf-81ea-4277-bfc1-44e04f54661a",
+ "version": "7",
+ "dialect": "postgresql",
+ "tables": {
+ "public.companies": {
+ "name": "companies",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "companies_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "taxID": {
+ "name": "taxID",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.contract_envelopes": {
+ "name": "contract_envelopes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contract_envelopes_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "envelope_id": {
+ "name": "envelope_id",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "envelope_status": {
+ "name": "envelope_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "contract_envelopes_contract_id_contracts_id_fk": {
+ "name": "contract_envelopes_contract_id_contracts_id_fk",
+ "tableFrom": "contract_envelopes",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "contract_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.contract_items": {
+ "name": "contract_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contract_items_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_id": {
+ "name": "item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "unit_price": {
+ "name": "unit_price",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_rate": {
+ "name": "tax_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_amount": {
+ "name": "tax_amount",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_line_amount": {
+ "name": "total_line_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "contract_items_contract_item_idx": {
+ "name": "contract_items_contract_item_idx",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "item_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "contract_items_contract_id_contracts_id_fk": {
+ "name": "contract_items_contract_id_contracts_id_fk",
+ "tableFrom": "contract_items",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "contract_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "contract_items_item_id_items_id_fk": {
+ "name": "contract_items_item_id_items_id_fk",
+ "tableFrom": "contract_items",
+ "tableTo": "items",
+ "columnsFrom": [
+ "item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "contract_items_contract_id_item_id_unique": {
+ "name": "contract_items_contract_id_item_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "contract_id",
+ "item_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.contract_signers": {
+ "name": "contract_signers",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contract_signers_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "envelope_id": {
+ "name": "envelope_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_contact_id": {
+ "name": "vendor_contact_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "signer_type": {
+ "name": "signer_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'VENDOR'"
+ },
+ "signer_email": {
+ "name": "signer_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "signer_name": {
+ "name": "signer_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "signer_position": {
+ "name": "signer_position",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "signer_status": {
+ "name": "signer_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'PENDING'"
+ },
+ "signed_at": {
+ "name": "signed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "contract_signers_envelope_id_contract_envelopes_id_fk": {
+ "name": "contract_signers_envelope_id_contract_envelopes_id_fk",
+ "tableFrom": "contract_signers",
+ "tableTo": "contract_envelopes",
+ "columnsFrom": [
+ "envelope_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "contract_signers_vendor_contact_id_vendor_contacts_id_fk": {
+ "name": "contract_signers_vendor_contact_id_vendor_contacts_id_fk",
+ "tableFrom": "contract_signers",
+ "tableTo": "vendor_contacts",
+ "columnsFrom": [
+ "vendor_contact_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.contracts": {
+ "name": "contracts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contracts_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_no": {
+ "name": "contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_name": {
+ "name": "contract_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "start_date": {
+ "name": "start_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "end_date": {
+ "name": "end_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payment_terms": {
+ "name": "payment_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_terms": {
+ "name": "delivery_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_location": {
+ "name": "delivery_location",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "total_amount": {
+ "name": "total_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount": {
+ "name": "discount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax": {
+ "name": "tax",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shipping_fee": {
+ "name": "shipping_fee",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "net_total": {
+ "name": "net_total",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "partial_shipping_allowed": {
+ "name": "partial_shipping_allowed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "partial_payment_allowed": {
+ "name": "partial_payment_allowed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "contracts_project_id_projects_id_fk": {
+ "name": "contracts_project_id_projects_id_fk",
+ "tableFrom": "contracts",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "contracts_vendor_id_vendors_id_fk": {
+ "name": "contracts_vendor_id_vendors_id_fk",
+ "tableFrom": "contracts",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "contracts_contract_no_unique": {
+ "name": "contracts_contract_no_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "contract_no"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.poa": {
+ "name": "poa",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "poa_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_no": {
+ "name": "contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_contract_no": {
+ "name": "original_contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_contract_name": {
+ "name": "original_contract_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_status": {
+ "name": "original_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "delivery_terms": {
+ "name": "delivery_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_location": {
+ "name": "delivery_location",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_amount": {
+ "name": "total_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount": {
+ "name": "discount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax": {
+ "name": "tax",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shipping_fee": {
+ "name": "shipping_fee",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "net_total": {
+ "name": "net_total",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "change_reason": {
+ "name": "change_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approval_status": {
+ "name": "approval_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'PENDING'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "poa_original_contract_no_contracts_contract_no_fk": {
+ "name": "poa_original_contract_no_contracts_contract_no_fk",
+ "tableFrom": "poa",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "original_contract_no"
+ ],
+ "columnsTo": [
+ "contract_no"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "poa_project_id_projects_id_fk": {
+ "name": "poa_project_id_projects_id_fk",
+ "tableFrom": "poa",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "poa_vendor_id_vendors_id_fk": {
+ "name": "poa_vendor_id_vendors_id_fk",
+ "tableFrom": "poa",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.item_offshore_hull": {
+ "name": "item_offshore_hull",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "work_type": {
+ "name": "work_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_list": {
+ "name": "item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sub_item_list": {
+ "name": "sub_item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.item_offshore_top": {
+ "name": "item_offshore_top",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "work_type": {
+ "name": "work_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_list": {
+ "name": "item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sub_item_list": {
+ "name": "sub_item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.item_shipbuilding": {
+ "name": "item_shipbuilding",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "work_type": {
+ "name": "work_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_list": {
+ "name": "item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ship_types": {
+ "name": "ship_types",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'OPTION'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.items": {
+ "name": "items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_no": {
+ "name": "project_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "package_code": {
+ "name": "package_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sm_code": {
+ "name": "sm_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_item_code": {
+ "name": "parent_item_code",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_level": {
+ "name": "item_level",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delete_flag": {
+ "name": "delete_flag",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "unit_of_measure": {
+ "name": "unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "steel_type": {
+ "name": "steel_type",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_material": {
+ "name": "grade_material",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "change_date": {
+ "name": "change_date",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "base_unit_of_measure": {
+ "name": "base_unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "project_item_unique": {
+ "name": "project_item_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_no",
+ "item_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.materials": {
+ "name": "materials",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_item_code": {
+ "name": "parent_item_code",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_level": {
+ "name": "item_level",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delete_flag": {
+ "name": "delete_flag",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "unit_of_measure": {
+ "name": "unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "steel_type": {
+ "name": "steel_type",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_material": {
+ "name": "grade_material",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "change_date": {
+ "name": "change_date",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "base_unit_of_measure": {
+ "name": "base_unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "materials_item_code_unique": {
+ "name": "materials_item_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "item_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.pq_criterias": {
+ "name": "pq_criterias",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "check_point": {
+ "name": "check_point",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "group_name": {
+ "name": "group_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.pq_criterias_extension": {
+ "name": "pq_criterias_extension",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "pq_criteria_id": {
+ "name": "pq_criteria_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_info": {
+ "name": "contract_info",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "additional_requirement": {
+ "name": "additional_requirement",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "pq_criterias_extension_pq_criteria_id_pq_criterias_id_fk": {
+ "name": "pq_criterias_extension_pq_criteria_id_pq_criterias_id_fk",
+ "tableFrom": "pq_criterias_extension",
+ "tableTo": "pq_criterias",
+ "columnsFrom": [
+ "pq_criteria_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "pq_criterias_extension_project_id_projects_id_fk": {
+ "name": "pq_criterias_extension_project_id_projects_id_fk",
+ "tableFrom": "pq_criterias_extension",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_criteria_attachments": {
+ "name": "vendor_criteria_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_criteria_answer_id": {
+ "name": "vendor_criteria_answer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_criteria_attachments_vendor_criteria_answer_id_vendor_pq_criteria_answers_id_fk": {
+ "name": "vendor_criteria_attachments_vendor_criteria_answer_id_vendor_pq_criteria_answers_id_fk",
+ "tableFrom": "vendor_criteria_attachments",
+ "tableTo": "vendor_pq_criteria_answers",
+ "columnsFrom": [
+ "vendor_criteria_answer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_investigation_attachments": {
+ "name": "vendor_investigation_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "investigation_id": {
+ "name": "investigation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mime_type": {
+ "name": "mime_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'REPORT'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_investigation_attachments_investigation_id_vendor_investigations_id_fk": {
+ "name": "vendor_investigation_attachments_investigation_id_vendor_investigations_id_fk",
+ "tableFrom": "vendor_investigation_attachments",
+ "tableTo": "vendor_investigations",
+ "columnsFrom": [
+ "investigation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_investigations": {
+ "name": "vendor_investigations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pq_submission_id": {
+ "name": "pq_submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requester_id": {
+ "name": "requester_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "qm_manager_id": {
+ "name": "qm_manager_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_status": {
+ "name": "investigation_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PLANNED'"
+ },
+ "evaluation_type": {
+ "name": "evaluation_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_address": {
+ "name": "investigation_address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_method": {
+ "name": "investigation_method",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "scheduled_start_at": {
+ "name": "scheduled_start_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "scheduled_end_at": {
+ "name": "scheduled_end_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "forecasted_at": {
+ "name": "forecasted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_score": {
+ "name": "evaluation_score",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_result": {
+ "name": "evaluation_result",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_notes": {
+ "name": "investigation_notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_investigations_vendor_id_vendors_id_fk": {
+ "name": "vendor_investigations_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_investigations",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_investigations_pq_submission_id_vendor_pq_submissions_id_fk": {
+ "name": "vendor_investigations_pq_submission_id_vendor_pq_submissions_id_fk",
+ "tableFrom": "vendor_investigations",
+ "tableTo": "vendor_pq_submissions",
+ "columnsFrom": [
+ "pq_submission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "cascade"
+ },
+ "vendor_investigations_requester_id_users_id_fk": {
+ "name": "vendor_investigations_requester_id_users_id_fk",
+ "tableFrom": "vendor_investigations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "requester_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_investigations_qm_manager_id_users_id_fk": {
+ "name": "vendor_investigations_qm_manager_id_users_id_fk",
+ "tableFrom": "vendor_investigations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "qm_manager_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_pq_submissions": {
+ "name": "vendor_pq_submissions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "pq_number": {
+ "name": "pq_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "requester_id": {
+ "name": "requester_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'REQUESTED'"
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approved_at": {
+ "name": "approved_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejected_at": {
+ "name": "rejected_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reject_reason": {
+ "name": "reject_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "unique_pq_submission": {
+ "name": "unique_pq_submission",
+ "columns": [
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vendor_pq_submissions_requester_id_users_id_fk": {
+ "name": "vendor_pq_submissions_requester_id_users_id_fk",
+ "tableFrom": "vendor_pq_submissions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "requester_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_pq_submissions_vendor_id_vendors_id_fk": {
+ "name": "vendor_pq_submissions_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_pq_submissions",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "vendor_pq_submissions_project_id_projects_id_fk": {
+ "name": "vendor_pq_submissions_project_id_projects_id_fk",
+ "tableFrom": "vendor_pq_submissions",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "vendor_pq_submissions_pq_number_unique": {
+ "name": "vendor_pq_submissions_pq_number_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "pq_number"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_pq_criteria_answers": {
+ "name": "vendor_pq_criteria_answers",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "criteria_id": {
+ "name": "criteria_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "answer": {
+ "name": "answer",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_pq_criteria_answers_vendor_id_vendors_id_fk": {
+ "name": "vendor_pq_criteria_answers_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_pq_criteria_answers",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "vendor_pq_criteria_answers_criteria_id_pq_criterias_id_fk": {
+ "name": "vendor_pq_criteria_answers_criteria_id_pq_criterias_id_fk",
+ "tableFrom": "vendor_pq_criteria_answers",
+ "tableTo": "pq_criterias",
+ "columnsFrom": [
+ "criteria_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "vendor_pq_criteria_answers_project_id_projects_id_fk": {
+ "name": "vendor_pq_criteria_answers_project_id_projects_id_fk",
+ "tableFrom": "vendor_pq_criteria_answers",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_pq_review_logs": {
+ "name": "vendor_pq_review_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_pq_criteria_answer_id": {
+ "name": "vendor_pq_criteria_answer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "reviewer_comment": {
+ "name": "reviewer_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "reviewer_name": {
+ "name": "reviewer_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_pq_review_logs_vendor_pq_criteria_answer_id_vendor_pq_criteria_answers_id_fk": {
+ "name": "vendor_pq_review_logs_vendor_pq_criteria_answer_id_vendor_pq_criteria_answers_id_fk",
+ "tableFrom": "vendor_pq_review_logs",
+ "tableTo": "vendor_pq_criteria_answers",
+ "columnsFrom": [
+ "vendor_pq_criteria_answer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_project_pqs": {
+ "name": "vendor_project_pqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'REQUESTED'"
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approved_at": {
+ "name": "approved_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejected_at": {
+ "name": "rejected_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reject_reason": {
+ "name": "reject_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_project_pqs_vendor_id_vendors_id_fk": {
+ "name": "vendor_project_pqs_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_project_pqs",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "vendor_project_pqs_project_id_projects_id_fk": {
+ "name": "vendor_project_pqs_project_id_projects_id_fk",
+ "tableFrom": "vendor_project_pqs",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.bidding_projects": {
+ "name": "bidding_projects",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "pspid": {
+ "name": "pspid",
+ "type": "char(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "proj_nm": {
+ "name": "proj_nm",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sector": {
+ "name": "sector",
+ "type": "char(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "proj_msrm": {
+ "name": "proj_msrm",
+ "type": "numeric(3, 0)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "kunnr": {
+ "name": "kunnr",
+ "type": "char(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "kunnr_nm": {
+ "name": "kunnr_nm",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cls_1": {
+ "name": "cls_1",
+ "type": "char(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cls1_nm": {
+ "name": "cls1_nm",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ptype": {
+ "name": "ptype",
+ "type": "char(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ptype_nm": {
+ "name": "ptype_nm",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pmodel_cd": {
+ "name": "pmodel_cd",
+ "type": "char(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pmodel_nm": {
+ "name": "pmodel_nm",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pmodel_sz": {
+ "name": "pmodel_sz",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pmodel_uom": {
+ "name": "pmodel_uom",
+ "type": "char(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "txt04": {
+ "name": "txt04",
+ "type": "char(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "txt30": {
+ "name": "txt30",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "estm_pm": {
+ "name": "estm_pm",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pjt_type": {
+ "name": "pjt_type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "bidding_projects_pspid_unique": {
+ "name": "bidding_projects_pspid_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "pspid"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.project_series": {
+ "name": "project_series",
+ "schema": "",
+ "columns": {
+ "pspid": {
+ "name": "pspid",
+ "type": "char(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sers_no": {
+ "name": "sers_no",
+ "type": "char(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sc_dt": {
+ "name": "sc_dt",
+ "type": "char(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "kl_dt": {
+ "name": "kl_dt",
+ "type": "char(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "lc_dt": {
+ "name": "lc_dt",
+ "type": "char(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dl_dt": {
+ "name": "dl_dt",
+ "type": "char(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dock_no": {
+ "name": "dock_no",
+ "type": "char(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dock_nm": {
+ "name": "dock_nm",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "proj_no": {
+ "name": "proj_no",
+ "type": "char(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "post1": {
+ "name": "post1",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "project_sersNo_unique": {
+ "name": "project_sersNo_unique",
+ "columns": [
+ {
+ "expression": "pspid",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "sers_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "project_series_pspid_bidding_projects_pspid_fk": {
+ "name": "project_series_pspid_bidding_projects_pspid_fk",
+ "tableFrom": "project_series",
+ "tableTo": "bidding_projects",
+ "columnsFrom": [
+ "pspid"
+ ],
+ "columnsTo": [
+ "pspid"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.projects": {
+ "name": "projects",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ship'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.cbe_evaluations": {
+ "name": "cbe_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluated_by": {
+ "name": "evaluated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluated_at": {
+ "name": "evaluated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "result": {
+ "name": "result",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_cost": {
+ "name": "total_cost",
+ "type": "numeric(18, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "payment_terms": {
+ "name": "payment_terms",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms": {
+ "name": "incoterms",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_schedule": {
+ "name": "delivery_schedule",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "cbe_evaluations_rfq_id_rfqs_id_fk": {
+ "name": "cbe_evaluations_rfq_id_rfqs_id_fk",
+ "tableFrom": "cbe_evaluations",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "cbe_evaluations_vendor_id_vendors_id_fk": {
+ "name": "cbe_evaluations_vendor_id_vendors_id_fk",
+ "tableFrom": "cbe_evaluations",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "cbe_evaluations_evaluated_by_users_id_fk": {
+ "name": "cbe_evaluations_evaluated_by_users_id_fk",
+ "tableFrom": "cbe_evaluations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "evaluated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfq_attachments": {
+ "name": "rfq_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_id": {
+ "name": "evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cbe_id": {
+ "name": "cbe_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "comment_id": {
+ "name": "comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfq_attachments_rfq_id_rfqs_id_fk": {
+ "name": "rfq_attachments_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_attachments_vendor_id_vendors_id_fk": {
+ "name": "rfq_attachments_vendor_id_vendors_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_attachments_evaluation_id_rfq_evaluations_id_fk": {
+ "name": "rfq_attachments_evaluation_id_rfq_evaluations_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "rfq_evaluations",
+ "columnsFrom": [
+ "evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_attachments_cbe_id_cbe_evaluations_id_fk": {
+ "name": "rfq_attachments_cbe_id_cbe_evaluations_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "cbe_evaluations",
+ "columnsFrom": [
+ "cbe_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_attachments_comment_id_rfq_comments_id_fk": {
+ "name": "rfq_attachments_comment_id_rfq_comments_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "rfq_comments",
+ "columnsFrom": [
+ "comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfq_comments": {
+ "name": "rfq_comments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment_text": {
+ "name": "comment_text",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "commented_by": {
+ "name": "commented_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_id": {
+ "name": "evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cbe_id": {
+ "name": "cbe_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfq_comments_rfq_id_rfqs_id_fk": {
+ "name": "rfq_comments_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_comments_vendor_id_vendors_id_fk": {
+ "name": "rfq_comments_vendor_id_vendors_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_comments_commented_by_users_id_fk": {
+ "name": "rfq_comments_commented_by_users_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "commented_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_comments_evaluation_id_rfq_evaluations_id_fk": {
+ "name": "rfq_comments_evaluation_id_rfq_evaluations_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "rfq_evaluations",
+ "columnsFrom": [
+ "evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_comments_cbe_id_vendor_responses_id_fk": {
+ "name": "rfq_comments_cbe_id_vendor_responses_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "vendor_responses",
+ "columnsFrom": [
+ "cbe_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfq_evaluations": {
+ "name": "rfq_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "eval_type": {
+ "name": "eval_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "result": {
+ "name": "result",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfq_evaluations_rfq_id_rfqs_id_fk": {
+ "name": "rfq_evaluations_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfq_evaluations",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_evaluations_vendor_id_vendors_id_fk": {
+ "name": "rfq_evaluations_vendor_id_vendors_id_fk",
+ "tableFrom": "rfq_evaluations",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfq_items": {
+ "name": "rfq_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "uom": {
+ "name": "uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfq_items_rfq_id_rfqs_id_fk": {
+ "name": "rfq_items_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfq_items",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "rfq_items_item_code_items_item_code_fk": {
+ "name": "rfq_items_item_code_items_item_code_fk",
+ "tableFrom": "rfq_items",
+ "tableTo": "items",
+ "columnsFrom": [
+ "item_code"
+ ],
+ "columnsTo": [
+ "item_code"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfqs": {
+ "name": "rfqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "bid_project_id": {
+ "name": "bid_project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'DRAFT'"
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'PURCHASE'"
+ },
+ "parent_rfq_id": {
+ "name": "parent_rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfqs_project_id_projects_id_fk": {
+ "name": "rfqs_project_id_projects_id_fk",
+ "tableFrom": "rfqs",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "rfqs_bid_project_id_bidding_projects_id_fk": {
+ "name": "rfqs_bid_project_id_bidding_projects_id_fk",
+ "tableFrom": "rfqs",
+ "tableTo": "bidding_projects",
+ "columnsFrom": [
+ "bid_project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "rfqs_created_by_users_id_fk": {
+ "name": "rfqs_created_by_users_id_fk",
+ "tableFrom": "rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "rfqs_parent_rfq_id_rfqs_id_fk": {
+ "name": "rfqs_parent_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfqs",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "parent_rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "rfqs_rfq_code_unique": {
+ "name": "rfqs_rfq_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "rfq_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_commercial_responses": {
+ "name": "vendor_commercial_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "response_id": {
+ "name": "response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "total_price": {
+ "name": "total_price",
+ "type": "numeric(18, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "payment_terms": {
+ "name": "payment_terms",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms": {
+ "name": "incoterms",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_period": {
+ "name": "delivery_period",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "warranty_period": {
+ "name": "warranty_period",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "validity_period": {
+ "name": "validity_period",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "price_breakdown": {
+ "name": "price_breakdown",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "commercial_notes": {
+ "name": "commercial_notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_commercial_responses_response_id_vendor_responses_id_fk": {
+ "name": "vendor_commercial_responses_response_id_vendor_responses_id_fk",
+ "tableFrom": "vendor_commercial_responses",
+ "tableTo": "vendor_responses",
+ "columnsFrom": [
+ "response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_response_attachments": {
+ "name": "vendor_response_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "response_id": {
+ "name": "response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "technical_response_id": {
+ "name": "technical_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "commercial_response_id": {
+ "name": "commercial_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_response_attachments_response_id_vendor_responses_id_fk": {
+ "name": "vendor_response_attachments_response_id_vendor_responses_id_fk",
+ "tableFrom": "vendor_response_attachments",
+ "tableTo": "vendor_responses",
+ "columnsFrom": [
+ "response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_response_attachments_technical_response_id_vendor_technical_responses_id_fk": {
+ "name": "vendor_response_attachments_technical_response_id_vendor_technical_responses_id_fk",
+ "tableFrom": "vendor_response_attachments",
+ "tableTo": "vendor_technical_responses",
+ "columnsFrom": [
+ "technical_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_response_attachments_commercial_response_id_vendor_commercial_responses_id_fk": {
+ "name": "vendor_response_attachments_commercial_response_id_vendor_commercial_responses_id_fk",
+ "tableFrom": "vendor_response_attachments",
+ "tableTo": "vendor_commercial_responses",
+ "columnsFrom": [
+ "commercial_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_responses": {
+ "name": "vendor_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'REVIEWING'"
+ },
+ "notes": {
+ "name": "notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_by": {
+ "name": "responded_by",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_at": {
+ "name": "responded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "vendor_response_unique": {
+ "name": "vendor_response_unique",
+ "columns": [
+ {
+ "expression": "rfq_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vendor_responses_rfq_id_rfqs_id_fk": {
+ "name": "vendor_responses_rfq_id_rfqs_id_fk",
+ "tableFrom": "vendor_responses",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_responses_vendor_id_vendors_id_fk": {
+ "name": "vendor_responses_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_responses",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_technical_responses": {
+ "name": "vendor_technical_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "response_id": {
+ "name": "response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "summary": {
+ "name": "summary",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_technical_responses_response_id_vendor_responses_id_fk": {
+ "name": "vendor_technical_responses_response_id_vendor_responses_id_fk",
+ "tableFrom": "vendor_technical_responses",
+ "tableTo": "vendor_responses",
+ "columnsFrom": [
+ "response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.departments": {
+ "name": "departments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_name": {
+ "name": "department_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "departments_department_code_unique": {
+ "name": "departments_department_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "department_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.login_attempts": {
+ "name": "login_attempts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "login_attempts_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "success": {
+ "name": "success",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ip_address": {
+ "name": "ip_address",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_agent": {
+ "name": "user_agent",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "failure_reason": {
+ "name": "failure_reason",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attempted_at": {
+ "name": "attempted_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "city": {
+ "name": "city",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "login_attempts_email_idx": {
+ "name": "login_attempts_email_idx",
+ "columns": [
+ {
+ "expression": "email",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "login_attempts_attempted_at_idx": {
+ "name": "login_attempts_attempted_at_idx",
+ "columns": [
+ {
+ "expression": "attempted_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "login_attempts_ip_address_idx": {
+ "name": "login_attempts_ip_address_idx",
+ "columns": [
+ {
+ "expression": "ip_address",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "login_attempts_user_id_users_id_fk": {
+ "name": "login_attempts_user_id_users_id_fk",
+ "tableFrom": "login_attempts",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.mfa_tokens": {
+ "name": "mfa_tokens",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "mfa_tokens_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "token": {
+ "name": "token",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "expires_at": {
+ "name": "expires_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "used_at": {
+ "name": "used_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "phone_number": {
+ "name": "phone_number",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attempts": {
+ "name": "attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ }
+ },
+ "indexes": {
+ "mfa_tokens_user_id_idx": {
+ "name": "mfa_tokens_user_id_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mfa_tokens_token_idx": {
+ "name": "mfa_tokens_token_idx",
+ "columns": [
+ {
+ "expression": "token",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mfa_tokens_expires_at_idx": {
+ "name": "mfa_tokens_expires_at_idx",
+ "columns": [
+ {
+ "expression": "expires_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "mfa_tokens_user_id_users_id_fk": {
+ "name": "mfa_tokens_user_id_users_id_fk",
+ "tableFrom": "mfa_tokens",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.otps": {
+ "name": "otps",
+ "schema": "",
+ "columns": {
+ "email": {
+ "name": "email",
+ "type": "varchar(256)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "otpToken": {
+ "name": "otpToken",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "otp_expires": {
+ "name": "otp_expires",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.password_history": {
+ "name": "password_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "password_history_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "password_hash": {
+ "name": "password_hash",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "salt": {
+ "name": "salt",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "replaced_at": {
+ "name": "replaced_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "password_history_user_id_idx": {
+ "name": "password_history_user_id_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "password_history_created_at_idx": {
+ "name": "password_history_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "password_history_user_id_users_id_fk": {
+ "name": "password_history_user_id_users_id_fk",
+ "tableFrom": "password_history",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.passwords": {
+ "name": "passwords",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "passwords_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "password_hash": {
+ "name": "password_hash",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "salt": {
+ "name": "salt",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "expires_at": {
+ "name": "expires_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "strength": {
+ "name": "strength",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_uppercase": {
+ "name": "has_uppercase",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_lowercase": {
+ "name": "has_lowercase",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_numbers": {
+ "name": "has_numbers",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_symbols": {
+ "name": "has_symbols",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "length": {
+ "name": "length",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "passwords_user_id_idx": {
+ "name": "passwords_user_id_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "passwords_active_idx": {
+ "name": "passwords_active_idx",
+ "columns": [
+ {
+ "expression": "is_active",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "passwords_user_id_users_id_fk": {
+ "name": "passwords_user_id_users_id_fk",
+ "tableFrom": "passwords",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.permissions": {
+ "name": "permissions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "permissions_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "permission_key": {
+ "name": "permission_key",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.role_permissions": {
+ "name": "role_permissions",
+ "schema": "",
+ "columns": {
+ "role_id": {
+ "name": "role_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "permission_id": {
+ "name": "permission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "role_permissions_role_id_roles_id_fk": {
+ "name": "role_permissions_role_id_roles_id_fk",
+ "tableFrom": "role_permissions",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "role_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "role_permissions_permission_id_permissions_id_fk": {
+ "name": "role_permissions_permission_id_permissions_id_fk",
+ "tableFrom": "role_permissions",
+ "tableTo": "permissions",
+ "columnsFrom": [
+ "permission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.roles": {
+ "name": "roles",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "roles_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domain": {
+ "name": "domain",
+ "type": "user_domain",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "company_id": {
+ "name": "company_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "''"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "roles_company_id_vendors_id_fk": {
+ "name": "roles_company_id_vendors_id_fk",
+ "tableFrom": "roles",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "company_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.security_settings": {
+ "name": "security_settings",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "security_settings_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "min_password_length": {
+ "name": "min_password_length",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 8
+ },
+ "require_uppercase": {
+ "name": "require_uppercase",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "require_lowercase": {
+ "name": "require_lowercase",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "require_numbers": {
+ "name": "require_numbers",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "require_symbols": {
+ "name": "require_symbols",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "password_expiry_days": {
+ "name": "password_expiry_days",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 90
+ },
+ "password_history_count": {
+ "name": "password_history_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 5
+ },
+ "max_failed_attempts": {
+ "name": "max_failed_attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 5
+ },
+ "lockout_duration_minutes": {
+ "name": "lockout_duration_minutes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 30
+ },
+ "require_mfa_for_partners": {
+ "name": "require_mfa_for_partners",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "sms_token_expiry_minutes": {
+ "name": "sms_token_expiry_minutes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 5
+ },
+ "max_sms_attempts_per_day": {
+ "name": "max_sms_attempts_per_day",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 10
+ },
+ "session_timeout_minutes": {
+ "name": "session_timeout_minutes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 480
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.user_roles": {
+ "name": "user_roles",
+ "schema": "",
+ "columns": {
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "role_id": {
+ "name": "role_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "user_roles_user_id_users_id_fk": {
+ "name": "user_roles_user_id_users_id_fk",
+ "tableFrom": "user_roles",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "user_roles_role_id_roles_id_fk": {
+ "name": "user_roles_role_id_roles_id_fk",
+ "tableFrom": "user_roles",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "role_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.users": {
+ "name": "users",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "users_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "epId": {
+ "name": "epId",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "deptCode": {
+ "name": "deptCode",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "deptName": {
+ "name": "deptName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "company_id": {
+ "name": "company_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tech_company_id": {
+ "name": "tech_company_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "domain": {
+ "name": "domain",
+ "type": "user_domain",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'partners'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "image_url": {
+ "name": "image_url",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "language": {
+ "name": "language",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'en'"
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mfa_enabled": {
+ "name": "mfa_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "mfa_secret": {
+ "name": "mfa_secret",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_locked": {
+ "name": "is_locked",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "lockout_until": {
+ "name": "lockout_until",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "failed_login_attempts": {
+ "name": "failed_login_attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "last_login_at": {
+ "name": "last_login_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "password_change_required": {
+ "name": "password_change_required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "deactivated_at": {
+ "name": "deactivated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "deactivation_reason": {
+ "name": "deactivation_reason",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "users_email_idx": {
+ "name": "users_email_idx",
+ "columns": [
+ {
+ "expression": "email",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_phone_idx": {
+ "name": "users_phone_idx",
+ "columns": [
+ {
+ "expression": "phone",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "users_company_id_vendors_id_fk": {
+ "name": "users_company_id_vendors_id_fk",
+ "tableFrom": "users",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "company_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "users_tech_company_id_tech_vendors_id_fk": {
+ "name": "users_tech_company_id_tech_vendors_id_fk",
+ "tableFrom": "users",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "tech_company_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "users_email_unique": {
+ "name": "users_email_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "email"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.form_entries": {
+ "name": "form_entries",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "form_code": {
+ "name": "form_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "data": {
+ "name": "data",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_item_id": {
+ "name": "contract_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "form_entries_contract_item_id_contract_items_id_fk": {
+ "name": "form_entries_contract_item_id_contract_items_id_fk",
+ "tableFrom": "form_entries",
+ "tableTo": "contract_items",
+ "columnsFrom": [
+ "contract_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.form_metas": {
+ "name": "form_metas",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_code": {
+ "name": "form_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_name": {
+ "name": "form_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "columns": {
+ "name": "columns",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "form_metas_project_id_projects_id_fk": {
+ "name": "form_metas_project_id_projects_id_fk",
+ "tableFrom": "form_metas",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "form_code_project_unique": {
+ "name": "form_code_project_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "form_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms": {
+ "name": "forms",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "forms_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_item_id": {
+ "name": "contract_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_code": {
+ "name": "form_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_name": {
+ "name": "form_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "eng": {
+ "name": "eng",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "im": {
+ "name": "im",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "contract_item_form_code_unique": {
+ "name": "contract_item_form_code_unique",
+ "columns": [
+ {
+ "expression": "contract_item_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "form_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_contract_item_id_contract_items_id_fk": {
+ "name": "forms_contract_item_id_contract_items_id_fk",
+ "tableFrom": "forms",
+ "tableTo": "contract_items",
+ "columnsFrom": [
+ "contract_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_class_attributes": {
+ "name": "tag_class_attributes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "tag_class_attributes_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "tag_class_id": {
+ "name": "tag_class_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "att_id": {
+ "name": "att_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "def_val": {
+ "name": "def_val",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uom_id": {
+ "name": "uom_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "seq": {
+ "name": "seq",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "tag_class_attributes_seq_idx": {
+ "name": "tag_class_attributes_seq_idx",
+ "columns": [
+ {
+ "expression": "seq",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "tag_class_attributes_tag_class_id_tag_classes_id_fk": {
+ "name": "tag_class_attributes_tag_class_id_tag_classes_id_fk",
+ "tableFrom": "tag_class_attributes",
+ "tableTo": "tag_classes",
+ "columnsFrom": [
+ "tag_class_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_att_id_in_tag_class": {
+ "name": "uniq_att_id_in_tag_class",
+ "nullsNotDistinct": false,
+ "columns": [
+ "tag_class_id",
+ "att_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_classes": {
+ "name": "tag_classes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "tag_classes_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_type_code": {
+ "name": "tag_type_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subclasses": {
+ "name": "subclasses",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'[]'::json"
+ },
+ "subclass_remark": {
+ "name": "subclass_remark",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'{}'::json"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tag_classes_project_id_projects_id_fk": {
+ "name": "tag_classes_project_id_projects_id_fk",
+ "tableFrom": "tag_classes",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tag_classes_tag_type_code_project_id_tag_types_code_project_id_fk": {
+ "name": "tag_classes_tag_type_code_project_id_tag_types_code_project_id_fk",
+ "tableFrom": "tag_classes",
+ "tableTo": "tag_types",
+ "columnsFrom": [
+ "tag_type_code",
+ "project_id"
+ ],
+ "columnsTo": [
+ "code",
+ "project_id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_code_in_project": {
+ "name": "uniq_code_in_project",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_subfield_options": {
+ "name": "tag_subfield_options",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_id": {
+ "name": "attributes_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tag_subfield_options_project_id_projects_id_fk": {
+ "name": "tag_subfield_options_project_id_projects_id_fk",
+ "tableFrom": "tag_subfield_options",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_attribute_project_code": {
+ "name": "uniq_attribute_project_code",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "attributes_id",
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_subfields": {
+ "name": "tag_subfields",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_type_code": {
+ "name": "tag_type_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_id": {
+ "name": "attributes_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_description": {
+ "name": "attributes_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "expression": {
+ "name": "expression",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delimiter": {
+ "name": "delimiter",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tag_subfields_project_id_projects_id_fk": {
+ "name": "tag_subfields_project_id_projects_id_fk",
+ "tableFrom": "tag_subfields",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_tag_type_attribute": {
+ "name": "uniq_tag_type_attribute",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "tag_type_code",
+ "attributes_id"
+ ]
+ },
+ "uniq_attribute_id_project": {
+ "name": "uniq_attribute_id_project",
+ "nullsNotDistinct": false,
+ "columns": [
+ "attributes_id",
+ "project_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_type_class_form_mappings": {
+ "name": "tag_type_class_form_mappings",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_type_label": {
+ "name": "tag_type_label",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "class_label": {
+ "name": "class_label",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_code": {
+ "name": "form_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_name": {
+ "name": "form_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ep": {
+ "name": "ep",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_mapping_in_project": {
+ "name": "uniq_mapping_in_project",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "tag_type_label",
+ "class_label",
+ "form_code",
+ "remark"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_types": {
+ "name": "tag_types",
+ "schema": "",
+ "columns": {
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tag_types_project_id_projects_id_fk": {
+ "name": "tag_types_project_id_projects_id_fk",
+ "tableFrom": "tag_types",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {
+ "tag_types_code_project_id_pk": {
+ "name": "tag_types_code_project_id_pk",
+ "columns": [
+ "code",
+ "project_id"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tags": {
+ "name": "tags",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "tags_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_item_id": {
+ "name": "contract_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_id": {
+ "name": "form_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tag_no": {
+ "name": "tag_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_type": {
+ "name": "tag_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "class": {
+ "name": "class",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_class_id": {
+ "name": "tag_class_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tags_contract_item_id_contract_items_id_fk": {
+ "name": "tags_contract_item_id_contract_items_id_fk",
+ "tableFrom": "tags",
+ "tableTo": "contract_items",
+ "columnsFrom": [
+ "contract_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tags_form_id_forms_id_fk": {
+ "name": "tags_form_id_forms_id_fk",
+ "tableFrom": "tags",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "form_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tags_tag_class_id_tag_classes_id_fk": {
+ "name": "tags_tag_class_id_tag_classes_id_fk",
+ "tableFrom": "tags",
+ "tableTo": "tag_classes",
+ "columnsFrom": [
+ "tag_class_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "contract_item_tag_no_unique": {
+ "name": "contract_item_tag_no_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "contract_item_id",
+ "tag_no"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.template_items": {
+ "name": "template_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "form_mapping_id": {
+ "name": "form_mapping_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tmpl_id": {
+ "name": "tmpl_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tmpl_type": {
+ "name": "tmpl_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "spr_lst_setup": {
+ "name": "spr_lst_setup",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grd_lst_setup": {
+ "name": "grd_lst_setup",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "spr_itm_lst_setup": {
+ "name": "spr_itm_lst_setup",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "template_items_form_mapping_id_tag_type_class_form_mappings_id_fk": {
+ "name": "template_items_form_mapping_id_tag_type_class_form_mappings_id_fk",
+ "tableFrom": "template_items",
+ "tableTo": "tag_type_class_form_mappings",
+ "columnsFrom": [
+ "form_mapping_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_tmpl_in_form_mapping": {
+ "name": "uniq_tmpl_in_form_mapping",
+ "nullsNotDistinct": false,
+ "columns": [
+ "form_mapping_id",
+ "tmpl_id"
+ ]
+ },
+ "uniq_name_in_form_mapping": {
+ "name": "uniq_name_in_form_mapping",
+ "nullsNotDistinct": false,
+ "columns": [
+ "form_mapping_id",
+ "name"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_data_report_temps": {
+ "name": "vendor_data_report_temps",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contract_item_id": {
+ "name": "contract_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_id": {
+ "name": "form_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_data_report_temps_contract_item_id_contract_items_id_fk": {
+ "name": "vendor_data_report_temps_contract_item_id_contract_items_id_fk",
+ "tableFrom": "vendor_data_report_temps",
+ "tableTo": "contract_items",
+ "columnsFrom": [
+ "contract_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_data_report_temps_form_id_forms_id_fk": {
+ "name": "vendor_data_report_temps_form_id_forms_id_fk",
+ "tableFrom": "vendor_data_report_temps",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "form_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.change_logs": {
+ "name": "change_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "entity_type": {
+ "name": "entity_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "entity_id": {
+ "name": "entity_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "changed_fields": {
+ "name": "changed_fields",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "old_values": {
+ "name": "old_values",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_values": {
+ "name": "new_values",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_name": {
+ "name": "user_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_synced": {
+ "name": "is_synced",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "sync_attempts": {
+ "name": "sync_attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "last_sync_error": {
+ "name": "last_sync_error",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "synced_at": {
+ "name": "synced_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "target_systems": {
+ "name": "target_systems",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'[]'::jsonb"
+ }
+ },
+ "indexes": {
+ "idx_change_logs_contract_synced": {
+ "name": "idx_change_logs_contract_synced",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "is_synced",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_change_logs_created_at": {
+ "name": "idx_change_logs_created_at",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_change_logs_entity": {
+ "name": "idx_change_logs_entity",
+ "columns": [
+ {
+ "expression": "entity_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "entity_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_change_logs_sync_attempts": {
+ "name": "idx_change_logs_sync_attempts",
+ "columns": [
+ {
+ "expression": "sync_attempts",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_attachments": {
+ "name": "document_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "document_attachments_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "revision_id": {
+ "name": "revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "upload_id": {
+ "name": "upload_id",
+ "type": "varchar(36)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_id": {
+ "name": "file_id",
+ "type": "varchar(36)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dolce_file_path": {
+ "name": "dolce_file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "document_attachments_revision_id_revisions_id_fk": {
+ "name": "document_attachments_revision_id_revisions_id_fk",
+ "tableFrom": "document_attachments",
+ "tableTo": "revisions",
+ "columnsFrom": [
+ "revision_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.documents": {
+ "name": "documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "documents_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "pic": {
+ "name": "pic",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_doc_number": {
+ "name": "vendor_doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "drawing_kind": {
+ "name": "drawing_kind",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "drawing_move_gbn": {
+ "name": "drawing_move_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discipline": {
+ "name": "discipline",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "external_document_id": {
+ "name": "external_document_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "external_system_type": {
+ "name": "external_system_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "external_synced_at": {
+ "name": "external_synced_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "c_gbn": {
+ "name": "c_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "d_gbn": {
+ "name": "d_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "degree_gbn": {
+ "name": "degree_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dept_gbn": {
+ "name": "dept_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "j_gbn": {
+ "name": "j_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "s_gbn": {
+ "name": "s_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shi_drawing_no": {
+ "name": "shi_drawing_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager": {
+ "name": "manager",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_enm": {
+ "name": "manager_enm",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_no": {
+ "name": "manager_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "register_group": {
+ "name": "register_group",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "register_group_id": {
+ "name": "register_group_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "create_user_no": {
+ "name": "create_user_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "create_user_id": {
+ "name": "create_user_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "create_user_enm": {
+ "name": "create_user_enm",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "unique_contract_doc_status": {
+ "name": "unique_contract_doc_status",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "doc_number",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "unique_contract_vendor_doc": {
+ "name": "unique_contract_vendor_doc",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "vendor_doc_number",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "where": "\"documents\".\"vendor_doc_number\" IS NOT NULL",
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "unique_external_doc": {
+ "name": "unique_external_doc",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "external_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "external_system_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "where": "\"documents\".\"external_document_id\" IS NOT NULL",
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "drawing_kind_idx": {
+ "name": "drawing_kind_idx",
+ "columns": [
+ {
+ "expression": "drawing_kind",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "documents_contract_id_contracts_id_fk": {
+ "name": "documents_contract_id_contracts_id_fk",
+ "tableFrom": "documents",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "contract_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.issue_stages": {
+ "name": "issue_stages",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "issue_stages_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stage_name": {
+ "name": "stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "plan_date": {
+ "name": "plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "actual_date": {
+ "name": "actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "stage_status": {
+ "name": "stage_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PLANNED'"
+ },
+ "stage_order": {
+ "name": "stage_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "priority": {
+ "name": "priority",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'MEDIUM'"
+ },
+ "assignee_id": {
+ "name": "assignee_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "assignee_name": {
+ "name": "assignee_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reminder_days": {
+ "name": "reminder_days",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 3
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "varchar(1000)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "unique_document_stage": {
+ "name": "unique_document_stage",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "stage_name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "document_stage_order": {
+ "name": "document_stage_order",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "stage_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "issue_stages_document_id_documents_id_fk": {
+ "name": "issue_stages_document_id_documents_id_fk",
+ "tableFrom": "issue_stages",
+ "tableTo": "documents",
+ "columnsFrom": [
+ "document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.revisions": {
+ "name": "revisions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "revisions_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "issue_stage_id": {
+ "name": "issue_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision": {
+ "name": "revision",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "uploader_type": {
+ "name": "uploader_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'vendor'"
+ },
+ "uploader_id": {
+ "name": "uploader_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploader_name": {
+ "name": "uploader_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "usage": {
+ "name": "usage",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "usage_type": {
+ "name": "usage_type",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_status": {
+ "name": "revision_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'SUBMITTED'"
+ },
+ "submitted_date": {
+ "name": "submitted_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_start_date": {
+ "name": "review_start_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approved_date": {
+ "name": "approved_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejected_date": {
+ "name": "rejected_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_id": {
+ "name": "reviewer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_name": {
+ "name": "reviewer_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_comments": {
+ "name": "review_comments",
+ "type": "varchar(1000)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "external_upload_id": {
+ "name": "external_upload_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "register_id": {
+ "name": "register_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "unique_stage_revision_usage": {
+ "name": "unique_stage_revision_usage",
+ "columns": [
+ {
+ "expression": "issue_stage_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "revision",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "usage",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "COALESCE(\"usage_type\", '')",
+ "asc": true,
+ "isExpression": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.sync_batches": {
+ "name": "sync_batches",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "target_system": {
+ "name": "target_system",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "batch_size": {
+ "name": "batch_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "started_at": {
+ "name": "started_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "error_message": {
+ "name": "error_message",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "retry_count": {
+ "name": "retry_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "change_log_ids": {
+ "name": "change_log_ids",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "success_count": {
+ "name": "success_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "failure_count": {
+ "name": "failure_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "sync_metadata": {
+ "name": "sync_metadata",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "idx_sync_batches_contract_system": {
+ "name": "idx_sync_batches_contract_system",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "target_system",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_sync_batches_status": {
+ "name": "idx_sync_batches_status",
+ "columns": [
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_sync_batches_created_at": {
+ "name": "idx_sync_batches_created_at",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.sync_configs": {
+ "name": "sync_configs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "target_system": {
+ "name": "target_system",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sync_enabled": {
+ "name": "sync_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "sync_interval_minutes": {
+ "name": "sync_interval_minutes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 30
+ },
+ "last_successful_sync": {
+ "name": "last_successful_sync",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "last_sync_attempt": {
+ "name": "last_sync_attempt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "endpoint_url": {
+ "name": "endpoint_url",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "auth_token": {
+ "name": "auth_token",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "api_version": {
+ "name": "api_version",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'v1'"
+ },
+ "max_batch_size": {
+ "name": "max_batch_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 100
+ },
+ "retry_max_attempts": {
+ "name": "retry_max_attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 3
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "idx_sync_configs_contract_system": {
+ "name": "idx_sync_configs_contract_system",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "target_system",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "sync_configs_contract_id_contracts_id_fk": {
+ "name": "sync_configs_contract_id_contracts_id_fk",
+ "tableFrom": "sync_configs",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "contract_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_attachments": {
+ "name": "vendor_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'GENERAL'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_attachments_vendor_id_vendors_id_fk": {
+ "name": "vendor_attachments_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_attachments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_candidates": {
+ "name": "vendor_candidates",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "company_name": {
+ "name": "company_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_email": {
+ "name": "contact_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_phone": {
+ "name": "contact_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source": {
+ "name": "source",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'COLLECTED'"
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "items": {
+ "name": "items",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_candidates_vendor_id_vendors_id_fk": {
+ "name": "vendor_candidates_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_candidates",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_contacts": {
+ "name": "vendor_contacts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_name": {
+ "name": "contact_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_position": {
+ "name": "contact_position",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_department": {
+ "name": "contact_department",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_task": {
+ "name": "contact_task",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_email": {
+ "name": "contact_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_phone": {
+ "name": "contact_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_primary": {
+ "name": "is_primary",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_contacts_vendor_id_vendors_id_fk": {
+ "name": "vendor_contacts_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_contacts",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_possible_items": {
+ "name": "vendor_possible_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_possible_items_vendor_id_vendors_id_fk": {
+ "name": "vendor_possible_items_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_possible_items",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_possible_items_item_code_items_item_code_fk": {
+ "name": "vendor_possible_items_item_code_items_item_code_fk",
+ "tableFrom": "vendor_possible_items",
+ "tableTo": "items",
+ "columnsFrom": [
+ "item_code"
+ ],
+ "columnsTo": [
+ "item_code"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_possible_materials": {
+ "name": "vendor_possible_materials",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_possible_materials_vendor_id_vendors_id_fk": {
+ "name": "vendor_possible_materials_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_possible_materials",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_possible_materials_item_code_materials_item_code_fk": {
+ "name": "vendor_possible_materials_item_code_materials_item_code_fk",
+ "tableFrom": "vendor_possible_materials",
+ "tableTo": "materials",
+ "columnsFrom": [
+ "item_code"
+ ],
+ "columnsTo": [
+ "item_code"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_types": {
+ "name": "vendor_types",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name_ko": {
+ "name": "name_ko",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name_en": {
+ "name": "name_en",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "vendor_types_code_unique": {
+ "name": "vendor_types_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendors": {
+ "name": "vendors",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "website": {
+ "name": "website",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING_REVIEW'"
+ },
+ "vendor_type_id": {
+ "name": "vendor_type_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_name": {
+ "name": "representative_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_birth": {
+ "name": "representative_birth",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_email": {
+ "name": "representative_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_phone": {
+ "name": "representative_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_work_expirence": {
+ "name": "representative_work_expirence",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "corporate_registration_number": {
+ "name": "corporate_registration_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "items": {
+ "name": "items",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "credit_agency": {
+ "name": "credit_agency",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "credit_rating": {
+ "name": "credit_rating",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cash_flow_rating": {
+ "name": "cash_flow_rating",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "business_size": {
+ "name": "business_size",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendors_vendor_type_id_vendor_types_id_fk": {
+ "name": "vendors_vendor_type_id_vendor_types_id_fk",
+ "tableFrom": "vendors",
+ "tableTo": "vendor_types",
+ "columnsFrom": [
+ "vendor_type_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tasks": {
+ "name": "tasks",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "varchar(30)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(128)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(128)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'todo'"
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'bug'"
+ },
+ "priority": {
+ "name": "priority",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'low'"
+ },
+ "archived": {
+ "name": "archived",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "current_timestamp"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "tasks_code_unique": {
+ "name": "tasks_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_candidate_logs": {
+ "name": "vendor_candidate_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_candidate_id": {
+ "name": "vendor_candidate_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_status": {
+ "name": "old_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_status": {
+ "name": "new_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_candidate_logs_vendor_candidate_id_vendor_candidates_id_fk": {
+ "name": "vendor_candidate_logs_vendor_candidate_id_vendor_candidates_id_fk",
+ "tableFrom": "vendor_candidate_logs",
+ "tableTo": "vendor_candidates",
+ "columnsFrom": [
+ "vendor_candidate_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_candidate_logs_user_id_users_id_fk": {
+ "name": "vendor_candidate_logs_user_id_users_id_fk",
+ "tableFrom": "vendor_candidate_logs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendors_logs": {
+ "name": "vendors_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_status": {
+ "name": "old_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_status": {
+ "name": "new_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendors_logs_vendor_id_vendors_id_fk": {
+ "name": "vendors_logs_vendor_id_vendors_id_fk",
+ "tableFrom": "vendors_logs",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendors_logs_user_id_users_id_fk": {
+ "name": "vendors_logs_user_id_users_id_fk",
+ "tableFrom": "vendors_logs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.basic_contract": {
+ "name": "basic_contract",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "basic_contract_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "template_id": {
+ "name": "template_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_by": {
+ "name": "requested_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "basic_contract_template_id_basic_contract_templates_id_fk": {
+ "name": "basic_contract_template_id_basic_contract_templates_id_fk",
+ "tableFrom": "basic_contract",
+ "tableTo": "basic_contract_templates",
+ "columnsFrom": [
+ "template_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "basic_contract_vendor_id_vendors_id_fk": {
+ "name": "basic_contract_vendor_id_vendors_id_fk",
+ "tableFrom": "basic_contract",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "basic_contract_requested_by_users_id_fk": {
+ "name": "basic_contract_requested_by_users_id_fk",
+ "tableFrom": "basic_contract",
+ "tableTo": "users",
+ "columnsFrom": [
+ "requested_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.basic_contract_templates": {
+ "name": "basic_contract_templates",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "basic_contract_templates_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "template_name": {
+ "name": "template_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision": {
+ "name": "revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "status": {
+ "name": "status",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "validity_period": {
+ "name": "validity_period",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "legal_review_required": {
+ "name": "legal_review_required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "shipbuilding_applicable": {
+ "name": "shipbuilding_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "wind_applicable": {
+ "name": "wind_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "pc_applicable": {
+ "name": "pc_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "nb_applicable": {
+ "name": "nb_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "rc_applicable": {
+ "name": "rc_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "gy_applicable": {
+ "name": "gy_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "sys_applicable": {
+ "name": "sys_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "infra_applicable": {
+ "name": "infra_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "disposed_at": {
+ "name": "disposed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "restored_at": {
+ "name": "restored_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "basic_contract_templates_created_by_users_id_fk": {
+ "name": "basic_contract_templates_created_by_users_id_fk",
+ "tableFrom": "basic_contract_templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "basic_contract_templates_updated_by_users_id_fk": {
+ "name": "basic_contract_templates_updated_by_users_id_fk",
+ "tableFrom": "basic_contract_templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "template_name_revision_unique": {
+ "name": "template_name_revision_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "template_name",
+ "revision"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.incoterms": {
+ "name": "incoterms",
+ "schema": "",
+ "columns": {
+ "code": {
+ "name": "code",
+ "type": "varchar(20)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "incoterms_created_by_users_id_fk": {
+ "name": "incoterms_created_by_users_id_fk",
+ "tableFrom": "incoterms",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.payment_terms": {
+ "name": "payment_terms",
+ "schema": "",
+ "columns": {
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "payment_terms_created_by_users_id_fk": {
+ "name": "payment_terms_created_by_users_id_fk",
+ "tableFrom": "payment_terms",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.pr_items": {
+ "name": "pr_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "procurement_rfqs_id": {
+ "name": "procurement_rfqs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_item": {
+ "name": "rfq_item",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pr_item": {
+ "name": "pr_item",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pr_no": {
+ "name": "pr_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_code": {
+ "name": "material_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_category": {
+ "name": "material_category",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "acc": {
+ "name": "acc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_description": {
+ "name": "material_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "size": {
+ "name": "size",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "uom": {
+ "name": "uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gross_weight": {
+ "name": "gross_weight",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "gw_uom": {
+ "name": "gw_uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "spec_no": {
+ "name": "spec_no",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "spec_url": {
+ "name": "spec_url",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tracking_no": {
+ "name": "tracking_no",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "major_yn": {
+ "name": "major_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "project_def": {
+ "name": "project_def",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_sc": {
+ "name": "project_sc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_kl": {
+ "name": "project_kl",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_lc": {
+ "name": "project_lc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_dl": {
+ "name": "project_dl",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "pr_items_procurement_rfqs_id_procurement_rfqs_id_fk": {
+ "name": "pr_items_procurement_rfqs_id_procurement_rfqs_id_fk",
+ "tableFrom": "pr_items",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "procurement_rfqs_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_attachments": {
+ "name": "procurement_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "procurement_rfqs_id": {
+ "name": "procurement_rfqs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "procurement_rfq_details_id": {
+ "name": "procurement_rfq_details_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_attachments_procurement_rfqs_id_procurement_rfqs_id_fk": {
+ "name": "procurement_attachments_procurement_rfqs_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_attachments",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "procurement_rfqs_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_attachments_procurement_rfq_details_id_procurement_rfq_details_id_fk": {
+ "name": "procurement_attachments_procurement_rfq_details_id_procurement_rfq_details_id_fk",
+ "tableFrom": "procurement_attachments",
+ "tableTo": "procurement_rfq_details",
+ "columnsFrom": [
+ "procurement_rfq_details_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_attachments_created_by_users_id_fk": {
+ "name": "procurement_attachments_created_by_users_id_fk",
+ "tableFrom": "procurement_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {
+ "attachment_type_check": {
+ "name": "attachment_type_check",
+ "value": "\"procurement_attachments\".\"procurement_rfqs_id\" IS NOT NULL OR \"procurement_attachments\".\"procurement_rfq_details_id\" IS NOT NULL"
+ }
+ },
+ "isRLSEnabled": false
+ },
+ "public.procurement_quotation_items": {
+ "name": "procurement_quotation_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pr_item_id": {
+ "name": "pr_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_code": {
+ "name": "material_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_description": {
+ "name": "material_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "uom": {
+ "name": "uom",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "unit_price": {
+ "name": "unit_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "total_price": {
+ "name": "total_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "vendor_material_code": {
+ "name": "vendor_material_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_material_description": {
+ "name": "vendor_material_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "lead_time_in_days": {
+ "name": "lead_time_in_days",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_rate": {
+ "name": "tax_rate",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_amount": {
+ "name": "tax_amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount_rate": {
+ "name": "discount_rate",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount_amount": {
+ "name": "discount_amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_alternative": {
+ "name": "is_alternative",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "is_recommended": {
+ "name": "is_recommended",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_quotation_items_quotation_id_procurement_vendor_quotations_id_fk": {
+ "name": "procurement_quotation_items_quotation_id_procurement_vendor_quotations_id_fk",
+ "tableFrom": "procurement_quotation_items",
+ "tableTo": "procurement_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_quotation_items_pr_item_id_pr_items_id_fk": {
+ "name": "procurement_quotation_items_pr_item_id_pr_items_id_fk",
+ "tableFrom": "procurement_quotation_items",
+ "tableTo": "pr_items",
+ "columnsFrom": [
+ "pr_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_rfq_attachments": {
+ "name": "procurement_rfq_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "comment_id": {
+ "name": "comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_vendor_upload": {
+ "name": "is_vendor_upload",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_rfq_attachments_rfq_id_procurement_rfqs_id_fk": {
+ "name": "procurement_rfq_attachments_rfq_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_attachments_comment_id_procurement_rfq_comments_id_fk": {
+ "name": "procurement_rfq_attachments_comment_id_procurement_rfq_comments_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "procurement_rfq_comments",
+ "columnsFrom": [
+ "comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_attachments_quotation_id_procurement_vendor_quotations_id_fk": {
+ "name": "procurement_rfq_attachments_quotation_id_procurement_vendor_quotations_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "procurement_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_attachments_uploaded_by_users_id_fk": {
+ "name": "procurement_rfq_attachments_uploaded_by_users_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_attachments_vendor_id_vendors_id_fk": {
+ "name": "procurement_rfq_attachments_vendor_id_vendors_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_rfq_comments": {
+ "name": "procurement_rfq_comments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_vendor_comment": {
+ "name": "is_vendor_comment",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "is_read": {
+ "name": "is_read",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "parent_comment_id": {
+ "name": "parent_comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_rfq_comments_rfq_id_procurement_rfqs_id_fk": {
+ "name": "procurement_rfq_comments_rfq_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_rfq_comments",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_comments_vendor_id_vendors_id_fk": {
+ "name": "procurement_rfq_comments_vendor_id_vendors_id_fk",
+ "tableFrom": "procurement_rfq_comments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_comments_user_id_users_id_fk": {
+ "name": "procurement_rfq_comments_user_id_users_id_fk",
+ "tableFrom": "procurement_rfq_comments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_comments_parent_comment_id_procurement_rfq_comments_id_fk": {
+ "name": "procurement_rfq_comments_parent_comment_id_procurement_rfq_comments_id_fk",
+ "tableFrom": "procurement_rfq_comments",
+ "tableTo": "procurement_rfq_comments",
+ "columnsFrom": [
+ "parent_comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_rfq_details": {
+ "name": "procurement_rfq_details",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "procurement_rfqs_id": {
+ "name": "procurement_rfqs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendors_id": {
+ "name": "vendors_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "payment_terms_code": {
+ "name": "payment_terms_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_detail": {
+ "name": "incoterms_detail",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tax_code": {
+ "name": "tax_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'VV'"
+ },
+ "place_of_shipping": {
+ "name": "place_of_shipping",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "place_of_destination": {
+ "name": "place_of_destination",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cancel_reason": {
+ "name": "cancel_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "material_price_related_yn": {
+ "name": "material_price_related_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_rfq_details_procurement_rfqs_id_procurement_rfqs_id_fk": {
+ "name": "procurement_rfq_details_procurement_rfqs_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "procurement_rfqs_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_details_vendors_id_vendors_id_fk": {
+ "name": "procurement_rfq_details_vendors_id_vendors_id_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendors_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_details_payment_terms_code_payment_terms_code_fk": {
+ "name": "procurement_rfq_details_payment_terms_code_payment_terms_code_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "payment_terms",
+ "columnsFrom": [
+ "payment_terms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_details_incoterms_code_incoterms_code_fk": {
+ "name": "procurement_rfq_details_incoterms_code_incoterms_code_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "incoterms",
+ "columnsFrom": [
+ "incoterms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_details_updated_by_users_id_fk": {
+ "name": "procurement_rfq_details_updated_by_users_id_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_rfqs": {
+ "name": "procurement_rfqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "series": {
+ "name": "series",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_send_date": {
+ "name": "rfq_send_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'RFQ Created'"
+ },
+ "rfq_sealed_yn": {
+ "name": "rfq_sealed_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sent_by": {
+ "name": "sent_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_rfqs_project_id_projects_id_fk": {
+ "name": "procurement_rfqs_project_id_projects_id_fk",
+ "tableFrom": "procurement_rfqs",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfqs_sent_by_users_id_fk": {
+ "name": "procurement_rfqs_sent_by_users_id_fk",
+ "tableFrom": "procurement_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "sent_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfqs_created_by_users_id_fk": {
+ "name": "procurement_rfqs_created_by_users_id_fk",
+ "tableFrom": "procurement_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfqs_updated_by_users_id_fk": {
+ "name": "procurement_rfqs_updated_by_users_id_fk",
+ "tableFrom": "procurement_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "procurement_rfqs_rfq_code_unique": {
+ "name": "procurement_rfqs_rfq_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "rfq_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_vendor_quotations": {
+ "name": "procurement_vendor_quotations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "quotation_code": {
+ "name": "quotation_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quotation_version": {
+ "name": "quotation_version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "total_items_count": {
+ "name": "total_items_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "sub_total": {
+ "name": "sub_total",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "tax_total": {
+ "name": "tax_total",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "discount_total": {
+ "name": "discount_total",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "total_price": {
+ "name": "total_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "valid_until": {
+ "name": "valid_until",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "estimated_delivery_date": {
+ "name": "estimated_delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payment_terms_code": {
+ "name": "payment_terms_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_detail": {
+ "name": "incoterms_detail",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Draft'"
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejection_reason": {
+ "name": "rejection_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "accepted_at": {
+ "name": "accepted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_vendor_quotations_rfq_id_procurement_rfqs_id_fk": {
+ "name": "procurement_vendor_quotations_rfq_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_vendor_quotations",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_vendor_quotations_vendor_id_vendors_id_fk": {
+ "name": "procurement_vendor_quotations_vendor_id_vendors_id_fk",
+ "tableFrom": "procurement_vendor_quotations",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_vendor_quotations_payment_terms_code_payment_terms_code_fk": {
+ "name": "procurement_vendor_quotations_payment_terms_code_payment_terms_code_fk",
+ "tableFrom": "procurement_vendor_quotations",
+ "tableTo": "payment_terms",
+ "columnsFrom": [
+ "payment_terms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_vendor_quotations_incoterms_code_incoterms_code_fk": {
+ "name": "procurement_vendor_quotations_incoterms_code_incoterms_code_fk",
+ "tableFrom": "procurement_vendor_quotations",
+ "tableTo": "incoterms",
+ "columnsFrom": [
+ "incoterms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.preset_shares": {
+ "name": "preset_shares",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "preset_id": {
+ "name": "preset_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "shared_with_user_id": {
+ "name": "shared_with_user_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "permission": {
+ "name": "permission",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'read'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "preset_shares_preset_id_table_presets_id_fk": {
+ "name": "preset_shares_preset_id_table_presets_id_fk",
+ "tableFrom": "preset_shares",
+ "tableTo": "table_presets",
+ "columnsFrom": [
+ "preset_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.table_presets": {
+ "name": "table_presets",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "table_id": {
+ "name": "table_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "settings": {
+ "name": "settings",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_default": {
+ "name": "is_default",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_shared": {
+ "name": "is_shared",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_attachments": {
+ "name": "tech_sales_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tech_sales_rfq_id": {
+ "name": "tech_sales_rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_attachments_tech_sales_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_attachments_tech_sales_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_attachments",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "tech_sales_rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_attachments_created_by_users_id_fk": {
+ "name": "tech_sales_attachments_created_by_users_id_fk",
+ "tableFrom": "tech_sales_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_contact_possible_items": {
+ "name": "tech_sales_contact_possible_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contact_id": {
+ "name": "contact_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_possible_item_id": {
+ "name": "vendor_possible_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_contact_possible_items_contact_id_tech_vendor_contacts_id_fk": {
+ "name": "tech_sales_contact_possible_items_contact_id_tech_vendor_contacts_id_fk",
+ "tableFrom": "tech_sales_contact_possible_items",
+ "tableTo": "tech_vendor_contacts",
+ "columnsFrom": [
+ "contact_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_contact_possible_items_vendor_possible_item_id_tech_vendor_possible_items_id_fk": {
+ "name": "tech_sales_contact_possible_items_vendor_possible_item_id_tech_vendor_possible_items_id_fk",
+ "tableFrom": "tech_sales_contact_possible_items",
+ "tableTo": "tech_vendor_possible_items",
+ "columnsFrom": [
+ "vendor_possible_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_rfq_comment_attachments": {
+ "name": "tech_sales_rfq_comment_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "comment_id": {
+ "name": "comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_vendor_upload": {
+ "name": "is_vendor_upload",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_rfq_comment_attachments_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comment_attachments_comment_id_tech_sales_rfq_comments_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_comment_id_tech_sales_rfq_comments_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "tech_sales_rfq_comments",
+ "columnsFrom": [
+ "comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comment_attachments_quotation_id_tech_sales_vendor_quotations_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_quotation_id_tech_sales_vendor_quotations_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "tech_sales_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comment_attachments_uploaded_by_users_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_uploaded_by_users_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comment_attachments_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_rfq_comments": {
+ "name": "tech_sales_rfq_comments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_vendor_comment": {
+ "name": "is_vendor_comment",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "is_read": {
+ "name": "is_read",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "parent_comment_id": {
+ "name": "parent_comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_rfq_comments_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_rfq_comments_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_rfq_comments",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comments_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_sales_rfq_comments_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_sales_rfq_comments",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comments_user_id_users_id_fk": {
+ "name": "tech_sales_rfq_comments_user_id_users_id_fk",
+ "tableFrom": "tech_sales_rfq_comments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comments_parent_comment_id_tech_sales_rfq_comments_id_fk": {
+ "name": "tech_sales_rfq_comments_parent_comment_id_tech_sales_rfq_comments_id_fk",
+ "tableFrom": "tech_sales_rfq_comments",
+ "tableTo": "tech_sales_rfq_comments",
+ "columnsFrom": [
+ "parent_comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_rfq_items": {
+ "name": "tech_sales_rfq_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_shipbuilding_id": {
+ "name": "item_shipbuilding_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_offshore_top_id": {
+ "name": "item_offshore_top_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_offshore_hull_id": {
+ "name": "item_offshore_hull_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_type": {
+ "name": "item_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_rfq_items_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_rfq_items_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_rfq_items",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_items_item_shipbuilding_id_item_shipbuilding_id_fk": {
+ "name": "tech_sales_rfq_items_item_shipbuilding_id_item_shipbuilding_id_fk",
+ "tableFrom": "tech_sales_rfq_items",
+ "tableTo": "item_shipbuilding",
+ "columnsFrom": [
+ "item_shipbuilding_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_items_item_offshore_top_id_item_offshore_top_id_fk": {
+ "name": "tech_sales_rfq_items_item_offshore_top_id_item_offshore_top_id_fk",
+ "tableFrom": "tech_sales_rfq_items",
+ "tableTo": "item_offshore_top",
+ "columnsFrom": [
+ "item_offshore_top_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_items_item_offshore_hull_id_item_offshore_hull_id_fk": {
+ "name": "tech_sales_rfq_items_item_offshore_hull_id_item_offshore_hull_id_fk",
+ "tableFrom": "tech_sales_rfq_items",
+ "tableTo": "item_offshore_hull",
+ "columnsFrom": [
+ "item_offshore_hull_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_rfqs": {
+ "name": "tech_sales_rfqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "bidding_project_id": {
+ "name": "bidding_project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_code": {
+ "name": "material_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_send_date": {
+ "name": "rfq_send_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'RFQ Created'"
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sent_by": {
+ "name": "sent_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "cancel_reason": {
+ "name": "cancel_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'SHIP'"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_rfqs_bidding_project_id_bidding_projects_id_fk": {
+ "name": "tech_sales_rfqs_bidding_project_id_bidding_projects_id_fk",
+ "tableFrom": "tech_sales_rfqs",
+ "tableTo": "bidding_projects",
+ "columnsFrom": [
+ "bidding_project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfqs_sent_by_users_id_fk": {
+ "name": "tech_sales_rfqs_sent_by_users_id_fk",
+ "tableFrom": "tech_sales_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "sent_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfqs_created_by_users_id_fk": {
+ "name": "tech_sales_rfqs_created_by_users_id_fk",
+ "tableFrom": "tech_sales_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfqs_updated_by_users_id_fk": {
+ "name": "tech_sales_rfqs_updated_by_users_id_fk",
+ "tableFrom": "tech_sales_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "tech_sales_rfqs_rfq_code_unique": {
+ "name": "tech_sales_rfqs_rfq_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "rfq_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_vendor_quotation_attachments": {
+ "name": "tech_sales_vendor_quotation_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision_id": {
+ "name": "revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_vendor_upload": {
+ "name": "is_vendor_upload",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_vendor_quotation_attachments_quotation_id_tech_sales_vendor_quotations_id_fk": {
+ "name": "tech_sales_vendor_quotation_attachments_quotation_id_tech_sales_vendor_quotations_id_fk",
+ "tableFrom": "tech_sales_vendor_quotation_attachments",
+ "tableTo": "tech_sales_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_vendor_quotation_attachments_uploaded_by_users_id_fk": {
+ "name": "tech_sales_vendor_quotation_attachments_uploaded_by_users_id_fk",
+ "tableFrom": "tech_sales_vendor_quotation_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_vendor_quotation_attachments_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_sales_vendor_quotation_attachments_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_sales_vendor_quotation_attachments",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_vendor_quotation_contacts": {
+ "name": "tech_sales_vendor_quotation_contacts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_id": {
+ "name": "contact_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_vendor_quotation_revisions": {
+ "name": "tech_sales_vendor_quotation_revisions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "snapshot": {
+ "name": "snapshot",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "change_reason": {
+ "name": "change_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_note": {
+ "name": "revision_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revised_by": {
+ "name": "revised_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revised_at": {
+ "name": "revised_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "tech_sales_quotation_revisions_quotation_version_idx": {
+ "name": "tech_sales_quotation_revisions_quotation_version_idx",
+ "columns": [
+ {
+ "expression": "quotation_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "version",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "tech_sales_vendor_quotation_revisions_quotation_id_tech_sales_vendor_quotations_id_fk": {
+ "name": "tech_sales_vendor_quotation_revisions_quotation_id_tech_sales_vendor_quotations_id_fk",
+ "tableFrom": "tech_sales_vendor_quotation_revisions",
+ "tableTo": "tech_sales_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_vendor_quotations": {
+ "name": "tech_sales_vendor_quotations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "quotation_code": {
+ "name": "quotation_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quotation_version": {
+ "name": "quotation_version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_price": {
+ "name": "total_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "valid_until": {
+ "name": "valid_until",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Assigned'"
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejection_reason": {
+ "name": "rejection_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "accepted_at": {
+ "name": "accepted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_vendor_quotations_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_vendor_quotations_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_vendor_quotations",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_vendor_quotations_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_sales_vendor_quotations_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_sales_vendor_quotations",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ocr_rotation_attempts": {
+ "name": "ocr_rotation_attempts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rotation": {
+ "name": "rotation",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "confidence": {
+ "name": "confidence",
+ "type": "numeric(5, 4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tables_found": {
+ "name": "tables_found",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "text_quality": {
+ "name": "text_quality",
+ "type": "numeric(5, 4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "keyword_count": {
+ "name": "keyword_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "score": {
+ "name": "score",
+ "type": "numeric(5, 4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "extracted_rows_count": {
+ "name": "extracted_rows_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "ocr_rotation_attempts_session_id_ocr_sessions_id_fk": {
+ "name": "ocr_rotation_attempts_session_id_ocr_sessions_id_fk",
+ "tableFrom": "ocr_rotation_attempts",
+ "tableTo": "ocr_sessions",
+ "columnsFrom": [
+ "session_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ocr_rows": {
+ "name": "ocr_rows",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "table_id": {
+ "name": "table_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "row_index": {
+ "name": "row_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "report_no": {
+ "name": "report_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "inspection_date": {
+ "name": "inspection_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "no": {
+ "name": "no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "identification_no": {
+ "name": "identification_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tag_no": {
+ "name": "tag_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "joint_no": {
+ "name": "joint_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "joint_type": {
+ "name": "joint_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "welding_date": {
+ "name": "welding_date",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confidence": {
+ "name": "confidence",
+ "type": "numeric(5, 4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source_table": {
+ "name": "source_table",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source_row": {
+ "name": "source_row",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "idx_ocr_report_no_unique": {
+ "name": "idx_ocr_report_no_unique",
+ "columns": [
+ {
+ "expression": "report_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "tag_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "joint_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "joint_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "ocr_rows_table_id_ocr_tables_id_fk": {
+ "name": "ocr_rows_table_id_ocr_tables_id_fk",
+ "tableFrom": "ocr_rows",
+ "tableTo": "ocr_tables",
+ "columnsFrom": [
+ "table_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "ocr_rows_session_id_ocr_sessions_id_fk": {
+ "name": "ocr_rows_session_id_ocr_sessions_id_fk",
+ "tableFrom": "ocr_rows",
+ "tableTo": "ocr_sessions",
+ "columnsFrom": [
+ "session_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "ocr_rows_user_id_users_id_fk": {
+ "name": "ocr_rows_user_id_users_id_fk",
+ "tableFrom": "ocr_rows",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ocr_sessions": {
+ "name": "ocr_sessions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "processing_time": {
+ "name": "processing_time",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "best_rotation": {
+ "name": "best_rotation",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "total_tables": {
+ "name": "total_tables",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "total_rows": {
+ "name": "total_rows",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "image_enhanced": {
+ "name": "image_enhanced",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "pdf_converted": {
+ "name": "pdf_converted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "success": {
+ "name": "success",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "error_message": {
+ "name": "error_message",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "warnings": {
+ "name": "warnings",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ocr_tables": {
+ "name": "ocr_tables",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "table_index": {
+ "name": "table_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "row_count": {
+ "name": "row_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "ocr_tables_session_id_ocr_sessions_id_fk": {
+ "name": "ocr_tables_session_id_ocr_sessions_id_fk",
+ "tableFrom": "ocr_tables",
+ "tableTo": "ocr_sessions",
+ "columnsFrom": [
+ "session_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.b_rfq_attachment_revisions": {
+ "name": "b_rfq_attachment_revisions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision_no": {
+ "name": "revision_no",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision_comment": {
+ "name": "revision_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_latest": {
+ "name": "is_latest",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "latest_revision_idx": {
+ "name": "latest_revision_idx",
+ "columns": [
+ {
+ "expression": "attachment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "is_latest",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "where": "\"b_rfq_attachment_revisions\".\"is_latest\" = $1",
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "attachment_revision_idx": {
+ "name": "attachment_revision_idx",
+ "columns": [
+ {
+ "expression": "attachment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "revision_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "b_rfq_attachment_revisions_attachment_id_b_rfq_attachments_id_fk": {
+ "name": "b_rfq_attachment_revisions_attachment_id_b_rfq_attachments_id_fk",
+ "tableFrom": "b_rfq_attachment_revisions",
+ "tableTo": "b_rfq_attachments",
+ "columnsFrom": [
+ "attachment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "b_rfq_attachment_revisions_created_by_users_id_fk": {
+ "name": "b_rfq_attachment_revisions_created_by_users_id_fk",
+ "tableFrom": "b_rfq_attachment_revisions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.b_rfqs": {
+ "name": "b_rfqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'DRAFT'"
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_name": {
+ "name": "pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "eng_pic_name": {
+ "name": "eng_pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_company": {
+ "name": "project_company",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_flag": {
+ "name": "project_flag",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_site": {
+ "name": "project_site",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_no": {
+ "name": "package_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_name": {
+ "name": "package_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "b_rfqs_project_id_projects_id_fk": {
+ "name": "b_rfqs_project_id_projects_id_fk",
+ "tableFrom": "b_rfqs",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "b_rfqs_created_by_users_id_fk": {
+ "name": "b_rfqs_created_by_users_id_fk",
+ "tableFrom": "b_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "b_rfqs_updated_by_users_id_fk": {
+ "name": "b_rfqs_updated_by_users_id_fk",
+ "tableFrom": "b_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "b_rfqs_rfq_code_unique": {
+ "name": "b_rfqs_rfq_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "rfq_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.b_rfq_attachments": {
+ "name": "b_rfq_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Rev.0'"
+ },
+ "latest_revision_id": {
+ "name": "latest_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "b_rfq_attachments_rfq_id_b_rfqs_id_fk": {
+ "name": "b_rfq_attachments_rfq_id_b_rfqs_id_fk",
+ "tableFrom": "b_rfq_attachments",
+ "tableTo": "b_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "b_rfq_attachments_created_by_users_id_fk": {
+ "name": "b_rfq_attachments_created_by_users_id_fk",
+ "tableFrom": "b_rfq_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.final_rfq": {
+ "name": "final_rfq",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "final_rfq_status": {
+ "name": "final_rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'DRAFT'"
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "valid_date": {
+ "name": "valid_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc": {
+ "name": "gtc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc_valid_date": {
+ "name": "gtc_valid_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sparepart": {
+ "name": "sparepart",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "short_list": {
+ "name": "short_list",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "return_yn": {
+ "name": "return_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "cp_request_yn": {
+ "name": "cp_request_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "prject_gtc_yn": {
+ "name": "prject_gtc_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "return_revision": {
+ "name": "return_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "payment_terms_code": {
+ "name": "payment_terms_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_code": {
+ "name": "tax_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'VV'"
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "place_of_shipping": {
+ "name": "place_of_shipping",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "place_of_destination": {
+ "name": "place_of_destination",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "firsttime_yn": {
+ "name": "firsttime_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "material_price_related_yn": {
+ "name": "material_price_related_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_remark": {
+ "name": "vendor_remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "final_rfq_rfq_id_b_rfqs_id_fk": {
+ "name": "final_rfq_rfq_id_b_rfqs_id_fk",
+ "tableFrom": "final_rfq",
+ "tableTo": "b_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "final_rfq_vendor_id_vendors_id_fk": {
+ "name": "final_rfq_vendor_id_vendors_id_fk",
+ "tableFrom": "final_rfq",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "final_rfq_incoterms_code_incoterms_code_fk": {
+ "name": "final_rfq_incoterms_code_incoterms_code_fk",
+ "tableFrom": "final_rfq",
+ "tableTo": "incoterms",
+ "columnsFrom": [
+ "incoterms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "final_rfq_payment_terms_code_payment_terms_code_fk": {
+ "name": "final_rfq_payment_terms_code_payment_terms_code_fk",
+ "tableFrom": "final_rfq",
+ "tableTo": "payment_terms",
+ "columnsFrom": [
+ "payment_terms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.initial_rfq": {
+ "name": "initial_rfq",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "initial_rfq_status": {
+ "name": "initial_rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'DRAFT'"
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "valid_date": {
+ "name": "valid_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc": {
+ "name": "gtc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc_valid_date": {
+ "name": "gtc_valid_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sparepart": {
+ "name": "sparepart",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "short_list": {
+ "name": "short_list",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "return_yn": {
+ "name": "return_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "cp_request_yn": {
+ "name": "cp_request_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "prject_gtc_yn": {
+ "name": "prject_gtc_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "return_revision": {
+ "name": "return_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "rfq_revision": {
+ "name": "rfq_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "initial_rfq_rfq_id_b_rfqs_id_fk": {
+ "name": "initial_rfq_rfq_id_b_rfqs_id_fk",
+ "tableFrom": "initial_rfq",
+ "tableTo": "b_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "initial_rfq_vendor_id_vendors_id_fk": {
+ "name": "initial_rfq_vendor_id_vendors_id_fk",
+ "tableFrom": "initial_rfq",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "initial_rfq_incoterms_code_incoterms_code_fk": {
+ "name": "initial_rfq_incoterms_code_incoterms_code_fk",
+ "tableFrom": "initial_rfq",
+ "tableTo": "incoterms",
+ "columnsFrom": [
+ "incoterms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_attachment_responses": {
+ "name": "vendor_attachment_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_record_id": {
+ "name": "rfq_record_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'NOT_RESPONDED'"
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'Rev.0'"
+ },
+ "responded_revision": {
+ "name": "responded_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_comment": {
+ "name": "response_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_comment": {
+ "name": "vendor_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_request_comment": {
+ "name": "revision_request_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "responded_at": {
+ "name": "responded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_requested_at": {
+ "name": "revision_requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "vendor_response_idx": {
+ "name": "vendor_response_idx",
+ "columns": [
+ {
+ "expression": "attachment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "rfq_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vendor_attachment_responses_attachment_id_b_rfq_attachments_id_fk": {
+ "name": "vendor_attachment_responses_attachment_id_b_rfq_attachments_id_fk",
+ "tableFrom": "vendor_attachment_responses",
+ "tableTo": "b_rfq_attachments",
+ "columnsFrom": [
+ "attachment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_attachment_responses_vendor_id_vendors_id_fk": {
+ "name": "vendor_attachment_responses_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_attachment_responses",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_attachment_responses_created_by_users_id_fk": {
+ "name": "vendor_attachment_responses_created_by_users_id_fk",
+ "tableFrom": "vendor_attachment_responses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "vendor_attachment_responses_updated_by_users_id_fk": {
+ "name": "vendor_attachment_responses_updated_by_users_id_fk",
+ "tableFrom": "vendor_attachment_responses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_response_attachments_b": {
+ "name": "vendor_response_attachments_b",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_response_id": {
+ "name": "vendor_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_response_attachments_b_vendor_response_id_vendor_attachment_responses_id_fk": {
+ "name": "vendor_response_attachments_b_vendor_response_id_vendor_attachment_responses_id_fk",
+ "tableFrom": "vendor_response_attachments_b",
+ "tableTo": "vendor_attachment_responses",
+ "columnsFrom": [
+ "vendor_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_response_attachments_b_uploaded_by_users_id_fk": {
+ "name": "vendor_response_attachments_b_uploaded_by_users_id_fk",
+ "tableFrom": "vendor_response_attachments_b",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_response_history": {
+ "name": "vendor_response_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_response_id": {
+ "name": "vendor_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "previous_status": {
+ "name": "previous_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_status": {
+ "name": "new_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "action_by": {
+ "name": "action_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "action_at": {
+ "name": "action_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_response_history_vendor_response_id_vendor_attachment_responses_id_fk": {
+ "name": "vendor_response_history_vendor_response_id_vendor_attachment_responses_id_fk",
+ "tableFrom": "vendor_response_history",
+ "tableTo": "vendor_attachment_responses",
+ "columnsFrom": [
+ "vendor_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_response_history_action_by_users_id_fk": {
+ "name": "vendor_response_history_action_by_users_id_fk",
+ "tableFrom": "vendor_response_history",
+ "tableTo": "users",
+ "columnsFrom": [
+ "action_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_vendor_attachments": {
+ "name": "tech_vendor_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'GENERAL'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_vendor_attachments_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_vendor_attachments_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_vendor_attachments",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_vendor_contacts": {
+ "name": "tech_vendor_contacts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_name": {
+ "name": "contact_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_position": {
+ "name": "contact_position",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_title": {
+ "name": "contact_title",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_email": {
+ "name": "contact_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_phone": {
+ "name": "contact_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_country": {
+ "name": "contact_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_primary": {
+ "name": "is_primary",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_vendor_contacts_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_vendor_contacts_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_vendor_contacts",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_vendor_possible_items": {
+ "name": "tech_vendor_possible_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "shipbuilding_item_id": {
+ "name": "shipbuilding_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "offshore_top_item_id": {
+ "name": "offshore_top_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "offshore_hull_item_id": {
+ "name": "offshore_hull_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_vendor_possible_items_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_vendor_possible_items_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_vendor_possible_items",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "tech_vendor_possible_items_shipbuilding_item_id_item_shipbuilding_id_fk": {
+ "name": "tech_vendor_possible_items_shipbuilding_item_id_item_shipbuilding_id_fk",
+ "tableFrom": "tech_vendor_possible_items",
+ "tableTo": "item_shipbuilding",
+ "columnsFrom": [
+ "shipbuilding_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "tech_vendor_possible_items_offshore_top_item_id_item_offshore_top_id_fk": {
+ "name": "tech_vendor_possible_items_offshore_top_item_id_item_offshore_top_id_fk",
+ "tableFrom": "tech_vendor_possible_items",
+ "tableTo": "item_offshore_top",
+ "columnsFrom": [
+ "offshore_top_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "tech_vendor_possible_items_offshore_hull_item_id_item_offshore_hull_id_fk": {
+ "name": "tech_vendor_possible_items_offshore_hull_item_id_item_offshore_hull_id_fk",
+ "tableFrom": "tech_vendor_possible_items",
+ "tableTo": "item_offshore_hull",
+ "columnsFrom": [
+ "offshore_hull_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_vendors": {
+ "name": "tech_vendors",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country_eng": {
+ "name": "country_eng",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country_fab": {
+ "name": "country_fab",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_name": {
+ "name": "agent_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_phone": {
+ "name": "agent_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_email": {
+ "name": "agent_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "address": {
+ "name": "address",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "website": {
+ "name": "website",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tech_vendor_type": {
+ "name": "tech_vendor_type",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "is_quote_comparison": {
+ "name": "is_quote_comparison",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "representative_name": {
+ "name": "representative_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_email": {
+ "name": "representative_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_phone": {
+ "name": "representative_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_birth": {
+ "name": "representative_birth",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "items": {
+ "name": "items",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.esg_answer_options": {
+ "name": "esg_answer_options",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "esg_evaluation_item_id": {
+ "name": "esg_evaluation_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "answer_text": {
+ "name": "answer_text",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "score": {
+ "name": "score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "order_index": {
+ "name": "order_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "esg_answer_options_esg_evaluation_item_id_esg_evaluation_items_id_fk": {
+ "name": "esg_answer_options_esg_evaluation_item_id_esg_evaluation_items_id_fk",
+ "tableFrom": "esg_answer_options",
+ "tableTo": "esg_evaluation_items",
+ "columnsFrom": [
+ "esg_evaluation_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.esg_evaluation_items": {
+ "name": "esg_evaluation_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "esg_evaluation_id": {
+ "name": "esg_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_item": {
+ "name": "evaluation_item",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_item_description": {
+ "name": "evaluation_item_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "order_index": {
+ "name": "order_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "esg_evaluation_items_esg_evaluation_id_esg_evaluations_id_fk": {
+ "name": "esg_evaluation_items_esg_evaluation_id_esg_evaluations_id_fk",
+ "tableFrom": "esg_evaluation_items",
+ "tableTo": "esg_evaluations",
+ "columnsFrom": [
+ "esg_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.esg_evaluation_responses": {
+ "name": "esg_evaluation_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "submission_id": {
+ "name": "submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "esg_evaluation_item_id": {
+ "name": "esg_evaluation_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "esg_answer_option_id": {
+ "name": "esg_answer_option_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "selected_score": {
+ "name": "selected_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "additional_comments": {
+ "name": "additional_comments",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "esg_evaluation_responses_submission_id_evaluation_submissions_id_fk": {
+ "name": "esg_evaluation_responses_submission_id_evaluation_submissions_id_fk",
+ "tableFrom": "esg_evaluation_responses",
+ "tableTo": "evaluation_submissions",
+ "columnsFrom": [
+ "submission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "esg_evaluation_responses_esg_evaluation_item_id_esg_evaluation_items_id_fk": {
+ "name": "esg_evaluation_responses_esg_evaluation_item_id_esg_evaluation_items_id_fk",
+ "tableFrom": "esg_evaluation_responses",
+ "tableTo": "esg_evaluation_items",
+ "columnsFrom": [
+ "esg_evaluation_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "esg_evaluation_responses_esg_answer_option_id_esg_answer_options_id_fk": {
+ "name": "esg_evaluation_responses_esg_answer_option_id_esg_answer_options_id_fk",
+ "tableFrom": "esg_evaluation_responses",
+ "tableTo": "esg_answer_options",
+ "columnsFrom": [
+ "esg_answer_option_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.esg_evaluations": {
+ "name": "esg_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "serial_number": {
+ "name": "serial_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "inspection_item": {
+ "name": "inspection_item",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "esg_evaluations_serial_number_unique": {
+ "name": "esg_evaluations_serial_number_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "serial_number"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.evaluation_submissions": {
+ "name": "evaluation_submissions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "submission_id": {
+ "name": "submission_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "periodic_evaluation_id": {
+ "name": "periodic_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "company_id": {
+ "name": "company_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_round": {
+ "name": "evaluation_round",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submission_status": {
+ "name": "submission_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'draft'"
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewed_at": {
+ "name": "reviewed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewed_by": {
+ "name": "reviewed_by",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_comments": {
+ "name": "review_comments",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "average_esg_score": {
+ "name": "average_esg_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_general_items": {
+ "name": "total_general_items",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "completed_general_items": {
+ "name": "completed_general_items",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "total_esg_items": {
+ "name": "total_esg_items",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "completed_esg_items": {
+ "name": "completed_esg_items",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "evaluation_submissions_periodic_evaluation_id_periodic_evaluations_id_fk": {
+ "name": "evaluation_submissions_periodic_evaluation_id_periodic_evaluations_id_fk",
+ "tableFrom": "evaluation_submissions",
+ "tableTo": "periodic_evaluations",
+ "columnsFrom": [
+ "periodic_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "evaluation_submissions_company_id_vendors_id_fk": {
+ "name": "evaluation_submissions_company_id_vendors_id_fk",
+ "tableFrom": "evaluation_submissions",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "company_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "evaluation_submissions_submission_id_unique": {
+ "name": "evaluation_submissions_submission_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "submission_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.general_evaluation_responses": {
+ "name": "general_evaluation_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "submission_id": {
+ "name": "submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "general_evaluation_id": {
+ "name": "general_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_text": {
+ "name": "response_text",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_attachments": {
+ "name": "has_attachments",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "review_comments": {
+ "name": "review_comments",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "general_evaluation_responses_submission_id_evaluation_submissions_id_fk": {
+ "name": "general_evaluation_responses_submission_id_evaluation_submissions_id_fk",
+ "tableFrom": "general_evaluation_responses",
+ "tableTo": "evaluation_submissions",
+ "columnsFrom": [
+ "submission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "general_evaluation_responses_general_evaluation_id_general_evaluations_id_fk": {
+ "name": "general_evaluation_responses_general_evaluation_id_general_evaluations_id_fk",
+ "tableFrom": "general_evaluation_responses",
+ "tableTo": "general_evaluations",
+ "columnsFrom": [
+ "general_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.general_evaluations": {
+ "name": "general_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "serial_number": {
+ "name": "serial_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "inspection_item": {
+ "name": "inspection_item",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "general_evaluations_serial_number_unique": {
+ "name": "general_evaluations_serial_number_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "serial_number"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_evaluation_attachments": {
+ "name": "vendor_evaluation_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "file_id": {
+ "name": "file_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "submission_id": {
+ "name": "submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "general_evaluation_response_id": {
+ "name": "general_evaluation_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stored_file_name": {
+ "name": "stored_file_name",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mime_type": {
+ "name": "mime_type",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_evaluation_attachments_submission_id_evaluation_submissions_id_fk": {
+ "name": "vendor_evaluation_attachments_submission_id_evaluation_submissions_id_fk",
+ "tableFrom": "vendor_evaluation_attachments",
+ "tableTo": "evaluation_submissions",
+ "columnsFrom": [
+ "submission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_evaluation_attachments_general_evaluation_response_id_general_evaluation_responses_id_fk": {
+ "name": "vendor_evaluation_attachments_general_evaluation_response_id_general_evaluation_responses_id_fk",
+ "tableFrom": "vendor_evaluation_attachments",
+ "tableTo": "general_evaluation_responses",
+ "columnsFrom": [
+ "general_evaluation_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "vendor_evaluation_attachments_file_id_unique": {
+ "name": "vendor_evaluation_attachments_file_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "file_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.evaluation_target_reviewers": {
+ "name": "evaluation_target_reviewers",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_target_id": {
+ "name": "evaluation_target_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_name_from": {
+ "name": "department_name_from",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_user_id": {
+ "name": "reviewer_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assigned_at": {
+ "name": "assigned_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "assigned_by": {
+ "name": "assigned_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "evaluation_target_reviewers_evaluation_target_id_evaluation_targets_id_fk": {
+ "name": "evaluation_target_reviewers_evaluation_target_id_evaluation_targets_id_fk",
+ "tableFrom": "evaluation_target_reviewers",
+ "tableTo": "evaluation_targets",
+ "columnsFrom": [
+ "evaluation_target_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "evaluation_target_reviewers_reviewer_user_id_users_id_fk": {
+ "name": "evaluation_target_reviewers_reviewer_user_id_users_id_fk",
+ "tableFrom": "evaluation_target_reviewers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "reviewer_user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "evaluation_target_reviewers_assigned_by_users_id_fk": {
+ "name": "evaluation_target_reviewers_assigned_by_users_id_fk",
+ "tableFrom": "evaluation_target_reviewers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "assigned_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_target_department": {
+ "name": "unique_target_department",
+ "nullsNotDistinct": false,
+ "columns": [
+ "evaluation_target_id",
+ "department_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.evaluation_target_reviews": {
+ "name": "evaluation_target_reviews",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_target_id": {
+ "name": "evaluation_target_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "reviewer_user_id": {
+ "name": "reviewer_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_approved": {
+ "name": "is_approved",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_comment": {
+ "name": "review_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewed_at": {
+ "name": "reviewed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "evaluation_target_reviews_evaluation_target_id_evaluation_targets_id_fk": {
+ "name": "evaluation_target_reviews_evaluation_target_id_evaluation_targets_id_fk",
+ "tableFrom": "evaluation_target_reviews",
+ "tableTo": "evaluation_targets",
+ "columnsFrom": [
+ "evaluation_target_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "evaluation_target_reviews_reviewer_user_id_users_id_fk": {
+ "name": "evaluation_target_reviews_reviewer_user_id_users_id_fk",
+ "tableFrom": "evaluation_target_reviews",
+ "tableTo": "users",
+ "columnsFrom": [
+ "reviewer_user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_target_reviewer": {
+ "name": "unique_target_reviewer",
+ "nullsNotDistinct": false,
+ "columns": [
+ "evaluation_target_id",
+ "reviewer_user_id",
+ "department_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.evaluation_targets": {
+ "name": "evaluation_targets",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "division": {
+ "name": "division",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "admin_comment": {
+ "name": "admin_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "admin_user_id": {
+ "name": "admin_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consolidated_comment": {
+ "name": "consolidated_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consensus_status": {
+ "name": "consensus_status",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_by": {
+ "name": "confirmed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ld_claim_count": {
+ "name": "ld_claim_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "ld_claim_amount": {
+ "name": "ld_claim_amount",
+ "type": "numeric(15, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "ld_claim_currency": {
+ "name": "ld_claim_currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "evaluation_targets_vendor_id_vendors_id_fk": {
+ "name": "evaluation_targets_vendor_id_vendors_id_fk",
+ "tableFrom": "evaluation_targets",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "evaluation_targets_admin_user_id_users_id_fk": {
+ "name": "evaluation_targets_admin_user_id_users_id_fk",
+ "tableFrom": "evaluation_targets",
+ "tableTo": "users",
+ "columnsFrom": [
+ "admin_user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "evaluation_targets_confirmed_by_users_id_fk": {
+ "name": "evaluation_targets_confirmed_by_users_id_fk",
+ "tableFrom": "evaluation_targets",
+ "tableTo": "users",
+ "columnsFrom": [
+ "confirmed_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.periodic_evaluations": {
+ "name": "periodic_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_target_id": {
+ "name": "evaluation_target_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_period": {
+ "name": "evaluation_period",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "documents_submitted": {
+ "name": "documents_submitted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "submission_date": {
+ "name": "submission_date",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submission_deadline": {
+ "name": "submission_deadline",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_score": {
+ "name": "final_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_grade": {
+ "name": "final_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_score": {
+ "name": "evaluation_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_grade": {
+ "name": "evaluation_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "review_completed_at": {
+ "name": "review_completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_at": {
+ "name": "finalized_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_by": {
+ "name": "finalized_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_note": {
+ "name": "evaluation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "periodic_evaluations_evaluation_target_id_evaluation_targets_id_fk": {
+ "name": "periodic_evaluations_evaluation_target_id_evaluation_targets_id_fk",
+ "tableFrom": "periodic_evaluations",
+ "tableTo": "evaluation_targets",
+ "columnsFrom": [
+ "evaluation_target_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "periodic_evaluations_finalized_by_users_id_fk": {
+ "name": "periodic_evaluations_finalized_by_users_id_fk",
+ "tableFrom": "periodic_evaluations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "finalized_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_evaluation_target": {
+ "name": "unique_evaluation_target",
+ "nullsNotDistinct": false,
+ "columns": [
+ "evaluation_target_id",
+ "evaluation_period"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reviewer_evaluation_attachments": {
+ "name": "reviewer_evaluation_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "reviewer_evaluation_detail_id": {
+ "name": "reviewer_evaluation_detail_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stored_file_name": {
+ "name": "stored_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "public_path": {
+ "name": "public_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mime_type": {
+ "name": "mime_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_extension": {
+ "name": "file_extension",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "reviewer_evaluation_detail_id_idx": {
+ "name": "reviewer_evaluation_detail_id_idx",
+ "columns": [
+ {
+ "expression": "reviewer_evaluation_detail_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "reviewer_evaluation_attachments_reviewer_evaluation_detail_id_reviewer_evaluation_details_id_fk": {
+ "name": "reviewer_evaluation_attachments_reviewer_evaluation_detail_id_reviewer_evaluation_details_id_fk",
+ "tableFrom": "reviewer_evaluation_attachments",
+ "tableTo": "reviewer_evaluation_details",
+ "columnsFrom": [
+ "reviewer_evaluation_detail_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "reviewer_evaluation_attachments_uploaded_by_users_id_fk": {
+ "name": "reviewer_evaluation_attachments_uploaded_by_users_id_fk",
+ "tableFrom": "reviewer_evaluation_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reviewer_evaluation_details": {
+ "name": "reviewer_evaluation_details",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "reviewer_evaluation_id": {
+ "name": "reviewer_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "reg_eval_criteria_details_id": {
+ "name": "reg_eval_criteria_details_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score": {
+ "name": "score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "reviewer_evaluation_details_reviewer_evaluation_id_reviewer_evaluations_id_fk": {
+ "name": "reviewer_evaluation_details_reviewer_evaluation_id_reviewer_evaluations_id_fk",
+ "tableFrom": "reviewer_evaluation_details",
+ "tableTo": "reviewer_evaluations",
+ "columnsFrom": [
+ "reviewer_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "reviewer_evaluation_details_reg_eval_criteria_details_id_reg_eval_criteria_details_id_fk": {
+ "name": "reviewer_evaluation_details_reg_eval_criteria_details_id_reg_eval_criteria_details_id_fk",
+ "tableFrom": "reviewer_evaluation_details",
+ "tableTo": "reg_eval_criteria_details",
+ "columnsFrom": [
+ "reg_eval_criteria_details_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_reviewer_criteria": {
+ "name": "unique_reviewer_criteria",
+ "nullsNotDistinct": false,
+ "columns": [
+ "reviewer_evaluation_id",
+ "reg_eval_criteria_details_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reviewer_evaluations": {
+ "name": "reviewer_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "periodic_evaluation_id": {
+ "name": "periodic_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_target_reviewer_id": {
+ "name": "evaluation_target_reviewer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_completed": {
+ "name": "is_completed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_comment": {
+ "name": "reviewer_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "reviewer_evaluations_periodic_evaluation_id_periodic_evaluations_id_fk": {
+ "name": "reviewer_evaluations_periodic_evaluation_id_periodic_evaluations_id_fk",
+ "tableFrom": "reviewer_evaluations",
+ "tableTo": "periodic_evaluations",
+ "columnsFrom": [
+ "periodic_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "reviewer_evaluations_evaluation_target_reviewer_id_evaluation_target_reviewers_id_fk": {
+ "name": "reviewer_evaluations_evaluation_target_reviewer_id_evaluation_target_reviewers_id_fk",
+ "tableFrom": "reviewer_evaluations",
+ "tableTo": "evaluation_target_reviewers",
+ "columnsFrom": [
+ "evaluation_target_reviewer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_reviewer_evaluation": {
+ "name": "unique_reviewer_evaluation",
+ "nullsNotDistinct": false,
+ "columns": [
+ "periodic_evaluation_id",
+ "evaluation_target_reviewer_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reg_eval_criteria": {
+ "name": "reg_eval_criteria",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'quality'"
+ },
+ "category2": {
+ "name": "category2",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'processScore'"
+ },
+ "item": {
+ "name": "item",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'quality'"
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "range": {
+ "name": "range",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "variable_score_min ": {
+ "name": "variable_score_min ",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variable_score_max ": {
+ "name": "variable_score_max ",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variable_score_unit ": {
+ "name": "variable_score_unit ",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_type": {
+ "name": "score_type",
+ "type": "score_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'fixed'"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "reg_eval_criteria_created_by_users_id_fk": {
+ "name": "reg_eval_criteria_created_by_users_id_fk",
+ "tableFrom": "reg_eval_criteria",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "reg_eval_criteria_updated_by_users_id_fk": {
+ "name": "reg_eval_criteria_updated_by_users_id_fk",
+ "tableFrom": "reg_eval_criteria",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reg_eval_criteria_details": {
+ "name": "reg_eval_criteria_details",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "criteria_id": {
+ "name": "criteria_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "detail": {
+ "name": "detail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "order_index": {
+ "name": "order_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "score_equip_ship": {
+ "name": "score_equip_ship",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_equip_marine": {
+ "name": "score_equip_marine",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_bulk_ship": {
+ "name": "score_bulk_ship",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_bulk_marine": {
+ "name": "score_bulk_marine",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "reg_eval_criteria_details_criteria_id_reg_eval_criteria_id_fk": {
+ "name": "reg_eval_criteria_details_criteria_id_reg_eval_criteria_id_fk",
+ "tableFrom": "reg_eval_criteria_details",
+ "tableTo": "reg_eval_criteria",
+ "columnsFrom": [
+ "criteria_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.project_gtc_files": {
+ "name": "project_gtc_files",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mime_type": {
+ "name": "mime_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "project_gtc_files_project_id_projects_id_fk": {
+ "name": "project_gtc_files_project_id_projects_id_fk",
+ "tableFrom": "project_gtc_files",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.menu_assignments": {
+ "name": "menu_assignments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "menu_assignments_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "menu_path": {
+ "name": "menu_path",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "menu_title": {
+ "name": "menu_title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "menu_description": {
+ "name": "menu_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "menu_group": {
+ "name": "menu_group",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "section_title": {
+ "name": "section_title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "domain": {
+ "name": "domain",
+ "type": "user_domain",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'evcp'"
+ },
+ "manager1_id": {
+ "name": "manager1_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager2_id": {
+ "name": "manager2_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "menu_assignments_path_idx": {
+ "name": "menu_assignments_path_idx",
+ "columns": [
+ {
+ "expression": "menu_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_assignments_manager1_idx": {
+ "name": "menu_assignments_manager1_idx",
+ "columns": [
+ {
+ "expression": "manager1_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_assignments_manager2_idx": {
+ "name": "menu_assignments_manager2_idx",
+ "columns": [
+ {
+ "expression": "manager2_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_assignments_domain_idx": {
+ "name": "menu_assignments_domain_idx",
+ "columns": [
+ {
+ "expression": "domain",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "menu_assignments_manager1_id_users_id_fk": {
+ "name": "menu_assignments_manager1_id_users_id_fk",
+ "tableFrom": "menu_assignments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "manager1_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "menu_assignments_manager2_id_users_id_fk": {
+ "name": "menu_assignments_manager2_id_users_id_fk",
+ "tableFrom": "menu_assignments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "manager2_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "menu_assignments_menu_path_unique": {
+ "name": "menu_assignments_menu_path_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "menu_path"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.page_information": {
+ "name": "page_information",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "page_path": {
+ "name": "page_path",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "page_name": {
+ "name": "page_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "information_content": {
+ "name": "information_content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attachment_file_name": {
+ "name": "attachment_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_file_path": {
+ "name": "attachment_file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_file_size": {
+ "name": "attachment_file_size",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "page_information_page_path_unique": {
+ "name": "page_information_page_path_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "page_path"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.qna": {
+ "name": "qna",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "qna_category",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "deleted_at": {
+ "name": "deleted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "idx_qna_author": {
+ "name": "idx_qna_author",
+ "columns": [
+ {
+ "expression": "author",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "qna_author_users_id_fk": {
+ "name": "qna_author_users_id_fk",
+ "tableFrom": "qna",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.qna_answer": {
+ "name": "qna_answer",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "qna_id": {
+ "name": "qna_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "deleted_at": {
+ "name": "deleted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "idx_answer_qna": {
+ "name": "idx_answer_qna",
+ "columns": [
+ {
+ "expression": "qna_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_answer_author": {
+ "name": "idx_answer_author",
+ "columns": [
+ {
+ "expression": "author",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "qna_answer_qna_id_qna_id_fk": {
+ "name": "qna_answer_qna_id_qna_id_fk",
+ "tableFrom": "qna_answer",
+ "tableTo": "qna",
+ "columnsFrom": [
+ "qna_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "qna_answer_author_users_id_fk": {
+ "name": "qna_answer_author_users_id_fk",
+ "tableFrom": "qna_answer",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.qna_comments": {
+ "name": "qna_comments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "answer_id": {
+ "name": "answer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_comment_id": {
+ "name": "parent_comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "deleted_at": {
+ "name": "deleted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "idx_comment_answer": {
+ "name": "idx_comment_answer",
+ "columns": [
+ {
+ "expression": "answer_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_comment_parent": {
+ "name": "idx_comment_parent",
+ "columns": [
+ {
+ "expression": "parent_comment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "qna_comments_author_users_id_fk": {
+ "name": "qna_comments_author_users_id_fk",
+ "tableFrom": "qna_comments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "qna_comments_answer_id_qna_answer_id_fk": {
+ "name": "qna_comments_answer_id_qna_answer_id_fk",
+ "tableFrom": "qna_comments",
+ "tableTo": "qna_answer",
+ "columnsFrom": [
+ "answer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.notice": {
+ "name": "notice",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "page_path": {
+ "name": "page_path",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author_id": {
+ "name": "author_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "notice_author_id_users_id_fk": {
+ "name": "notice_author_id_users_id_fk",
+ "tableFrom": "notice",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.daily_access_stats": {
+ "name": "daily_access_stats",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "date": {
+ "name": "date",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "total_visits": {
+ "name": "total_visits",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "unique_users": {
+ "name": "unique_users",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "total_sessions": {
+ "name": "total_sessions",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "avg_session_duration": {
+ "name": "avg_session_duration",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.file_download_logs": {
+ "name": "file_download_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "file_id": {
+ "name": "file_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_email": {
+ "name": "user_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_name": {
+ "name": "user_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_role": {
+ "name": "user_role",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_ip": {
+ "name": "user_ip",
+ "type": "inet",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_agent": {
+ "name": "user_agent",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "downloaded_at": {
+ "name": "downloaded_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "success": {
+ "name": "success",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "error_message": {
+ "name": "error_message",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "request_id": {
+ "name": "request_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "referer": {
+ "name": "referer",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "download_duration_ms": {
+ "name": "download_duration_ms",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.login_sessions": {
+ "name": "login_sessions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "login_at": {
+ "name": "login_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "logout_at": {
+ "name": "logout_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ip_address": {
+ "name": "ip_address",
+ "type": "inet",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_agent": {
+ "name": "user_agent",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "session_token": {
+ "name": "session_token",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "nextauth_session_id": {
+ "name": "nextauth_session_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "auth_method": {
+ "name": "auth_method",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "last_activity_at": {
+ "name": "last_activity_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "session_expired_at": {
+ "name": "session_expired_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "login_sessions_user_id_users_id_fk": {
+ "name": "login_sessions_user_id_users_id_fk",
+ "tableFrom": "login_sessions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "login_sessions_session_token_unique": {
+ "name": "login_sessions_session_token_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "session_token"
+ ]
+ },
+ "login_sessions_nextauth_session_id_unique": {
+ "name": "login_sessions_nextauth_session_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "nextauth_session_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.page_visits": {
+ "name": "page_visits",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "route": {
+ "name": "route",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "page_title": {
+ "name": "page_title",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "referrer": {
+ "name": "referrer",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ip_address": {
+ "name": "ip_address",
+ "type": "inet",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_agent": {
+ "name": "user_agent",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "visited_at": {
+ "name": "visited_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "duration": {
+ "name": "duration",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "query_params": {
+ "name": "query_params",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "device_type": {
+ "name": "device_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "browser_name": {
+ "name": "browser_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "os_name": {
+ "name": "os_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "page_visits_user_id_users_id_fk": {
+ "name": "page_visits_user_id_users_id_fk",
+ "tableFrom": "page_visits",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "page_visits_session_id_login_sessions_id_fk": {
+ "name": "page_visits_session_id_login_sessions_id_fk",
+ "tableFrom": "page_visits",
+ "tableTo": "login_sessions",
+ "columnsFrom": [
+ "session_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.temp_auth_sessions": {
+ "name": "temp_auth_sessions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "temp_auth_key": {
+ "name": "temp_auth_key",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "auth_method": {
+ "name": "auth_method",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "expires_at": {
+ "name": "expires_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_used": {
+ "name": "is_used",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "temp_auth_sessions_user_id_users_id_fk": {
+ "name": "temp_auth_sessions_user_id_users_id_fk",
+ "tableFrom": "temp_auth_sessions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "temp_auth_sessions_temp_auth_key_unique": {
+ "name": "temp_auth_sessions_temp_auth_key_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "temp_auth_key"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.user_download_stats": {
+ "name": "user_download_stats",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "date": {
+ "name": "date",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "total_downloads": {
+ "name": "total_downloads",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "total_bytes": {
+ "name": "total_bytes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "unique_files": {
+ "name": "unique_files",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "last_download_at": {
+ "name": "last_download_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.notifications": {
+ "name": "notifications",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "message": {
+ "name": "message",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "related_record_id": {
+ "name": "related_record_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "related_record_type": {
+ "name": "related_record_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_read": {
+ "name": "is_read",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "read_at": {
+ "name": "read_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "idx_notifications_user_id": {
+ "name": "idx_notifications_user_id",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_notifications_created_at": {
+ "name": "idx_notifications_created_at",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": false,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_notifications_is_read": {
+ "name": "idx_notifications_is_read",
+ "columns": [
+ {
+ "expression": "is_read",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_notifications_user_read": {
+ "name": "idx_notifications_user_read",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "is_read",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.template_history": {
+ "name": "template_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "template_id": {
+ "name": "template_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "change_description": {
+ "name": "change_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "changed_by": {
+ "name": "changed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "template_history_template_id_templates_id_fk": {
+ "name": "template_history_template_id_templates_id_fk",
+ "tableFrom": "template_history",
+ "tableTo": "templates",
+ "columnsFrom": [
+ "template_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "template_history_changed_by_users_id_fk": {
+ "name": "template_history_changed_by_users_id_fk",
+ "tableFrom": "template_history",
+ "tableTo": "users",
+ "columnsFrom": [
+ "changed_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.template_variables": {
+ "name": "template_variables",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "template_id": {
+ "name": "template_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "variable_name": {
+ "name": "variable_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "variable_type": {
+ "name": "variable_type",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "default_value": {
+ "name": "default_value",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_required": {
+ "name": "is_required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "validation_rule": {
+ "name": "validation_rule",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "display_order": {
+ "name": "display_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "template_variables_template_id_templates_id_fk": {
+ "name": "template_variables_template_id_templates_id_fk",
+ "tableFrom": "template_variables",
+ "tableTo": "templates",
+ "columnsFrom": [
+ "template_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.templates": {
+ "name": "templates",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "category": {
+ "name": "category",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sample_data": {
+ "name": "sample_data",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'{}'::jsonb"
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "templates_created_by_users_id_fk": {
+ "name": "templates_created_by_users_id_fk",
+ "tableFrom": "templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "templates_slug_unique": {
+ "name": "templates_slug_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "slug"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_clauses": {
+ "name": "gtc_clauses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_number": {
+ "name": "item_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "subtitle": {
+ "name": "subtitle",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "depth": {
+ "name": "depth",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "full_path": {
+ "name": "full_path",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "images": {
+ "name": "images",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "gtc_clauses_document_item_number_idx": {
+ "name": "gtc_clauses_document_item_number_idx",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "item_number",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_clauses_document_idx": {
+ "name": "gtc_clauses_document_idx",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_clauses_parent_idx": {
+ "name": "gtc_clauses_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_clauses_full_path_idx": {
+ "name": "gtc_clauses_full_path_idx",
+ "columns": [
+ {
+ "expression": "full_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_clauses_document_id_gtc_documents_id_fk": {
+ "name": "gtc_clauses_document_id_gtc_documents_id_fk",
+ "tableFrom": "gtc_clauses",
+ "tableTo": "gtc_documents",
+ "columnsFrom": [
+ "document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_clauses_created_by_id_users_id_fk": {
+ "name": "gtc_clauses_created_by_id_users_id_fk",
+ "tableFrom": "gtc_clauses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_clauses_updated_by_id_users_id_fk": {
+ "name": "gtc_clauses_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_clauses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_documents": {
+ "name": "gtc_documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "gtc_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision": {
+ "name": "revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ }
+ },
+ "indexes": {
+ "gtc_project_revision_idx": {
+ "name": "gtc_project_revision_idx",
+ "columns": [
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "revision",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_type_idx": {
+ "name": "gtc_type_idx",
+ "columns": [
+ {
+ "expression": "type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_project_idx": {
+ "name": "gtc_project_idx",
+ "columns": [
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_created_at_idx": {
+ "name": "gtc_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_updated_at_idx": {
+ "name": "gtc_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_documents_project_id_projects_id_fk": {
+ "name": "gtc_documents_project_id_projects_id_fk",
+ "tableFrom": "gtc_documents",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_documents_created_by_id_users_id_fk": {
+ "name": "gtc_documents_created_by_id_users_id_fk",
+ "tableFrom": "gtc_documents",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_documents_updated_by_id_users_id_fk": {
+ "name": "gtc_documents_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_documents",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_negotiation_history": {
+ "name": "gtc_negotiation_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_clause_id": {
+ "name": "vendor_clause_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "previous_status": {
+ "name": "previous_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_status": {
+ "name": "new_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "changed_fields": {
+ "name": "changed_fields",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachments": {
+ "name": "attachments",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "actor_type": {
+ "name": "actor_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "actor_id": {
+ "name": "actor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "actor_name": {
+ "name": "actor_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "actor_email": {
+ "name": "actor_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "gtc_negotiation_history_vendor_clause_idx": {
+ "name": "gtc_negotiation_history_vendor_clause_idx",
+ "columns": [
+ {
+ "expression": "vendor_clause_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_negotiation_history_action_idx": {
+ "name": "gtc_negotiation_history_action_idx",
+ "columns": [
+ {
+ "expression": "action",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_negotiation_history_created_at_idx": {
+ "name": "gtc_negotiation_history_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_negotiation_history_vendor_clause_id_gtc_vendor_clauses_id_fk": {
+ "name": "gtc_negotiation_history_vendor_clause_id_gtc_vendor_clauses_id_fk",
+ "tableFrom": "gtc_negotiation_history",
+ "tableTo": "gtc_vendor_clauses",
+ "columnsFrom": [
+ "vendor_clause_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_negotiation_history_actor_id_users_id_fk": {
+ "name": "gtc_negotiation_history_actor_id_users_id_fk",
+ "tableFrom": "gtc_negotiation_history",
+ "tableTo": "users",
+ "columnsFrom": [
+ "actor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_templates": {
+ "name": "gtc_templates",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'1.0'"
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variable_metadata": {
+ "name": "variable_metadata",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "is_default": {
+ "name": "is_default",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "gtc_templates_name_idx": {
+ "name": "gtc_templates_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_templates_is_default_idx": {
+ "name": "gtc_templates_is_default_idx",
+ "columns": [
+ {
+ "expression": "is_default",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_templates_document_id_gtc_documents_id_fk": {
+ "name": "gtc_templates_document_id_gtc_documents_id_fk",
+ "tableFrom": "gtc_templates",
+ "tableTo": "gtc_documents",
+ "columnsFrom": [
+ "document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_templates_created_by_id_users_id_fk": {
+ "name": "gtc_templates_created_by_id_users_id_fk",
+ "tableFrom": "gtc_templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_templates_updated_by_id_users_id_fk": {
+ "name": "gtc_templates_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_vendor_clauses": {
+ "name": "gtc_vendor_clauses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_document_id": {
+ "name": "vendor_document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "base_clause_id": {
+ "name": "base_clause_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "modified_item_number": {
+ "name": "modified_item_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "modified_category": {
+ "name": "modified_category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "modified_subtitle": {
+ "name": "modified_subtitle",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "modified_content": {
+ "name": "modified_content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "depth": {
+ "name": "depth",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "full_path": {
+ "name": "full_path",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_number_modified": {
+ "name": "is_number_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_category_modified": {
+ "name": "is_category_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_subtitle_modified": {
+ "name": "is_subtitle_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_content_modified": {
+ "name": "is_content_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "review_status": {
+ "name": "review_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'draft'"
+ },
+ "negotiation_note": {
+ "name": "negotiation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "is_excluded": {
+ "name": "is_excluded",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "gtc_vendor_clauses_vendor_base_idx": {
+ "name": "gtc_vendor_clauses_vendor_base_idx",
+ "columns": [
+ {
+ "expression": "vendor_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "base_clause_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_clauses_vendor_document_idx": {
+ "name": "gtc_vendor_clauses_vendor_document_idx",
+ "columns": [
+ {
+ "expression": "vendor_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_clauses_base_clause_idx": {
+ "name": "gtc_vendor_clauses_base_clause_idx",
+ "columns": [
+ {
+ "expression": "base_clause_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_clauses_parent_idx": {
+ "name": "gtc_vendor_clauses_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_clauses_review_status_idx": {
+ "name": "gtc_vendor_clauses_review_status_idx",
+ "columns": [
+ {
+ "expression": "review_status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_vendor_clauses_vendor_document_id_gtc_vendor_documents_id_fk": {
+ "name": "gtc_vendor_clauses_vendor_document_id_gtc_vendor_documents_id_fk",
+ "tableFrom": "gtc_vendor_clauses",
+ "tableTo": "gtc_vendor_documents",
+ "columnsFrom": [
+ "vendor_document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_clauses_base_clause_id_gtc_clauses_id_fk": {
+ "name": "gtc_vendor_clauses_base_clause_id_gtc_clauses_id_fk",
+ "tableFrom": "gtc_vendor_clauses",
+ "tableTo": "gtc_clauses",
+ "columnsFrom": [
+ "base_clause_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_clauses_created_by_id_users_id_fk": {
+ "name": "gtc_vendor_clauses_created_by_id_users_id_fk",
+ "tableFrom": "gtc_vendor_clauses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_clauses_updated_by_id_users_id_fk": {
+ "name": "gtc_vendor_clauses_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_vendor_clauses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_vendor_documents": {
+ "name": "gtc_vendor_documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "base_document_id": {
+ "name": "base_document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'1.0'"
+ },
+ "review_status": {
+ "name": "review_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'draft'"
+ },
+ "negotiation_start_date": {
+ "name": "negotiation_start_date",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "negotiation_end_date": {
+ "name": "negotiation_end_date",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approval_date": {
+ "name": "approval_date",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_file_name": {
+ "name": "final_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_file_path": {
+ "name": "final_file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_file_size": {
+ "name": "final_file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "gtc_vendor_documents_base_vendor_idx": {
+ "name": "gtc_vendor_documents_base_vendor_idx",
+ "columns": [
+ {
+ "expression": "base_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_documents_vendor_idx": {
+ "name": "gtc_vendor_documents_vendor_idx",
+ "columns": [
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_documents_base_document_idx": {
+ "name": "gtc_vendor_documents_base_document_idx",
+ "columns": [
+ {
+ "expression": "base_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_documents_review_status_idx": {
+ "name": "gtc_vendor_documents_review_status_idx",
+ "columns": [
+ {
+ "expression": "review_status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_vendor_documents_base_document_id_gtc_documents_id_fk": {
+ "name": "gtc_vendor_documents_base_document_id_gtc_documents_id_fk",
+ "tableFrom": "gtc_vendor_documents",
+ "tableTo": "gtc_documents",
+ "columnsFrom": [
+ "base_document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_documents_vendor_id_vendors_id_fk": {
+ "name": "gtc_vendor_documents_vendor_id_vendors_id_fk",
+ "tableFrom": "gtc_vendor_documents",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_documents_created_by_id_users_id_fk": {
+ "name": "gtc_vendor_documents_created_by_id_users_id_fk",
+ "tableFrom": "gtc_vendor_documents",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_documents_updated_by_id_users_id_fk": {
+ "name": "gtc_vendor_documents_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_vendor_documents",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.code_groups": {
+ "name": "code_groups",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "group_id": {
+ "name": "group_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code_format": {
+ "name": "code_format",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "expressions": {
+ "name": "expressions",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "control_type": {
+ "name": "control_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "code_groups_group_id_unique": {
+ "name": "code_groups_group_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "group_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.combo_box_options": {
+ "name": "combo_box_options",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "combo_box_setting_id": {
+ "name": "combo_box_setting_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "combo_box_options_combo_box_setting_id_combo_box_settings_id_fk": {
+ "name": "combo_box_options_combo_box_setting_id_combo_box_settings_id_fk",
+ "tableFrom": "combo_box_options",
+ "tableTo": "combo_box_settings",
+ "columnsFrom": [
+ "combo_box_setting_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.combo_box_settings": {
+ "name": "combo_box_settings",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code_group_id": {
+ "name": "code_group_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "combo_box_settings_code_group_id_code_groups_id_fk": {
+ "name": "combo_box_settings_code_group_id_code_groups_id_fk",
+ "tableFrom": "combo_box_settings",
+ "tableTo": "code_groups",
+ "columnsFrom": [
+ "code_group_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_class_options_new": {
+ "name": "document_class_options_new",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_class_id": {
+ "name": "document_class_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "option_value": {
+ "name": "option_value",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "option_code": {
+ "name": "option_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "document_class_options_new_document_class_id_document_classes_id_fk": {
+ "name": "document_class_options_new_document_class_id_document_classes_id_fk",
+ "tableFrom": "document_class_options_new",
+ "tableTo": "document_classes",
+ "columnsFrom": [
+ "document_class_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_classes": {
+ "name": "document_classes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code_group_id": {
+ "name": "code_group_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "document_classes_code_group_id_code_groups_id_fk": {
+ "name": "document_classes_code_group_id_code_groups_id_fk",
+ "tableFrom": "document_classes",
+ "tableTo": "code_groups",
+ "columnsFrom": [
+ "code_group_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "document_classes_code_unique": {
+ "name": "document_classes_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_number_type_configs": {
+ "name": "document_number_type_configs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_number_type_id": {
+ "name": "document_number_type_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code_group_id": {
+ "name": "code_group_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "document_class_id": {
+ "name": "document_class_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sdq": {
+ "name": "sdq",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "document_number_type_configs_document_number_type_id_document_number_types_id_fk": {
+ "name": "document_number_type_configs_document_number_type_id_document_number_types_id_fk",
+ "tableFrom": "document_number_type_configs",
+ "tableTo": "document_number_types",
+ "columnsFrom": [
+ "document_number_type_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "document_number_type_configs_code_group_id_code_groups_id_fk": {
+ "name": "document_number_type_configs_code_group_id_code_groups_id_fk",
+ "tableFrom": "document_number_type_configs",
+ "tableTo": "code_groups",
+ "columnsFrom": [
+ "code_group_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "document_number_type_configs_document_class_id_document_classes_id_fk": {
+ "name": "document_number_type_configs_document_class_id_document_classes_id_fk",
+ "tableFrom": "document_number_type_configs",
+ "tableTo": "document_classes",
+ "columnsFrom": [
+ "document_class_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_number_types": {
+ "name": "document_number_types",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "document_number_types_name_unique": {
+ "name": "document_number_types_name_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "name"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.department_domain_assignment_history": {
+ "name": "department_domain_assignment_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "department_domain_assignment_history_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "assignment_id": {
+ "name": "assignment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "previous_values": {
+ "name": "previous_values",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_values": {
+ "name": "new_values",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "changed_by": {
+ "name": "changed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "change_reason": {
+ "name": "change_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.department_domain_assignments": {
+ "name": "department_domain_assignments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "department_domain_assignments_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "company_code": {
+ "name": "company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_name": {
+ "name": "department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assigned_domain": {
+ "name": "assigned_domain",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.department_domain_mappings": {
+ "name": "department_domain_mappings",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "department_domain_mappings_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "assignment_id": {
+ "name": "assignment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_company_code": {
+ "name": "old_company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_department_code": {
+ "name": "old_department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_department_name": {
+ "name": "old_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_company_code": {
+ "name": "new_company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_department_code": {
+ "name": "new_department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_department_name": {
+ "name": "new_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mapping_status": {
+ "name": "mapping_status",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "mapped_by": {
+ "name": "mapped_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mapped_at": {
+ "name": "mapped_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER": {
+ "name": "CUSTOMER_MASTER_BP_HEADER",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_HEADER_unique": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_HEADER_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "BP_HEADER"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADDRNO": {
+ "name": "ADDRNO",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CONSNUMBER": {
+ "name": "CONSNUMBER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DATE_FROM": {
+ "name": "DATE_FROM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SMTP_ADDR": {
+ "name": "SMTP_ADDR",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CONSNUMBER": {
+ "name": "CONSNUMBER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "COUNTRY": {
+ "name": "COUNTRY",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATE_FROM": {
+ "name": "DATE_FROM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "FAX_EXTENS": {
+ "name": "FAX_EXTENS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAX_NUMBER": {
+ "name": "FAX_NUMBER",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CITY1": {
+ "name": "CITY1",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CITY2": {
+ "name": "CITY2",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COUNTRY": {
+ "name": "COUNTRY",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOUSE_NUM1": {
+ "name": "HOUSE_NUM1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANGU": {
+ "name": "LANGU",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME1": {
+ "name": "NAME1",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME2": {
+ "name": "NAME2",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME3": {
+ "name": "NAME3",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME4": {
+ "name": "NAME4",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NATION": {
+ "name": "NATION",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POST_CODE1": {
+ "name": "POST_CODE1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POST_CODE2": {
+ "name": "POST_CODE2",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PO_BOX": {
+ "name": "PO_BOX",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGION": {
+ "name": "REGION",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SORT1": {
+ "name": "SORT1",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SORT2": {
+ "name": "SORT2",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STREET": {
+ "name": "STREET",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAXJURCODE": {
+ "name": "TAXJURCODE",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TIME_ZONE": {
+ "name": "TIME_ZONE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TITLE": {
+ "name": "TITLE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRANSPZONE": {
+ "name": "TRANSPZONE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CONSNUMBER": {
+ "name": "CONSNUMBER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "COUNTRY": {
+ "name": "COUNTRY",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATE_FROM": {
+ "name": "DATE_FROM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "R3_USER": {
+ "name": "R3_USER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TEL_EXTENS": {
+ "name": "TEL_EXTENS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TEL_NUMBER": {
+ "name": "TEL_NUMBER",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CONSNUMBER": {
+ "name": "CONSNUMBER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DATE_FROM": {
+ "name": "DATE_FROM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "URI_ADDR": {
+ "name": "URI_ADDR",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ANRED": {
+ "name": "ANRED",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AUFSD": {
+ "name": "AUFSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAKSD": {
+ "name": "FAKSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GFORM": {
+ "name": "GFORM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JMJAH": {
+ "name": "JMJAH",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JMZAH": {
+ "name": "JMZAH",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "J_1KFREPRE": {
+ "name": "J_1KFREPRE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "J_1KFTBUS": {
+ "name": "J_1KFTBUS",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "J_1KFTIND": {
+ "name": "J_1KFTIND",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KATR1": {
+ "name": "KATR1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KDKG1": {
+ "name": "KDKG1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KTOKD": {
+ "name": "KTOKD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KUNNR": {
+ "name": "KUNNR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "LIFNR": {
+ "name": "LIFNR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LIFSD": {
+ "name": "LIFSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOEVM": {
+ "name": "LOEVM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NIELS": {
+ "name": "NIELS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NODEL": {
+ "name": "NODEL",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUGRP": {
+ "name": "PUGRP",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPERR": {
+ "name": "SPERR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCD1": {
+ "name": "STCD1",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCD2": {
+ "name": "STCD2",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCD3": {
+ "name": "STCD3",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCD4": {
+ "name": "STCD4",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCEG": {
+ "name": "STCEG",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMJAH": {
+ "name": "UMJAH",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UWAER": {
+ "name": "UWAER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VBUND": {
+ "name": "VBUND",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPDT_C": {
+ "name": "ZZAPPDT_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPTM_C": {
+ "name": "ZZAPPTM_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPUS_C": {
+ "name": "ZZAPPUS_C",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZBA": {
+ "name": "ZZBA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZBRSCH_C": {
+ "name": "ZZBRSCH_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZCRMCD": {
+ "name": "ZZCRMCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKAR_C": {
+ "name": "ZZDOKAR_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKNR_C": {
+ "name": "ZZDOKNR_C",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKTL_C": {
+ "name": "ZZDOKTL_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKVR_C": {
+ "name": "ZZDOKVR_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDUNS": {
+ "name": "ZZDUNS",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTBU": {
+ "name": "ZZFTBU",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTBUNM": {
+ "name": "ZZFTBUNM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTDT": {
+ "name": "ZZFTDT",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTDTNM": {
+ "name": "ZZFTDTNM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTGT": {
+ "name": "ZZFTGT",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTGTNM": {
+ "name": "ZZFTGTNM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZINBFLGC": {
+ "name": "ZZINBFLGC",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT_C": {
+ "name": "ZZLAMDT_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM_C": {
+ "name": "ZZLAMTM_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS_C": {
+ "name": "ZZLAMUS_C",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZORT01_C": {
+ "name": "ZZORT01_C",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZORT02_C": {
+ "name": "ZZORT02_C",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREASON": {
+ "name": "ZZREASON",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT_C": {
+ "name": "ZZREGDT_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM_C": {
+ "name": "ZZREGTM_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS_C": {
+ "name": "ZZREGUS_C",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSTCDT_C": {
+ "name": "ZZSTCDT_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSTRAS_C": {
+ "name": "ZZSTRAS_C",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSUBSEQ_C": {
+ "name": "ZZSUBSEQ_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "AKONT": {
+ "name": "AKONT",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BUKRS": {
+ "name": "BUKRS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "FDGRV": {
+ "name": "FDGRV",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOEVM": {
+ "name": "LOEVM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPERR": {
+ "name": "SPERR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZAHLS": {
+ "name": "ZAHLS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZTERM": {
+ "name": "ZTERM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZUAWA": {
+ "name": "ZUAWA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZWELS": {
+ "name": "ZWELS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "AUFSD": {
+ "name": "AUFSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AWAHR": {
+ "name": "AWAHR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BZIRK": {
+ "name": "BZIRK",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAKSD": {
+ "name": "FAKSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO1": {
+ "name": "INCO1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO2": {
+ "name": "INCO2",
+ "type": "varchar(28)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KALKS": {
+ "name": "KALKS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KDGRP": {
+ "name": "KDGRP",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KONDA": {
+ "name": "KONDA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KTGRD": {
+ "name": "KTGRD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KURST": {
+ "name": "KURST",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KZAZU": {
+ "name": "KZAZU",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LIFSD": {
+ "name": "LIFSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOEVM": {
+ "name": "LOEVM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LPRIO": {
+ "name": "LPRIO",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLTYP": {
+ "name": "PLTYP",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPART": {
+ "name": "SPART",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VERSG": {
+ "name": "VERSG",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VKBUR": {
+ "name": "VKBUR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VKGRP": {
+ "name": "VKGRP",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VKORG": {
+ "name": "VKORG",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VSBED": {
+ "name": "VSBED",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VTWEG": {
+ "name": "VTWEG",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VWERK": {
+ "name": "VWERK",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WAERS": {
+ "name": "WAERS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZTERM": {
+ "name": "ZTERM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEFPA": {
+ "name": "DEFPA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KUNN2": {
+ "name": "KUNN2",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PARVW": {
+ "name": "PARVW",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PARZA": {
+ "name": "PARZA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ALAND": {
+ "name": "ALAND",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TATYP": {
+ "name": "TATYP",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TAXKD": {
+ "name": "TAXKD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LAND1": {
+ "name": "LAND1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "STCEG": {
+ "name": "STCEG",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "TAXNUM": {
+ "name": "TAXNUM",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAXTYPE": {
+ "name": "TAXTYPE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.DEPARTMENT_CODE_CMCTB_DEPT_MDG": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BICD": {
+ "name": "BICD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZAREA": {
+ "name": "BIZAREA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CCCD": {
+ "name": "CCCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COMPCD": {
+ "name": "COMPCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CORPCD": {
+ "name": "CORPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DEPTLVL": {
+ "name": "DEPTLVL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEPTPOSNO": {
+ "name": "DEPTPOSNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DHEMPID": {
+ "name": "DHEMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GNCD": {
+ "name": "GNCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PCCD": {
+ "name": "PCCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDEPTCD": {
+ "name": "PDEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALIDFROMDT": {
+ "name": "VALIDFROMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALIDTODT": {
+ "name": "VALIDTODT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_unique": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "DEPTCD"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM",
+ "schema": "mdg",
+ "columns": {
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "COMPNM": {
+ "name": "COMPNM",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk",
+ "tableFrom": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM",
+ "tableTo": "DEPARTMENT_CODE_CMCTB_DEPT_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "DEPTCD"
+ ],
+ "columnsTo": [
+ "DEPTCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM",
+ "schema": "mdg",
+ "columns": {
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CORPNM": {
+ "name": "CORPNM",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk",
+ "tableFrom": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM",
+ "tableTo": "DEPARTMENT_CODE_CMCTB_DEPT_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "DEPTCD"
+ ],
+ "columnsTo": [
+ "DEPTCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM",
+ "schema": "mdg",
+ "columns": {
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk",
+ "tableFrom": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM",
+ "tableTo": "DEPARTMENT_CODE_CMCTB_DEPT_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "DEPTCD"
+ ],
+ "columnsTo": [
+ "DEPTCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADDRCNTRY": {
+ "name": "ADDRCNTRY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AEDAT": {
+ "name": "AEDAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AENAM": {
+ "name": "AENAM",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AEZET": {
+ "name": "AEZET",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BICD": {
+ "name": "BICD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZAREA": {
+ "name": "BIZAREA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BSCADDR": {
+ "name": "BSCADDR",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COMPCD": {
+ "name": "COMPCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CORPCD": {
+ "name": "CORPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COUNTRYCD": {
+ "name": "COUNTRYCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSFROMDT": {
+ "name": "CSFROMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTODT": {
+ "name": "CSTODT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CTIROLE": {
+ "name": "CTIROLE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL": {
+ "name": "DEL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEPENDDT": {
+ "name": "DEPENDDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DHJOBGRDCD": {
+ "name": "DHJOBGRDCD",
+ "type": "varchar(29)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DHNAME": {
+ "name": "DHNAME",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DHSINGLID": {
+ "name": "DHSINGLID",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DISPATCH": {
+ "name": "DISPATCH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DPSTARTDT": {
+ "name": "DPSTARTDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DTLADDR": {
+ "name": "DTLADDR",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DTLADDR2": {
+ "name": "DTLADDR2",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EMAIL": {
+ "name": "EMAIL",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EMPADR": {
+ "name": "EMPADR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "EMPTYPE": {
+ "name": "EMPTYPE",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ENGNAME": {
+ "name": "ENGNAME",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EPID": {
+ "name": "EPID",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ERDAT": {
+ "name": "ERDAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ERNAM": {
+ "name": "ERNAM",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ERZET": {
+ "name": "ERZET",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FORIGNFLG": {
+ "name": "FORIGNFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GJOBCD": {
+ "name": "GJOBCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GJOBDUTYCD": {
+ "name": "GJOBDUTYCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GJOBGRDCD": {
+ "name": "GJOBGRDCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GNCD": {
+ "name": "GNCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HRMANAGE": {
+ "name": "HRMANAGE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IDNO": {
+ "name": "IDNO",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBCD": {
+ "name": "JOBCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBCLASS": {
+ "name": "JOBCLASS",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBDUTYCD": {
+ "name": "JOBDUTYCD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBGRDCD": {
+ "name": "JOBGRDCD",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KTL_EMP": {
+ "name": "KTL_EMP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LVABSENCE": {
+ "name": "LVABSENCE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MBPHONE": {
+ "name": "MBPHONE",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME": {
+ "name": "NAME",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OKTL_EMPL": {
+ "name": "OKTL_EMPL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGBICD": {
+ "name": "ORGBICD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGCOMPCD": {
+ "name": "ORGCOMPCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGCORPCD": {
+ "name": "ORGCORPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGDEPTCD": {
+ "name": "ORGDEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGPDEPCD": {
+ "name": "ORGPDEPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PAYPLC": {
+ "name": "PAYPLC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDEPTCD": {
+ "name": "PDEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSTLCODE": {
+ "name": "PSTLCODE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RETIRE": {
+ "name": "RETIRE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SEX": {
+ "name": "SEX",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SINGLEID": {
+ "name": "SINGLEID",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SINGLRQ": {
+ "name": "SINGLRQ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SOCIALID": {
+ "name": "SOCIALID",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SOCIALID_DECR": {
+ "name": "SOCIALID_DECR",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SOJRNEMP": {
+ "name": "SOJRNEMP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELNUM": {
+ "name": "TELNUM",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TMPJDIV": {
+ "name": "TMPJDIV",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USEDSYS": {
+ "name": "USEDSYS",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALFROMDT": {
+ "name": "VALFROMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALTODT": {
+ "name": "VALTODT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WFREQUIRE": {
+ "name": "WFREQUIRE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WORKPLC": {
+ "name": "WORKPLC",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZPRFLG": {
+ "name": "ZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZBUKRS": {
+ "name": "ZZBUKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_unique": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "EMPID"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GTEXT": {
+ "name": "GTEXT",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BINM": {
+ "name": "BINM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "COMPNM": {
+ "name": "COMPNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CORPNM": {
+ "name": "CORPNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "COUNTRYNM": {
+ "name": "COUNTRYNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "PCCD": {
+ "name": "PCCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "KTEXT": {
+ "name": "KTEXT",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTEXT": {
+ "name": "LTEXT",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "JOBGRDNM": {
+ "name": "JOBGRDNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GJOBDUTYNM": {
+ "name": "GJOBDUTYNM",
+ "type": "varchar(21)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GJOBGRDNM": {
+ "name": "GJOBGRDNM",
+ "type": "varchar(21)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ISEXECUT": {
+ "name": "ISEXECUT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBGRDTYPE": {
+ "name": "JOBGRDTYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GJOBNM": {
+ "name": "GJOBNM",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GNNM": {
+ "name": "GNNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "JOBDUTYNM": {
+ "name": "JOBDUTYNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ISEXECUT": {
+ "name": "ISEXECUT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBGRDNM": {
+ "name": "JOBGRDNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBGRDTYPE": {
+ "name": "JOBGRDTYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "JOBNM": {
+ "name": "JOBNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LTEXT": {
+ "name": "LTEXT",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LTEXT": {
+ "name": "LTEXT",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BINM": {
+ "name": "BINM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "COMPNM": {
+ "name": "COMPNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CORPNM": {
+ "name": "CORPNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF": {
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADTL_01": {
+ "name": "ADTL_01",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADTL_02": {
+ "name": "ADTL_02",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CORPCD": {
+ "name": "CORPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "GRPCD": {
+ "name": "GRPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MAINCD": {
+ "name": "MAINCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VALIDFROMDT": {
+ "name": "VALIDFROMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALIDTODT": {
+ "name": "VALIDTODT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_GRPCD_unique": {
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_GRPCD_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "GRPCD"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME": {
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME",
+ "schema": "mdg",
+ "columns": {
+ "GRPCD": {
+ "name": "GRPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "NAME": {
+ "name": "NAME",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME_GRPCD_EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_GRPCD_fk": {
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME_GRPCD_EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_GRPCD_fk",
+ "tableFrom": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME",
+ "tableTo": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "GRPCD"
+ ],
+ "columnsTo": [
+ "GRPCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL": {
+ "name": "EQUP_MASTER_MATL",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BISMT": {
+ "name": "BISMT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GROES": {
+ "name": "GROES",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAGRV": {
+ "name": "MAGRV",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATKL": {
+ "name": "MATKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MBRSH": {
+ "name": "MBRSH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINS": {
+ "name": "MEINS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTAE": {
+ "name": "MSTAE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTDE": {
+ "name": "MSTDE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MTART": {
+ "name": "MTART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTGEW": {
+ "name": "NTGEW",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRDHA": {
+ "name": "PRDHA",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPART": {
+ "name": "SPART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VHART": {
+ "name": "VHART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPDT": {
+ "name": "ZZAPPDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPTM": {
+ "name": "ZZAPPTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPUS": {
+ "name": "ZZAPPUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDESC": {
+ "name": "ZZDESC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME": {
+ "name": "ZZNAME",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSPEC": {
+ "name": "ZZSPEC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "EQUP_MASTER_MATL_MATNR_unique": {
+ "name": "EQUP_MASTER_MATL_MATNR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "MATNR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_CHARASGN": {
+ "name": "EQUP_MASTER_MATL_CHARASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_CHARASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ATAW1": {
+ "name": "ATAW1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATAWE": {
+ "name": "ATAWE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATBEZ": {
+ "name": "ATBEZ",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLB": {
+ "name": "ATFLB",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLV": {
+ "name": "ATFLV",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATNAM": {
+ "name": "ATNAM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWRT": {
+ "name": "ATWRT",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWTB": {
+ "name": "ATWTB",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_CHARASGN_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_CHARASGN_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_CHARASGN",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_CLASSASGN": {
+ "name": "EQUP_MASTER_MATL_CLASSASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_CLASSASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_CLASSASGN_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_CLASSASGN_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_CLASSASGN",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_DESC": {
+ "name": "EQUP_MASTER_MATL_DESC",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_DESC_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "MAKTX": {
+ "name": "MAKTX",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_DESC_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_DESC_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_DESC",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_PLNT": {
+ "name": "EQUP_MASTER_MATL_PLNT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_PLNT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTA": {
+ "name": "MMSTA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTD": {
+ "name": "MMSTD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMTARP": {
+ "name": "ZZMTARP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_PLNT_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_PLNT_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_PLNT",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_UNIT": {
+ "name": "EQUP_MASTER_MATL_UNIT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_UNIT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINH": {
+ "name": "MEINH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREN": {
+ "name": "UMREN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREZ": {
+ "name": "UMREZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_UNIT_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_UNIT_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_UNIT",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL": {
+ "name": "MATERIAL_MASTER_PART_MATL",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BISMT": {
+ "name": "BISMT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GROES": {
+ "name": "GROES",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAGRV": {
+ "name": "MAGRV",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATKL": {
+ "name": "MATKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MBRSH": {
+ "name": "MBRSH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINS": {
+ "name": "MEINS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTAE": {
+ "name": "MSTAE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTDE": {
+ "name": "MSTDE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MTART": {
+ "name": "MTART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTGEW": {
+ "name": "NTGEW",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRDHA": {
+ "name": "PRDHA",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPART": {
+ "name": "SPART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VHART": {
+ "name": "VHART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZACT": {
+ "name": "ZZACT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPDT": {
+ "name": "ZZAPPDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPTM": {
+ "name": "ZZAPPTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPUS": {
+ "name": "ZZAPPUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZCERT": {
+ "name": "ZZCERT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDESC": {
+ "name": "ZZDESC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZINSP": {
+ "name": "ZZINSP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMMTYP": {
+ "name": "ZZMMTYP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMRC": {
+ "name": "ZZMRC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME": {
+ "name": "ZZNAME",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPJT": {
+ "name": "ZZPJT",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPLMID": {
+ "name": "ZZPLMID",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRCD_SCV_CTLP": {
+ "name": "ZZPRCD_SCV_CTLP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREPMAT": {
+ "name": "ZZREPMAT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREP_DIA": {
+ "name": "ZZREP_DIA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREP_DIA_UOM": {
+ "name": "ZZREP_DIA_UOM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREP_ITM_MATL": {
+ "name": "ZZREP_ITM_MATL",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSMID": {
+ "name": "ZZSMID",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSPEC": {
+ "name": "ZZSPEC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSTL": {
+ "name": "ZZSTL",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "MATERIAL_MASTER_PART_MATL_MATNR_unique": {
+ "name": "MATERIAL_MASTER_PART_MATL_MATNR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "MATNR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_CHARASGN": {
+ "name": "MATERIAL_MASTER_PART_MATL_CHARASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_CHARASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ATAW1": {
+ "name": "ATAW1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATAWE": {
+ "name": "ATAWE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATBEZ": {
+ "name": "ATBEZ",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLB": {
+ "name": "ATFLB",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLV": {
+ "name": "ATFLV",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATNAM": {
+ "name": "ATNAM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ATWRT": {
+ "name": "ATWRT",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWTB": {
+ "name": "ATWTB",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_CHARASGN_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_CHARASGN_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_CHARASGN",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_CLASSASGN": {
+ "name": "MATERIAL_MASTER_PART_MATL_CLASSASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_CLASSASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_CLASSASGN_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_CLASSASGN_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_CLASSASGN",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_DESC": {
+ "name": "MATERIAL_MASTER_PART_MATL_DESC",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_DESC_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "MAKTX": {
+ "name": "MAKTX",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_DESC_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_DESC_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_DESC",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_PLNT": {
+ "name": "MATERIAL_MASTER_PART_MATL_PLNT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_PLNT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTA": {
+ "name": "MMSTA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTD": {
+ "name": "MMSTD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMTARP": {
+ "name": "ZZMTARP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_PLNT_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_PLNT_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_PLNT",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_UNIT": {
+ "name": "MATERIAL_MASTER_PART_MATL_UNIT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_UNIT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BREIT": {
+ "name": "BREIT",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOEHE": {
+ "name": "HOEHE",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LAENG": {
+ "name": "LAENG",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINH": {
+ "name": "MEINH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "UMREN": {
+ "name": "UMREN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREZ": {
+ "name": "UMREZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLUM": {
+ "name": "VOLUM",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_UNIT_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_UNIT_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_UNIT",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE": {
+ "name": "MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_CD": {
+ "name": "MAT_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MAT_ID": {
+ "name": "MAT_ID",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE_MAT_CD_unique": {
+ "name": "MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE_MAT_CD_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "MAT_CD"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL": {
+ "name": "MODEL_MASTER_MATL",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BISMT": {
+ "name": "BISMT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GROES": {
+ "name": "GROES",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAGRV": {
+ "name": "MAGRV",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATKL": {
+ "name": "MATKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MBRSH": {
+ "name": "MBRSH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINS": {
+ "name": "MEINS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTAE": {
+ "name": "MSTAE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTDE": {
+ "name": "MSTDE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MTART": {
+ "name": "MTART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTGEW": {
+ "name": "NTGEW",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRDHA": {
+ "name": "PRDHA",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPART": {
+ "name": "SPART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VHART": {
+ "name": "VHART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPDT": {
+ "name": "ZZAPPDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPTM": {
+ "name": "ZZAPPTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPUS": {
+ "name": "ZZAPPUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDESC": {
+ "name": "ZZDESC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKAR": {
+ "name": "ZZDOKAR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKNR": {
+ "name": "ZZDOKNR",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKTL": {
+ "name": "ZZDOKTL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKVR": {
+ "name": "ZZDOKVR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMMTYP": {
+ "name": "ZZMMTYP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME": {
+ "name": "ZZNAME",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSPEC": {
+ "name": "ZZSPEC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "MODEL_MASTER_MATL_MATNR_unique": {
+ "name": "MODEL_MASTER_MATL_MATNR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "MATNR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_CHARASGN": {
+ "name": "MODEL_MASTER_MATL_CHARASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_CHARASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ATAW1": {
+ "name": "ATAW1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATAWE": {
+ "name": "ATAWE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATBEZ": {
+ "name": "ATBEZ",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLB": {
+ "name": "ATFLB",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLV": {
+ "name": "ATFLV",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATNAM": {
+ "name": "ATNAM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWRT": {
+ "name": "ATWRT",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWTB": {
+ "name": "ATWTB",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_CHARASGN_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_CHARASGN_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_CHARASGN",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_CLASSASGN": {
+ "name": "MODEL_MASTER_MATL_CLASSASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_CLASSASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_CLASSASGN_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_CLASSASGN_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_CLASSASGN",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_DESC": {
+ "name": "MODEL_MASTER_MATL_DESC",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_DESC_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "MAKTX": {
+ "name": "MAKTX",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_DESC_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_DESC_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_DESC",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_PLNT": {
+ "name": "MODEL_MASTER_MATL_PLNT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_PLNT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTA": {
+ "name": "MMSTA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTD": {
+ "name": "MMSTD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMTARP": {
+ "name": "ZZMTARP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_PLNT_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_PLNT_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_PLNT",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_UNIT": {
+ "name": "MODEL_MASTER_MATL_UNIT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_UNIT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BREIT": {
+ "name": "BREIT",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOEHE": {
+ "name": "HOEHE",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LAENG": {
+ "name": "LAENG",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINH": {
+ "name": "MEINH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREN": {
+ "name": "UMREN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREZ": {
+ "name": "UMREZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLUM": {
+ "name": "VOLUM",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_UNIT_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_UNIT_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_UNIT",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_CCTR": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ABTEI": {
+ "name": "ABTEI",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ANRED": {
+ "name": "ANRED",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BKZER": {
+ "name": "BKZER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BKZKP": {
+ "name": "BKZKP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BKZKS": {
+ "name": "BKZKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BKZOB": {
+ "name": "BKZOB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BUKRS": {
+ "name": "BUKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CCTR": {
+ "name": "CCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DATAB": {
+ "name": "DATAB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATBI": {
+ "name": "DATBI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DATLT": {
+ "name": "DATLT",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DRNAM": {
+ "name": "DRNAM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FUNC_AREA": {
+ "name": "FUNC_AREA",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GSBER": {
+ "name": "GSBER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KHINR": {
+ "name": "KHINR",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KOKRS": {
+ "name": "KOKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "KOSAR": {
+ "name": "KOSAR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LAND1": {
+ "name": "LAND1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MGEFL": {
+ "name": "MGEFL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME1": {
+ "name": "NAME1",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME2": {
+ "name": "NAME2",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME3": {
+ "name": "NAME3",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME4": {
+ "name": "NAME4",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORT01": {
+ "name": "ORT01",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORT02": {
+ "name": "ORT02",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PFACH": {
+ "name": "PFACH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PKZER": {
+ "name": "PKZER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PKZKP": {
+ "name": "PKZKP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PKZKS": {
+ "name": "PKZKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCTR": {
+ "name": "PRCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSTL2": {
+ "name": "PSTL2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSTLZ": {
+ "name": "PSTLZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGIO": {
+ "name": "REGIO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STRAS": {
+ "name": "STRAS",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELBX": {
+ "name": "TELBX",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELF1": {
+ "name": "TELF1",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELF2": {
+ "name": "TELF2",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELFX": {
+ "name": "TELFX",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELTX": {
+ "name": "TELTX",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELX1": {
+ "name": "TELX1",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TXJCD": {
+ "name": "TXJCD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VERAK": {
+ "name": "VERAK",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VERAK_USE": {
+ "name": "VERAK_USE",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VMETH": {
+ "name": "VMETH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WAERS": {
+ "name": "WAERS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZBRANCH": {
+ "name": "ZZBRANCH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFCTRI": {
+ "name": "ZZFCTRI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSECCODE": {
+ "name": "ZZSECCODE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSEGMENT": {
+ "name": "ZZSEGMENT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_CCTR_CCTR_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_CCTR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "CCTR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT",
+ "schema": "mdg",
+ "columns": {
+ "CCTR": {
+ "name": "CCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "KTEXT": {
+ "name": "KTEXT",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTEXT": {
+ "name": "LTEXT",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_CCTR_ORGANIZATION_MASTER_HRHMTB_CCTR_CCTR_fk": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_CCTR_ORGANIZATION_MASTER_HRHMTB_CCTR_CCTR_fk",
+ "tableFrom": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT",
+ "tableTo": "ORGANIZATION_MASTER_HRHMTB_CCTR",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "CCTR"
+ ],
+ "columnsTo": [
+ "CCTR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_CCTR_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_CCTR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "CCTR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_PCTR": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_PCTR",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_PCTR_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ABTEI": {
+ "name": "ABTEI",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATAB": {
+ "name": "DATAB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATBI": {
+ "name": "DATBI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "KHINR": {
+ "name": "KHINR",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KOKRS": {
+ "name": "KOKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "LOCK_IND": {
+ "name": "LOCK_IND",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PCTR": {
+ "name": "PCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SEGMENT": {
+ "name": "SEGMENT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TXJCD": {
+ "name": "TXJCD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VERAK": {
+ "name": "VERAK",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VERAK_USE": {
+ "name": "VERAK_USE",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_PCTR_PCTR_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_PCTR_PCTR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "PCTR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZBUKRS": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZBUKRS",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZBUKRS_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CURR_BUKR": {
+ "name": "CURR_BUKR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZBUKRS": {
+ "name": "ZBUKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZBUTXT": {
+ "name": "ZZBUTXT",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZCITY": {
+ "name": "ZZCITY",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZCOUNTRY": {
+ "name": "ZZCOUNTRY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLANGU": {
+ "name": "ZZLANGU",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZBUKRS_ZBUKRS_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZBUKRS_ZBUKRS_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZBUKRS"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZEKGRP": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKGRP",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKGRP_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZEKGRP": {
+ "name": "ZEKGRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZEKNAM": {
+ "name": "ZZEKNAM",
+ "type": "varchar(36)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZEKTEL": {
+ "name": "ZZEKTEL",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZEMPNUM": {
+ "name": "ZZEMPNUM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSINGLE": {
+ "name": "ZZSINGLE",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZTELFX": {
+ "name": "ZZTELFX",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZTEL_NUM": {
+ "name": "ZZTEL_NUM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZEKGRP_ZEKGRP_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKGRP_ZEKGRP_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZEKGRP"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZEKORG": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKORG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKORG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZEKORG": {
+ "name": "ZEKORG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZEKOTX": {
+ "name": "ZZEKOTX",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZEKORG_ZEKORG_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKORG_ZEKORG_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZEKORG"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZGSBER": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZGSBER": {
+ "name": "ZGSBER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZGSBER_ZGSBER_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_ZGSBER_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZGSBER"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT",
+ "schema": "mdg",
+ "columns": {
+ "ZGSBER": {
+ "name": "ZGSBER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LANGU": {
+ "name": "LANGU",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TXTMI": {
+ "name": "TXTMI",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_ZGSBER_ORGANIZATION_MASTER_HRHMTB_ZGSBER_ZGSBER_fk": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_ZGSBER_ORGANIZATION_MASTER_HRHMTB_ZGSBER_ZGSBER_fk",
+ "tableFrom": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT",
+ "tableTo": "ORGANIZATION_MASTER_HRHMTB_ZGSBER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "ZGSBER"
+ ],
+ "columnsTo": [
+ "ZGSBER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_ZGSBER_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_ZGSBER_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZGSBER"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZLGORT": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZLGORT",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZLGORT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZLGORT": {
+ "name": "ZLGORT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZWERKS": {
+ "name": "ZWERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLGOBE": {
+ "name": "ZZLGOBE",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZLGORT_ZLGORT_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZLGORT_ZLGORT_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZLGORT"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZSPART": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZSPART",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZSPART_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZSPART": {
+ "name": "ZSPART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZSPART_ZSPART_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZSPART_ZSPART_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZSPART"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVKBUR": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKBUR",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKBUR_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CTRY_SOFF": {
+ "name": "CTRY_SOFF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_SOFF": {
+ "name": "LANG_SOFF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZVKBUR": {
+ "name": "ZVKBUR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVKBUR_ZVKBUR_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKBUR_ZVKBUR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVKBUR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVKGRP": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKGRP",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKGRP_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZVKGRP": {
+ "name": "ZVKGRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVKGRP_ZVKGRP_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKGRP_ZVKGRP_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVKGRP"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVKORG": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKORG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKORG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZVKORG": {
+ "name": "ZVKORG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZBOAVO": {
+ "name": "ZZBOAVO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZKUNNR": {
+ "name": "ZZKUNNR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZVKOKL": {
+ "name": "ZZVKOKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZWAERS": {
+ "name": "ZZWAERS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVKORG_ZVKORG_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKORG_ZVKORG_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVKORG"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVSTEL": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVSTEL",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVSTEL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ALAN_VSTE": {
+ "name": "ALAN_VSTE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AZON_VSTE": {
+ "name": "AZON_VSTE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CTRY_SHPT": {
+ "name": "CTRY_SHPT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_SHPT": {
+ "name": "LANG_SHPT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZVSTEL": {
+ "name": "ZVSTEL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFABKL": {
+ "name": "ZZFABKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAZBS": {
+ "name": "ZZLAZBS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZRIZBS": {
+ "name": "ZZRIZBS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVSTEL_ZVSTEL_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVSTEL_ZVSTEL_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVSTEL"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVTWEG": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVTWEG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVTWEG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZVTWEG": {
+ "name": "ZVTWEG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVTWEG_ZVTWEG_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVTWEG_ZVTWEG_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVTWEG"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZWERKS": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZWERKS",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZWERKS_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CTRY_PLNT": {
+ "name": "CTRY_PLNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_PLNT": {
+ "name": "LANG_PLNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZWERKS": {
+ "name": "ZWERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFABKL": {
+ "name": "ZZFABKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME1": {
+ "name": "ZZNAME1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME2": {
+ "name": "ZZNAME2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZWERKS_ZWERKS_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZWERKS_ZWERKS_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZWERKS"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.PROJECT_MASTER_CMCTB_PROJ_MAST": {
+ "name": "PROJECT_MASTER_CMCTB_PROJ_MAST",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "PROJECT_MASTER_CMCTB_PROJ_MAST_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "AS_GRNT_PRD": {
+ "name": "AS_GRNT_PRD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCLS": {
+ "name": "BIZCLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZLOC_CD": {
+ "name": "BIZLOC_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_DMN": {
+ "name": "BIZ_DMN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BP_DL_DT": {
+ "name": "BP_DL_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHN_PROJ_TP": {
+ "name": "CHN_PROJ_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_1": {
+ "name": "CLS_1",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_2": {
+ "name": "CLS_2",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_CNTN_YN": {
+ "name": "CNRT_CNTN_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_DL_DT": {
+ "name": "CNRT_DL_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_DT": {
+ "name": "CNRT_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_RESV_YN": {
+ "name": "CNRT_RESV_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_PO_NO": {
+ "name": "CSTM_PO_NO",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DIGT_PDT_GRP": {
+ "name": "DIGT_PDT_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DIST_PATH": {
+ "name": "DIST_PATH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_BF_PROJ_NM": {
+ "name": "DL_BF_PROJ_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_CSTM_CD": {
+ "name": "DL_CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOCK_CD": {
+ "name": "DOCK_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSN_CHRGR": {
+ "name": "DSN_CHRGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_GRNT_FN_DT": {
+ "name": "FIN_GRNT_FN_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GENT_CNT": {
+ "name": "GENT_CNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GOV": {
+ "name": "GOV",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRNT_STDT": {
+ "name": "GRNT_STDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IMO_NO": {
+ "name": "IMO_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INQY_NO": {
+ "name": "INQY_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INQY_SEQ": {
+ "name": "INQY_SEQ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IO_GB": {
+ "name": "IO_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MNG_ACOT_DMN": {
+ "name": "MNG_ACOT_DMN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MN_ENGN_TP_CD": {
+ "name": "MN_ENGN_TP_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSHIP_NO": {
+ "name": "MSHIP_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NEW_MC_YN": {
+ "name": "NEW_MC_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTTP": {
+ "name": "NTTP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORDR_GRNT_FN_DT": {
+ "name": "ORDR_GRNT_FN_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORDR_GRNT_PRD": {
+ "name": "ORDR_GRNT_PRD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_1": {
+ "name": "OWN_1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_AB": {
+ "name": "OWN_AB",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_NM": {
+ "name": "OWN_NM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDT_LVL_4": {
+ "name": "PDT_LVL_4",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLNT_CD": {
+ "name": "PLNT_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCTR": {
+ "name": "PRCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRGS_STAT": {
+ "name": "PRGS_STAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_CRTE_REQ_DT": {
+ "name": "PROJ_CRTE_REQ_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_CRTE_REQ_EMPNO": {
+ "name": "PROJ_CRTE_REQ_EMPNO",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DL_PLN_DT": {
+ "name": "PROJ_DL_PLN_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DL_RT_DT": {
+ "name": "PROJ_DL_RT_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DSC": {
+ "name": "PROJ_DSC",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DTL_TP": {
+ "name": "PROJ_DTL_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_ETC_TP": {
+ "name": "PROJ_ETC_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_GB": {
+ "name": "PROJ_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PROJ_PRGS_YN": {
+ "name": "PROJ_PRGS_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_PROF": {
+ "name": "PROJ_PROF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_SCP": {
+ "name": "PROJ_SCP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_WBS_TP": {
+ "name": "PROJ_WBS_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRO_PROJ_NO": {
+ "name": "PRO_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QM_CLS": {
+ "name": "QM_CLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REF_NO": {
+ "name": "REF_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RLTD_PROJ": {
+ "name": "RLTD_PROJ",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RL_DL_DT": {
+ "name": "RL_DL_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_GRP": {
+ "name": "SALE_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_ORG_CD": {
+ "name": "SALE_ORG_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SA_DT": {
+ "name": "SA_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_NO": {
+ "name": "SERS_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_YN": {
+ "name": "SERS_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE": {
+ "name": "SHTYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_CD": {
+ "name": "SHTYPE_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_GRP": {
+ "name": "SHTYPE_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_UOM": {
+ "name": "SHTYPE_UOM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SKND": {
+ "name": "SKND",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRC_SYS_ID": {
+ "name": "SRC_SYS_ID",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STDT": {
+ "name": "STDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SYS_ACOT_CLSD_DT": {
+ "name": "SYS_ACOT_CLSD_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TOT_CNRT_CNT": {
+ "name": "TOT_CNRT_CNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TYPE": {
+ "name": "TYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WP_PROJ_TP": {
+ "name": "WP_PROJ_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "PROJECT_MASTER_CMCTB_PROJ_MAST_PROJ_NO_unique": {
+ "name": "PROJECT_MASTER_CMCTB_PROJ_MAST_PROJ_NO_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "PROJ_NO"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER": {
+ "name": "VENDOR_MASTER_BP_HEADER",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "VENDOR_MASTER_BP_HEADER_VNDRCD_unique": {
+ "name": "VENDOR_MASTER_BP_HEADER_VNDRCD_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "VNDRCD"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADDRNO": {
+ "name": "ADDRNO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "EMAIL_ADR": {
+ "name": "EMAIL_ADR",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "FAXNO": {
+ "name": "FAXNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAX_ETS_NO": {
+ "name": "FAX_ETS_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(190)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_TMZ": {
+ "name": "ADR_TMZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CITY_ZIP_NO": {
+ "name": "CITY_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_1": {
+ "name": "ETC_ADR_1",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_2": {
+ "name": "ETC_ADR_2",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INTL_ADR_VER_ID": {
+ "name": "INTL_ADR_VER_ID",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX": {
+ "name": "POBX",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX_ZIP_NO": {
+ "name": "POBX_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGN_CD": {
+ "name": "REGN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAX_JRDT_ZONE_CD": {
+ "name": "TAX_JRDT_ZONE_CD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRANS_ZONE": {
+ "name": "TRANS_ZONE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_2": {
+ "name": "VNDRNM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_3": {
+ "name": "VNDRNM_3",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_4": {
+ "name": "VNDRNM_4",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_1": {
+ "name": "VNDRNM_ABRV_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_2": {
+ "name": "VNDRNM_ABRV_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ETX_NO": {
+ "name": "ETX_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HP_ORDR": {
+ "name": "HP_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TELNO": {
+ "name": "TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "URL": {
+ "name": "URL",
+ "type": "varchar(2000)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_TAXNUM": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_TAXNUM",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_TAXNUM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BIZ_PTNR_TX_NO": {
+ "name": "BIZ_PTNR_TX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_CTG": {
+ "name": "TX_NO_CTG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_TAXNUM_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_TAXNUM_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_TAXNUM",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ACNT_GRP": {
+ "name": "ACNT_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACNT_GRP_TP": {
+ "name": "ACNT_GRP_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_DT": {
+ "name": "AGR_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_R_ID": {
+ "name": "AGR_R_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_TM": {
+ "name": "AGR_TM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCON": {
+ "name": "BIZCON",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZR_NO": {
+ "name": "BIZR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZTP": {
+ "name": "BIZTP",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_UOM_CD": {
+ "name": "BIZ_UOM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_UOM_NM": {
+ "name": "BIZ_UOM_NM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR_ID": {
+ "name": "CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_ID": {
+ "name": "CO_ID",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_REG_NO": {
+ "name": "CO_REG_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_VLM": {
+ "name": "CO_VLM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_HOLD_ORDR": {
+ "name": "DEL_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DMST_TOP_CD": {
+ "name": "DMST_TOP_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DMST_TOP_NM": {
+ "name": "DMST_TOP_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DNS_NO": {
+ "name": "DNS_NO",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_NO": {
+ "name": "DOC_NO",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_TP": {
+ "name": "DOC_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_VER": {
+ "name": "DOC_VER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIR_NM": {
+ "name": "FIR_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GBL_TOP_CD": {
+ "name": "GBL_TOP_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GBL_TOP_NM": {
+ "name": "GBL_TOP_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GIRO_VNDR_ORDR": {
+ "name": "GIRO_VNDR_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_CAUS": {
+ "name": "HOLD_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INB_FLAG": {
+ "name": "INB_FLAG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INTL_LCTN_CHK_NUM": {
+ "name": "INTL_LCTN_CHK_NUM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_CAUS_CD": {
+ "name": "OVLAP_CAUS_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTNT_VNDRCD": {
+ "name": "PTNT_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTN_DOC": {
+ "name": "PTN_DOC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_DT": {
+ "name": "PUR_HOLD_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_ORDR": {
+ "name": "PUR_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_EMAIL": {
+ "name": "QLT_CHRGR_EMAIL",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_NM": {
+ "name": "QLT_CHRGR_NM",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_TELNO": {
+ "name": "QLT_CHRGR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGR_ID": {
+ "name": "REGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DT": {
+ "name": "REG_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_TM": {
+ "name": "REG_TM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_NM": {
+ "name": "REPR_NM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_RESNO": {
+ "name": "REPR_RESNO",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_TEL_NO": {
+ "name": "REP_TEL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SB_WKA_SEQ": {
+ "name": "SB_WKA_SEQ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCETX_RP_SEX_KEY": {
+ "name": "SRCETX_RP_SEX_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_CD_4": {
+ "name": "TX_CD_4",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VAT_REG_NO": {
+ "name": "VAT_REG_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNO": {
+ "name": "VNDRNO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ACOT_CHRGR_FAXNO": {
+ "name": "ACOT_CHRGR_FAXNO",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACOT_CHRGR_TELNO": {
+ "name": "ACOT_CHRGR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AUTH_GRP": {
+ "name": "AUTH_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BF_VNDRCD": {
+ "name": "BF_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CSTM_VNDR_CLR_ORDR": {
+ "name": "CSTM_VNDR_CLR_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CTL_ACNT": {
+ "name": "CTL_ACNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_IR_ACT_DT": {
+ "name": "FIN_IR_ACT_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_IR_CALC_DT": {
+ "name": "FIN_IR_CALC_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IATA_BIC_GB": {
+ "name": "IATA_BIC_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOGST_VNDR_TP": {
+ "name": "LOGST_VNDR_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEMO": {
+ "name": "MEMO",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MIN_ORDR": {
+ "name": "MIN_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MK_CHRGR_EMAIL": {
+ "name": "MK_CHRGR_EMAIL",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MOFFC_ACNT_NO": {
+ "name": "MOFFC_ACNT_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_INVC_ORDR": {
+ "name": "OVLAP_INVC_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLN_GRP": {
+ "name": "PLN_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_TP": {
+ "name": "REP_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_HOLD_ORDR": {
+ "name": "SPLY_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_MTHD": {
+ "name": "SPLY_MTHD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRT_SPLY_ORDR": {
+ "name": "SPRT_SPLY_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_CD": {
+ "name": "SRCE_TX_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_NTN_CD": {
+ "name": "SRCE_TX_NTN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRT_KEY": {
+ "name": "SRT_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRD_BANK_SHRT_KEY": {
+ "name": "TRD_BANK_SHRT_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_ACNT_NO": {
+ "name": "VNDR_ACNT_NO",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_CHRGR_NM": {
+ "name": "VNDR_CHRGR_NM",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DCHAG_CAUS": {
+ "name": "DCHAG_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_CERT_NO": {
+ "name": "DCHAG_CERT_NO",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_ED_DT": {
+ "name": "DCHAG_ED_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_ST_DT": {
+ "name": "DCHAG_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RECIP_TP": {
+ "name": "RECIP_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_IDENT_NO": {
+ "name": "SRCE_TX_IDENT_NO",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_NO": {
+ "name": "SRCE_TX_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_REL_ORDR": {
+ "name": "SRCE_TX_REL_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_TP": {
+ "name": "SRCE_TX_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "AT_PUR_ORD_ORDR": {
+ "name": "AT_PUR_ORD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CALC_SHM_GRP": {
+ "name": "CALC_SHM_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNFM_CTL_KEY": {
+ "name": "CNFM_CTL_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_1": {
+ "name": "DL_COND_1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_2": {
+ "name": "DL_COND_2",
+ "type": "varchar(28)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GR_BSE_INVC_VR": {
+ "name": "GR_BSE_INVC_VR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORD_CNFM_REQ_ORDR": {
+ "name": "ORD_CNFM_REQ_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_CAUS": {
+ "name": "PUR_HOLD_CAUS",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_DT": {
+ "name": "PUR_HOLD_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_ORDR": {
+ "name": "PUR_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_ORD_CUR": {
+ "name": "PUR_ORD_CUR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_ORG_CD": {
+ "name": "PUR_ORG_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SALE_CHRGR_NM": {
+ "name": "SALE_CHRGR_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_TELNO": {
+ "name": "VNDR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BSE_PTNR_ORDR": {
+ "name": "BSE_PTNR_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_REF_VNDRCD": {
+ "name": "ETC_REF_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLNT_NO": {
+ "name": "PLNT_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTNR_CNT": {
+ "name": "PTNR_CNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_SKL": {
+ "name": "PTNR_SKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VNDR_SUB_NO": {
+ "name": "VNDR_SUB_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "soap.soap_logs": {
+ "name": "soap_logs",
+ "schema": "soap",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "direction": {
+ "name": "direction",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "system": {
+ "name": "system",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "interface": {
+ "name": "interface",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "startedAt": {
+ "name": "startedAt",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "endedAt": {
+ "name": "endedAt",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "isSuccess": {
+ "name": "isSuccess",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "requestData": {
+ "name": "requestData",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responseData": {
+ "name": "responseData",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "errorMessage": {
+ "name": "errorMessage",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_cd": {
+ "name": "cmctb_cd",
+ "schema": "nonsap",
+ "columns": {
+ "CD_CLF": {
+ "name": "CD_CLF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD": {
+ "name": "CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD2": {
+ "name": "CD2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD3": {
+ "name": "CD3",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "USR_DF_CHAR_1": {
+ "name": "USR_DF_CHAR_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_2": {
+ "name": "USR_DF_CHAR_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_3": {
+ "name": "USR_DF_CHAR_3",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_4": {
+ "name": "USR_DF_CHAR_4",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_5": {
+ "name": "USR_DF_CHAR_5",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_6": {
+ "name": "USR_DF_CHAR_6",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_7": {
+ "name": "USR_DF_CHAR_7",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_8": {
+ "name": "USR_DF_CHAR_8",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_9": {
+ "name": "USR_DF_CHAR_9",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_10": {
+ "name": "USR_DF_CHAR_10",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_11": {
+ "name": "USR_DF_CHAR_11",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_12": {
+ "name": "USR_DF_CHAR_12",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_13": {
+ "name": "USR_DF_CHAR_13",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_14": {
+ "name": "USR_DF_CHAR_14",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_15": {
+ "name": "USR_DF_CHAR_15",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_16": {
+ "name": "USR_DF_CHAR_16",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_17": {
+ "name": "USR_DF_CHAR_17",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_18": {
+ "name": "USR_DF_CHAR_18",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_19": {
+ "name": "USR_DF_CHAR_19",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_20": {
+ "name": "USR_DF_CHAR_20",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_1": {
+ "name": "USR_DF_CHK_1",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_2": {
+ "name": "USR_DF_CHK_2",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_3": {
+ "name": "USR_DF_CHK_3",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_4": {
+ "name": "USR_DF_CHK_4",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_5": {
+ "name": "USR_DF_CHK_5",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_6": {
+ "name": "USR_DF_CHK_6",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_7": {
+ "name": "USR_DF_CHK_7",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_8": {
+ "name": "USR_DF_CHK_8",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_DT_1": {
+ "name": "USR_DF_DT_1",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_DT_2": {
+ "name": "USR_DF_DT_2",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_DT_3": {
+ "name": "USR_DF_DT_3",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_DT_4": {
+ "name": "USR_DF_DT_4",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_TM_1": {
+ "name": "USR_DF_TM_1",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_TM_2": {
+ "name": "USR_DF_TM_2",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_TM_3": {
+ "name": "USR_DF_TM_3",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_TM_4": {
+ "name": "USR_DF_TM_4",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTER": {
+ "name": "CRTER",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR": {
+ "name": "CHGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_cd_clf": {
+ "name": "cmctb_cd_clf",
+ "schema": "nonsap",
+ "columns": {
+ "CD_CLF": {
+ "name": "CD_CLF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CRTER": {
+ "name": "CRTER",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR": {
+ "name": "CHGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XSTAT": {
+ "name": "XSTAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XMSGS": {
+ "name": "XMSGS",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XDATS": {
+ "name": "XDATS",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XTIMS": {
+ "name": "XTIMS",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_cd_clf_nm": {
+ "name": "cmctb_cd_clf_nm",
+ "schema": "nonsap",
+ "columns": {
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD_CLF": {
+ "name": "CD_CLF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD_CLF_NM": {
+ "name": "CD_CLF_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRP_DSC": {
+ "name": "GRP_DSC",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTER": {
+ "name": "CRTER",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR": {
+ "name": "CHGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_cdnm": {
+ "name": "cmctb_cdnm",
+ "schema": "nonsap",
+ "columns": {
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD_CLF": {
+ "name": "CD_CLF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD": {
+ "name": "CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD2": {
+ "name": "CD2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD3": {
+ "name": "CD3",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CDNM": {
+ "name": "CDNM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRP_DSC": {
+ "name": "GRP_DSC",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTER": {
+ "name": "CRTER",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR": {
+ "name": "CHGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_addr": {
+ "name": "cmctb_customer_addr",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "INTL_ADR_VER_ID": {
+ "name": "INTL_ADR_VER_ID",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CITY_ZIP_NO": {
+ "name": "CITY_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX_ZIP_NO": {
+ "name": "POBX_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGN_CD": {
+ "name": "REGN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_1": {
+ "name": "ETC_ADR_1",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_2": {
+ "name": "ETC_ADR_2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOUSE_NR1": {
+ "name": "HOUSE_NR1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX": {
+ "name": "POBX",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_2": {
+ "name": "VNDRNM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRANS_ZONE": {
+ "name": "TRANS_ZONE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_cfpn": {
+ "name": "cmctb_customer_cfpn",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SALE_ORG_CD": {
+ "name": "SALE_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DIST_PATH": {
+ "name": "DIST_PATH",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PDT_GRP": {
+ "name": "PDT_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_SKL": {
+ "name": "PTNR_SKL",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_CNT": {
+ "name": "PTNR_CNT",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BSE_PTNR_ORDR": {
+ "name": "BSE_PTNR_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_compny": {
+ "name": "cmctb_customer_compny",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CO_ID": {
+ "name": "CO_ID",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "AR_ACNT_HDL_GB": {
+ "name": "AR_ACNT_HDL_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRT_KEY": {
+ "name": "SRT_KEY",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AMT_RNE_GB": {
+ "name": "AMT_RNE_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_PAY_FRM": {
+ "name": "VNDR_PAY_FRM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BILL_PAY_COND_CD": {
+ "name": "BILL_PAY_COND_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BILL_PAY_BLOC_CD": {
+ "name": "BILL_PAY_BLOC_CD",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_general": {
+ "name": "cmctb_customer_general",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACNT_GRP": {
+ "name": "ACNT_GRP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_CAUS": {
+ "name": "OVLAP_CAUS",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_TP": {
+ "name": "CSTM_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_BLOCK": {
+ "name": "DEL_BLOCK",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_ID": {
+ "name": "CO_ID",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COND_GRP_1": {
+ "name": "COND_GRP_1",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_GRP_NM": {
+ "name": "CSTM_GRP_NM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_NM": {
+ "name": "REPR_NM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZTP": {
+ "name": "BIZTP",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCON": {
+ "name": "BIZCON",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_2": {
+ "name": "TX_NO_2",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_3": {
+ "name": "TX_NO_3",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_4": {
+ "name": "TX_NO_4",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_REG_NO": {
+ "name": "TX_REG_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BA_CD": {
+ "name": "BA_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCH_COND_1": {
+ "name": "SRCH_COND_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCH_COND_2": {
+ "name": "SRCH_COND_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CITY_DISP_NM": {
+ "name": "CITY_DISP_NM",
+ "type": "varchar(105)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRM_CD": {
+ "name": "CRM_CD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IN_FLAG": {
+ "name": "IN_FLAG",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INDST_CD": {
+ "name": "INDST_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_TP": {
+ "name": "TX_NO_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DT": {
+ "name": "REG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DTM": {
+ "name": "REG_DTM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGR_ID": {
+ "name": "REGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_DT": {
+ "name": "AGR_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_TM": {
+ "name": "AGR_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_R_ID": {
+ "name": "AGR_R_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR_ID": {
+ "name": "CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTGT_CD": {
+ "name": "FTGT_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTGT_NM": {
+ "name": "FTGT_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTDT_CD": {
+ "name": "FTDT_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTDT_NM": {
+ "name": "FTDT_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTBU_CD": {
+ "name": "FTBU_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTBU_NM": {
+ "name": "FTBU_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_repremail": {
+ "name": "cmctb_customer_repremail",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "EMAIL_ADR": {
+ "name": "EMAIL_ADR",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_reprfax": {
+ "name": "cmctb_customer_reprfax",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAXNO": {
+ "name": "FAXNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAX_ETS_NO": {
+ "name": "FAX_ETS_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_reprtel": {
+ "name": "cmctb_customer_reprtel",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELNO": {
+ "name": "TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETX_NO": {
+ "name": "ETX_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HP_ORDR": {
+ "name": "HP_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_reprurl": {
+ "name": "cmctb_customer_reprurl",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "URL": {
+ "name": "URL",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_sorg": {
+ "name": "cmctb_customer_sorg",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SALE_ORG_CD": {
+ "name": "SALE_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DIST_PATH": {
+ "name": "DIST_PATH",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PDT_GRP": {
+ "name": "PDT_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SALE_REGN": {
+ "name": "SALE_REGN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_OFC": {
+ "name": "SALE_OFC",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_GRP": {
+ "name": "SALE_GRP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_GRP": {
+ "name": "CSTM_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSBL": {
+ "name": "PSBL",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRD_CUR": {
+ "name": "TRD_CUR",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EXRAT_TP": {
+ "name": "EXRAT_TP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRC_PRCS_DSC_CD": {
+ "name": "PRC_PRCS_DSC_CD",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_STAT_GRP": {
+ "name": "CSTM_STAT_GRP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHIPMT_COND": {
+ "name": "SHIPMT_COND",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAX_TRD_QTY": {
+ "name": "MAX_TRD_QTY",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_1": {
+ "name": "DL_COND_1",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_2": {
+ "name": "DL_COND_2",
+ "type": "varchar(84)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACNT_ASGN_GRP": {
+ "name": "ACNT_ASGN_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_taxcd": {
+ "name": "cmctb_customer_taxcd",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DPRT_NTN": {
+ "name": "DPRT_NTN",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TX_CTG": {
+ "name": "TX_CTG",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CSTM_TX_CLF": {
+ "name": "CSTM_TX_CLF",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_taxnum": {
+ "name": "cmctb_customer_taxnum",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TX_NO_CTG": {
+ "name": "TX_NO_CTG",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BIZ_PTNR_TX_NO": {
+ "name": "BIZ_PTNR_TX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_bse": {
+ "name": "cmctb_mat_bse",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SM_CD": {
+ "name": "SM_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_ID": {
+ "name": "MAT_ID",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLAS_CD": {
+ "name": "CLAS_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_TP": {
+ "name": "MAT_TP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_GB": {
+ "name": "MAT_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_DTL": {
+ "name": "MAT_DTL",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_DTL_SPEC": {
+ "name": "MAT_DTL_SPEC",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATL": {
+ "name": "MATL",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OLD_MAT_NO": {
+ "name": "OLD_MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SBST_MAT_NO": {
+ "name": "SBST_MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UOM": {
+ "name": "UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDT_GRP": {
+ "name": "PDT_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MRC": {
+ "name": "MRC",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STOR_MAT_ORDR": {
+ "name": "STOR_MAT_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STYPE": {
+ "name": "STYPE",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS": {
+ "name": "CLS",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WGT": {
+ "name": "WGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NET_WGT": {
+ "name": "NET_WGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WGT_UOM": {
+ "name": "WGT_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTH": {
+ "name": "LTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTH_2": {
+ "name": "LTH_2",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WTH": {
+ "name": "WTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WTH_2": {
+ "name": "WTH_2",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "THK": {
+ "name": "THK",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STD": {
+ "name": "STD",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROF_STD": {
+ "name": "PROF_STD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CBL_OUT_DIA": {
+ "name": "CBL_OUT_DIA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTRM_MAT_YN": {
+ "name": "LTRM_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNT_AREA": {
+ "name": "PNT_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTIN_AREA": {
+ "name": "PNTIN_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTIN_SPEC": {
+ "name": "PNTIN_SPEC",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_AREA": {
+ "name": "PNTOUT_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_SPEC_1": {
+ "name": "PNTOUT_SPEC_1",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_SPEC_2": {
+ "name": "PNTOUT_SPEC_2",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_SPEC_3": {
+ "name": "PNTOUT_SPEC_3",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RT_INSPEC": {
+ "name": "RT_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UT_INSPEC": {
+ "name": "UT_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MT_INSPEC": {
+ "name": "MT_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PT_INSPEC": {
+ "name": "PT_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MK_DWG_NO": {
+ "name": "MK_DWG_NO",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CUT_DWG_NO": {
+ "name": "CUT_DWG_NO",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PIPE_SPL_NO": {
+ "name": "PIPE_SPL_NO",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PIPE_LINE_NO": {
+ "name": "PIPE_LINE_NO",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PIPE_CLAS": {
+ "name": "PIPE_CLAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FLUID_KND": {
+ "name": "FLUID_KND",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_ITM_MATL": {
+ "name": "REP_ITM_MATL",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_DIA": {
+ "name": "REP_DIA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_DIA_UOM": {
+ "name": "REP_DIA_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_SCH": {
+ "name": "REP_SCH",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_DIA_LTH": {
+ "name": "REP_DIA_LTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DBLN_GB": {
+ "name": "DBLN_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PIPE_GRD": {
+ "name": "PIPE_GRD",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HTRET_YN": {
+ "name": "HTRET_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BA_GALV_SPEC": {
+ "name": "BA_GALV_SPEC",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SSIDE_YN": {
+ "name": "SSIDE_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTR_PIPE_YN": {
+ "name": "PNTR_PIPE_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UBOLT_YN": {
+ "name": "UBOLT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CTLP_PRCD_PNT": {
+ "name": "CTLP_PRCD_PNT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCD_SCV_CTLP": {
+ "name": "PRCD_SCV_CTLP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PMI_INSPEC": {
+ "name": "PMI_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WTRPRS": {
+ "name": "WTRPRS",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VLV_FIT_NO": {
+ "name": "VLV_FIT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAG_NO": {
+ "name": "TAG_NO",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAG_SB_NO": {
+ "name": "TAG_SB_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NM_PLATE_TP": {
+ "name": "NM_PLATE_TP",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NM_PLATE_SVC_NM": {
+ "name": "NM_PLATE_SVC_NM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VRCS_MAT_NO": {
+ "name": "VRCS_MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRSM_FIT_NO": {
+ "name": "TRSM_FIT_NO",
+ "type": "varchar(7)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VLV_OPT_CD_LIST": {
+ "name": "VLV_OPT_CD_LIST",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_REQ_NO": {
+ "name": "PUR_REQ_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ITM_NO": {
+ "name": "ITM_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MDL_NO": {
+ "name": "MDL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BL_NO": {
+ "name": "BL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_EQP_NO": {
+ "name": "VNDR_EQP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BOX_NO": {
+ "name": "BOX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMT_NO": {
+ "name": "MMT_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INSTL_LOC": {
+ "name": "INSTL_LOC",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MN_EQP_YN": {
+ "name": "MN_EQP_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIXED_MAT_YN": {
+ "name": "FIXED_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRE_YN": {
+ "name": "SPRE_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TOOL_YN": {
+ "name": "TOOL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CBL_YN": {
+ "name": "CBL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_INSTL_MAT_YN": {
+ "name": "OWN_INSTL_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NONINSTL_MAT_YN": {
+ "name": "NONINSTL_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BLK_NO": {
+ "name": "BLK_NO",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GYEL": {
+ "name": "GYEL",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LNK_PTLST_NO": {
+ "name": "LNK_PTLST_NO",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AREA": {
+ "name": "AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STOR_LOC": {
+ "name": "STOR_LOC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SGUB_WGT": {
+ "name": "SGUB_WGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DGUB_WGT": {
+ "name": "DGUB_WGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSN_SKL": {
+ "name": "DSN_SKL",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RMK": {
+ "name": "RMK",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_DT": {
+ "name": "DEL_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_STAT": {
+ "name": "MAT_STAT",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_SYS_NO": {
+ "name": "IF_SYS_NO",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GLAND_SPEC_1": {
+ "name": "GLAND_SPEC_1",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GLAND_SPEC_2": {
+ "name": "GLAND_SPEC_2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GLAND_SPEC_3": {
+ "name": "GLAND_SPEC_3",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MCT_MDLE_STD_1": {
+ "name": "MCT_MDLE_STD_1",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MCT_MDLE_STD_2": {
+ "name": "MCT_MDLE_STD_2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BEELE_RISE": {
+ "name": "BEELE_RISE",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAX_DRUM_LTH": {
+ "name": "MAX_DRUM_LTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_DTM": {
+ "name": "AGR_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_R_ID": {
+ "name": "AGR_R_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DISPLN": {
+ "name": "DISPLN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LRG_KWK": {
+ "name": "LRG_KWK",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DTL_KWK": {
+ "name": "DTL_KWK",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SP_INSP_GB": {
+ "name": "SP_INSP_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_SPEC_4": {
+ "name": "PNTOUT_SPEC_4",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OFE_MAT_NO": {
+ "name": "OFE_MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OFE_CAB_YN": {
+ "name": "OFE_CAB_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INSTL_PSB_CNT": {
+ "name": "INSTL_PSB_CNT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CUTL_ML_GB": {
+ "name": "CUTL_ML_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FCM_INSP": {
+ "name": "FCM_INSP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_NO": {
+ "name": "DOC_NO",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_CAUS": {
+ "name": "HOLD_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_DT": {
+ "name": "HOLD_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_LIFT_DT": {
+ "name": "HOLD_LIFT_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_KND_GB": {
+ "name": "MAT_KND_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BATCH_MNG_ORDR": {
+ "name": "BATCH_MNG_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FS_INPR_ID": {
+ "name": "FS_INPR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FS_INP_DTM": {
+ "name": "FS_INP_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_CHGR_ID": {
+ "name": "FIN_CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_CHG_DTM": {
+ "name": "FIN_CHG_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DWG_FILE_NM": {
+ "name": "DWG_FILE_NM",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAG_NO_CHG_DT": {
+ "name": "TAG_NO_CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SUB_EQP_YN": {
+ "name": "SUB_EQP_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATT_MAT_YN": {
+ "name": "ATT_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSN_REV_NO": {
+ "name": "DSN_REV_NO",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR1": {
+ "name": "USR_DF_CHAR1",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR2": {
+ "name": "USR_DF_CHAR2",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR3": {
+ "name": "USR_DF_CHAR3",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR4": {
+ "name": "USR_DF_CHAR4",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR5": {
+ "name": "USR_DF_CHAR5",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_clas": {
+ "name": "cmctb_mat_clas",
+ "schema": "nonsap",
+ "columns": {
+ "CLAS_CD": {
+ "name": "CLAS_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CLAS_NM": {
+ "name": "CLAS_NM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLAS_DTL": {
+ "name": "CLAS_DTL",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRNT_CLAS_CD": {
+ "name": "PRNT_CLAS_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLAS_LVL": {
+ "name": "CLAS_LVL",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UOM": {
+ "name": "UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STYPE": {
+ "name": "STYPE",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRD_MATL": {
+ "name": "GRD_MATL",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BSE_UOM": {
+ "name": "BSE_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_clas_spchar": {
+ "name": "cmctb_mat_clas_spchar",
+ "schema": "nonsap",
+ "columns": {
+ "CLAS_CD": {
+ "name": "CLAS_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_CD": {
+ "name": "SPCHAR_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_SEQ": {
+ "name": "SPCHAR_SEQ",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MNDT_YN": {
+ "name": "MNDT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "cmctb_mat_clas_spchar_CLAS_CD_SPCHAR_CD_pk": {
+ "name": "cmctb_mat_clas_spchar_CLAS_CD_SPCHAR_CD_pk",
+ "columns": [
+ "CLAS_CD",
+ "SPCHAR_CD"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_dsc": {
+ "name": "cmctb_mat_dsc",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MAT_DTL": {
+ "name": "MAT_DTL",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_plnt": {
+ "name": "cmctb_mat_plnt",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PLNT": {
+ "name": "PLNT",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DELV_UOM": {
+ "name": "DELV_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EA_BTCH_ND_GB": {
+ "name": "EA_BTCH_ND_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCR_CLF": {
+ "name": "PRCR_CLF",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_CHRGR_CD": {
+ "name": "PUR_CHRGR_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCR_CHRGR_CD": {
+ "name": "PRCR_CHRGR_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GOODS_CHRGR_CD": {
+ "name": "GOODS_CHRGR_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_LT": {
+ "name": "PUR_LT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MRP_TP": {
+ "name": "MRP_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_STAT": {
+ "name": "MAT_STAT",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BULK_MAT_ORDR": {
+ "name": "BULK_MAT_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCR_TP": {
+ "name": "PRCR_TP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SFTY_STCK_QTY": {
+ "name": "SFTY_STCK_QTY",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SER_PROF": {
+ "name": "SER_PROF",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BATCH_MNG_ORDR": {
+ "name": "BATCH_MNG_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SP_PRCR_TP": {
+ "name": "SP_PRCR_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_spchar": {
+ "name": "cmctb_mat_spchar",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_CD": {
+ "name": "SPCHAR_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_DTL": {
+ "name": "SPCHAR_DTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_CD": {
+ "name": "SPCHAR_VAL_CD",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_DTL": {
+ "name": "SPCHAR_VAL_DTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_NUM": {
+ "name": "SPCHAR_VAL_NUM",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_UOM": {
+ "name": "SPCHAR_VAL_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_spchar_mast": {
+ "name": "cmctb_mat_spchar_mast",
+ "schema": "nonsap",
+ "columns": {
+ "SPCHAR_CD": {
+ "name": "SPCHAR_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_DTL": {
+ "name": "SPCHAR_DTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_TP": {
+ "name": "SPCHAR_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_UOM": {
+ "name": "SPCHAR_VAL_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_YN": {
+ "name": "SPCHAR_VAL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_GRP": {
+ "name": "SPCHAR_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "cmctb_mat_spchar_mast_SPCHAR_CD_pk": {
+ "name": "cmctb_mat_spchar_mast_SPCHAR_CD_pk",
+ "columns": [
+ "SPCHAR_CD"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_spchar_val": {
+ "name": "cmctb_mat_spchar_val",
+ "schema": "nonsap",
+ "columns": {
+ "SPCHAR_CD": {
+ "name": "SPCHAR_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_VAL_CD": {
+ "name": "SPCHAR_VAL_CD",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_VAL_DTL": {
+ "name": "SPCHAR_VAL_DTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "cmctb_mat_spchar_val_SPCHAR_CD_SPCHAR_VAL_CD_pk": {
+ "name": "cmctb_mat_spchar_val_SPCHAR_CD_SPCHAR_VAL_CD_pk",
+ "columns": [
+ "SPCHAR_CD",
+ "SPCHAR_VAL_CD"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_uom": {
+ "name": "cmctb_mat_uom",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SBST_UOM": {
+ "name": "SBST_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CNVRT_FCTR_1": {
+ "name": "CNVRT_FCTR_1",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNVRT_FCTR_2": {
+ "name": "CNVRT_FCTR_2",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTH": {
+ "name": "LTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WTH": {
+ "name": "WTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HGT": {
+ "name": "HGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SZ_UOM": {
+ "name": "SZ_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_proj_bizcls": {
+ "name": "cmctb_proj_bizcls",
+ "schema": "nonsap",
+ "columns": {
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TYPE": {
+ "name": "TYPE",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BIZCLS": {
+ "name": "BIZCLS",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QM_CLS": {
+ "name": "QM_CLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NEW_MC_YN": {
+ "name": "NEW_MC_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_proj_mast": {
+ "name": "cmctb_proj_mast",
+ "schema": "nonsap",
+ "columns": {
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MSHIP_NO": {
+ "name": "MSHIP_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_NO": {
+ "name": "SERS_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REF_NO": {
+ "name": "REF_NO",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SKND": {
+ "name": "SKND",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE": {
+ "name": "SHTYPE",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_UOM": {
+ "name": "SHTYPE_UOM",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOCK_CD": {
+ "name": "DOCK_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_1": {
+ "name": "OWN_1",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_1": {
+ "name": "CLS_1",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_DT": {
+ "name": "CNRT_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_DL_DT": {
+ "name": "CNRT_DL_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DSC": {
+ "name": "PROJ_DSC",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_GB": {
+ "name": "PROJ_GB",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_NM": {
+ "name": "OWN_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NEW_SKND2": {
+ "name": "NEW_SKND2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_AB": {
+ "name": "OWN_AB",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHINA_YN": {
+ "name": "CHINA_YN",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DTL_TP": {
+ "name": "PROJ_DTL_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_PROF": {
+ "name": "PROJ_PROF",
+ "type": "varchar(7)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INQY_NO": {
+ "name": "INQY_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INQY_SEQ": {
+ "name": "INQY_SEQ",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTTP": {
+ "name": "NTTP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RLTD_PROJ": {
+ "name": "RLTD_PROJ",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DIGT_PDT_GRP": {
+ "name": "DIGT_PDT_GRP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WP_PROJ_TP": {
+ "name": "WP_PROJ_TP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TOT_CNRT_CNT": {
+ "name": "TOT_CNRT_CNT",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_ETC_TP": {
+ "name": "PROJ_ETC_TP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRC_SYS_ID": {
+ "name": "SRC_SYS_ID",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRGS_STAT": {
+ "name": "PRGS_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_CSTM_CD": {
+ "name": "DL_CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDT_LVL_4": {
+ "name": "PDT_LVL_4",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AS_GRNT_PRD": {
+ "name": "AS_GRNT_PRD",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RL_DL_DT": {
+ "name": "RL_DL_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SA_DT": {
+ "name": "SA_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GOV": {
+ "name": "GOV",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_BF_PROJ_NM": {
+ "name": "DL_BF_PROJ_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IMO_NO": {
+ "name": "IMO_NO",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DIST_PATH": {
+ "name": "DIST_PATH",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_ORG_CD": {
+ "name": "SALE_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_GRP": {
+ "name": "SALE_GRP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZLOC_CD": {
+ "name": "BIZLOC_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MNG_ACOT_DMN": {
+ "name": "MNG_ACOT_DMN",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_DMN": {
+ "name": "BIZ_DMN",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLNT_CD": {
+ "name": "PLNT_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCTR": {
+ "name": "PRCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_CNTN_YN": {
+ "name": "CNRT_CNTN_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_RESV_YN": {
+ "name": "CNRT_RESV_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_PRGS_YN": {
+ "name": "PROJ_PRGS_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SYS_ACOT_CLSD_DT": {
+ "name": "SYS_ACOT_CLSD_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_SCP": {
+ "name": "PROJ_SCP",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOA": {
+ "name": "LOA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MN_ENGN_TP_CD": {
+ "name": "MN_ENGN_TP_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPD": {
+ "name": "SPD",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GT": {
+ "name": "GT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BP_DL_DT": {
+ "name": "BP_DL_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_GRP": {
+ "name": "SHTYPE_GRP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_CRTE_REQ_EMPNO": {
+ "name": "PROJ_CRTE_REQ_EMPNO",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_CRTE_REQ_DT": {
+ "name": "PROJ_CRTE_REQ_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IO_GB": {
+ "name": "IO_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_PO_NO": {
+ "name": "CSTM_PO_NO",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GENT_CNT": {
+ "name": "GENT_CNT",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORDR_GRNT_PRD": {
+ "name": "ORDR_GRNT_PRD",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORDR_GRNT_FN_DT": {
+ "name": "ORDR_GRNT_FN_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSN_CHRGR": {
+ "name": "DSN_CHRGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_PROJ_NM": {
+ "name": "DL_AF_PROJ_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_RL_CLNT": {
+ "name": "DL_AF_RL_CLNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_SHPSRV_SCP": {
+ "name": "DL_AF_SHPSRV_SCP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_NTTP": {
+ "name": "DL_AF_NTTP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_CLS": {
+ "name": "DL_AF_CLS",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_CALL_SIGN": {
+ "name": "DL_AF_CALL_SIGN",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_TEL_NO": {
+ "name": "DL_AF_TEL_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_FAX_NO": {
+ "name": "DL_AF_FAX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_EMAIL_ADR": {
+ "name": "DL_AF_EMAIL_ADR",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_WBS_TP": {
+ "name": "PROJ_WBS_TP",
+ "type": "varchar(7)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XSTAT": {
+ "name": "XSTAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XMSGS": {
+ "name": "XMSGS",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XDATS": {
+ "name": "XDATS",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XTIMS": {
+ "name": "XTIMS",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHN_PROJ_TP": {
+ "name": "CHN_PROJ_TP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_GRNT_FN_DT": {
+ "name": "FIN_GRNT_FN_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STDT": {
+ "name": "STDT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_YN": {
+ "name": "SERS_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TYPE": {
+ "name": "TYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRO_PROJ_NO": {
+ "name": "PRO_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PBSD_PROJ_NO": {
+ "name": "PBSD_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PBSD_SHIP_NM": {
+ "name": "PBSD_SHIP_NM",
+ "type": "varchar(150)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCLS": {
+ "name": "BIZCLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_2": {
+ "name": "CLS_2",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_CD": {
+ "name": "SHTYPE_CD",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DL_PLN_DT": {
+ "name": "PROJ_DL_PLN_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DL_RT_DT": {
+ "name": "PROJ_DL_RT_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TOT_AREA": {
+ "name": "TOT_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EXMPT_AREA": {
+ "name": "EXMPT_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EXMPT_RAT": {
+ "name": "EXMPT_RAT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QM_CLS": {
+ "name": "QM_CLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNCT_PROJ_NO": {
+ "name": "CNCT_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EQP_DTL_YN": {
+ "name": "EQP_DTL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EXP_YN": {
+ "name": "EXP_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACT_MH_YN": {
+ "name": "ACT_MH_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPEC": {
+ "name": "SPEC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSGN_LIFE": {
+ "name": "DSGN_LIFE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NEW_MC_YN": {
+ "name": "NEW_MC_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WK_ENV_WT_VAL_YN": {
+ "name": "WK_ENV_WT_VAL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRNT_STDT": {
+ "name": "GRNT_STDT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TMH_ADPT_YN": {
+ "name": "TMH_ADPT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZV_YN": {
+ "name": "ZV_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SEC_YN": {
+ "name": "SEC_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_proj_wbs": {
+ "name": "cmctb_proj_wbs",
+ "schema": "nonsap",
+ "columns": {
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "WBS_ELMT": {
+ "name": "WBS_ELMT",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "WBS_ELMT_NM": {
+ "name": "WBS_ELMT_NM",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_LVL": {
+ "name": "WBS_LVL",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FLAG": {
+ "name": "FLAG",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_INSD_ELMT": {
+ "name": "WBS_INSD_ELMT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HGRK_WBS_ELMT": {
+ "name": "HGRK_WBS_ELMT",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XSTAT": {
+ "name": "XSTAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XMSGS": {
+ "name": "XMSGS",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XDATS": {
+ "name": "XDATS",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XTIMS": {
+ "name": "XTIMS",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SYS_STAT": {
+ "name": "SYS_STAT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_1": {
+ "name": "WBS_ELMT_1",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_2": {
+ "name": "WBS_ELMT_2",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_3": {
+ "name": "WBS_ELMT_3",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_4": {
+ "name": "WBS_ELMT_4",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_5": {
+ "name": "WBS_ELMT_5",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_6": {
+ "name": "WBS_ELMT_6",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_7": {
+ "name": "WBS_ELMT_7",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_8": {
+ "name": "WBS_ELMT_8",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_9": {
+ "name": "WBS_ELMT_9",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_10": {
+ "name": "WBS_ELMT_10",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_addr": {
+ "name": "cmctb_vendor_addr",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INTL_ADR_VER_ID": {
+ "name": "INTL_ADR_VER_ID",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CITY_ZIP_NO": {
+ "name": "CITY_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX_ZIP_NO": {
+ "name": "POBX_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGN_CD": {
+ "name": "REGN_CD",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_1": {
+ "name": "VNDRNM_ABRV_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_2": {
+ "name": "VNDRNM_ABRV_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_2": {
+ "name": "VNDRNM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_1": {
+ "name": "ETC_ADR_1",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_2": {
+ "name": "ETC_ADR_2",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX": {
+ "name": "POBX",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRANS_ZONE": {
+ "name": "TRANS_ZONE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_3": {
+ "name": "VNDRNM_3",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_4": {
+ "name": "VNDRNM_4",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAX_JRDT_ZONE_CD": {
+ "name": "TAX_JRDT_ZONE_CD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_TMZ": {
+ "name": "ADR_TMZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_compny": {
+ "name": "cmctb_vendor_compny",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CTL_ACNT": {
+ "name": "CTL_ACNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRT_KEY": {
+ "name": "SRT_KEY",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLN_GRP": {
+ "name": "PLN_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BF_VNDRCD": {
+ "name": "BF_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_INVC_ORDR": {
+ "name": "OVLAP_INVC_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_MTHD": {
+ "name": "SPLY_MTHD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_HOLD_ORDR": {
+ "name": "SPLY_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRD_BANK_SHRT_KEY": {
+ "name": "TRD_BANK_SHRT_KEY",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_CAUS": {
+ "name": "HOLD_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_NTN_CD": {
+ "name": "SRCE_TX_NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MIN_ORDR": {
+ "name": "MIN_ORDR",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRT_SPLY_ORDR": {
+ "name": "SPRT_SPLY_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_VNDR_CLR_ORDR": {
+ "name": "CSTM_VNDR_CLR_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_CD": {
+ "name": "SRCE_TX_CD",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IATA_BIC_GB": {
+ "name": "IATA_BIC_GB",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_TP": {
+ "name": "REP_TP",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOGST_VNDR_TP": {
+ "name": "LOGST_VNDR_TP",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_ACNT_NO": {
+ "name": "VNDR_ACNT_NO",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_CHRGR_NM": {
+ "name": "VNDR_CHRGR_NM",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACOT_CHRGR_TELNO": {
+ "name": "ACOT_CHRGR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AUTH_GRP": {
+ "name": "AUTH_GRP",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_IR_CALC_DT": {
+ "name": "FIN_IR_CALC_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_IR_ACT_DT": {
+ "name": "FIN_IR_ACT_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACOT_CHRGR_FAXNO": {
+ "name": "ACOT_CHRGR_FAXNO",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MK_CHRGR_EMAIL": {
+ "name": "MK_CHRGR_EMAIL",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEMO": {
+ "name": "MEMO",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MOFFC_ACNT_NO": {
+ "name": "MOFFC_ACNT_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "cmctb_vendor_compny_VNDRCD_CO_CD_pk": {
+ "name": "cmctb_vendor_compny_VNDRCD_CO_CD_pk",
+ "columns": [
+ "VNDRCD",
+ "CO_CD"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_general": {
+ "name": "cmctb_vendor_general",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ACNT_GRP": {
+ "name": "ACNT_GRP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACNT_GRP_TP": {
+ "name": "ACNT_GRP_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_ORDR": {
+ "name": "PUR_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_CAUS": {
+ "name": "HOLD_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_ID": {
+ "name": "CO_ID",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_NM": {
+ "name": "REPR_NM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZTP": {
+ "name": "BIZTP",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCON": {
+ "name": "BIZCON",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DT": {
+ "name": "REG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DTM": {
+ "name": "REG_DTM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGR_ID": {
+ "name": "REGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_DT": {
+ "name": "AGR_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_TM": {
+ "name": "AGR_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_R_ID": {
+ "name": "AGR_R_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR_ID": {
+ "name": "CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_TEL_NO": {
+ "name": "REP_TEL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_FAX_NO": {
+ "name": "REP_FAX_NO",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZR_NO": {
+ "name": "BIZR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_REG_NO": {
+ "name": "CO_REG_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_CD_4": {
+ "name": "TX_CD_4",
+ "type": "varchar(54)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_INST_DT": {
+ "name": "CO_INST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_TP": {
+ "name": "VNDR_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GBL_TOP_CD": {
+ "name": "GBL_TOP_CD",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GBL_TOP_NM": {
+ "name": "GBL_TOP_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DMST_TOP_CD": {
+ "name": "DMST_TOP_CD",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DMST_TOP_NM": {
+ "name": "DMST_TOP_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_UOM_CD": {
+ "name": "BIZ_UOM_CD",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_UOM_NM": {
+ "name": "BIZ_UOM_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DNS_NO": {
+ "name": "DNS_NO",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VAT_REG_NO": {
+ "name": "VAT_REG_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GIRO_VNDR_ORDR": {
+ "name": "GIRO_VNDR_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_2": {
+ "name": "VNDRNM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_3": {
+ "name": "VNDRNM_3",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_4": {
+ "name": "VNDRNM_4",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_1": {
+ "name": "VNDRNM_ABRV_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_2": {
+ "name": "VNDRNM_ABRV_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTNT_VNDRCD": {
+ "name": "PTNT_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_NM": {
+ "name": "QLT_CHRGR_NM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_TELNO": {
+ "name": "QLT_CHRGR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_EMAIL": {
+ "name": "QLT_CHRGR_EMAIL",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SB_WKA_SEQ": {
+ "name": "SB_WKA_SEQ",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_CAUS_CD": {
+ "name": "OVLAP_CAUS_CD",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_TP": {
+ "name": "DOC_TP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_NO": {
+ "name": "DOC_NO",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTN_DOC": {
+ "name": "PTN_DOC",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_VER": {
+ "name": "DOC_VER",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INB_FLAG": {
+ "name": "INB_FLAG",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_HOLD_ORDR": {
+ "name": "DEL_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_DT": {
+ "name": "PUR_HOLD_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX": {
+ "name": "POBX",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INTL_LCTN_CHK_NUM": {
+ "name": "INTL_LCTN_CHK_NUM",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCETX_RP_SEX_KEY": {
+ "name": "SRCETX_RP_SEX_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_CNRT_CHRGR_1": {
+ "name": "VNDR_CNRT_CHRGR_1",
+ "type": "varchar(105)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_CNRT_CHRGR_2": {
+ "name": "VNDR_CNRT_CHRGR_2",
+ "type": "varchar(105)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_RESNO": {
+ "name": "REPR_RESNO",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_VLM": {
+ "name": "CO_VLM",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_grp": {
+ "name": "cmctb_vendor_grp",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BIZ_GRP_CD": {
+ "name": "BIZ_GRP_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTER_ID": {
+ "name": "CRTER_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR_ID": {
+ "name": "CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_inco": {
+ "name": "cmctb_vendor_inco",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VNDRNM": {
+ "name": "VNDRNM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_NM": {
+ "name": "REPR_NM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRTNR_GB": {
+ "name": "PRTNR_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_CD": {
+ "name": "INCO_PRTNR_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_WKA_1": {
+ "name": "INCO_PRTNR_WKA_1",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_WKA_2": {
+ "name": "INCO_PRTNR_WKA_2",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_WKA_3": {
+ "name": "INCO_PRTNR_WKA_3",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JBTYPE_CD": {
+ "name": "JBTYPE_CD",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JBTYPE_CD_2": {
+ "name": "JBTYPE_CD_2",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INDV_CO_GB": {
+ "name": "INDV_CO_GB",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_FOND_YN": {
+ "name": "INCO_FOND_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOCK_NO": {
+ "name": "DOCK_NO",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OCMP_INP_DT": {
+ "name": "OCMP_INP_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_DUSE_DT": {
+ "name": "INCO_DUSE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INDST_INS_PMRAT": {
+ "name": "INDST_INS_PMRAT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_PFRM_GRAMT": {
+ "name": "CNRT_PFRM_GRAMT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WGE_RAT": {
+ "name": "WGE_RAT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRSPD_DEPTCD_1": {
+ "name": "CRSPD_DEPTCD_1",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRSPD_DEPTCD_2": {
+ "name": "CRSPD_DEPTCD_2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRSPD_TEAM_BLNG": {
+ "name": "CRSPD_TEAM_BLNG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_ITM_1": {
+ "name": "INCO_PRTNR_ITM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_ITM_2": {
+ "name": "INCO_PRTNR_ITM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OFC_LOC": {
+ "name": "OFC_LOC",
+ "type": "varchar(240)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_OCMP_CARR": {
+ "name": "REP_OCMP_CARR",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_DUSE_CAUS": {
+ "name": "INCO_DUSE_CAUS",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TEL_NO": {
+ "name": "TEL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR1": {
+ "name": "ADR1",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR2": {
+ "name": "ADR2",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OLD_VNDRCD": {
+ "name": "OLD_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TREE_NUM": {
+ "name": "TREE_NUM",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_USR_ID": {
+ "name": "CRTE_USR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_USR_ID": {
+ "name": "CHG_USR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UPR_JBTYPE": {
+ "name": "UPR_JBTYPE",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZBYBP": {
+ "name": "ZBYBP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RMK": {
+ "name": "RMK",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WDL_PLN_YN": {
+ "name": "WDL_PLN_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WGE_DELY_DVL": {
+ "name": "WGE_DELY_DVL",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESCROW_YN": {
+ "name": "ESCROW_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_porg": {
+ "name": "cmctb_vendor_porg",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PUR_ORG_CD": {
+ "name": "PUR_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PUR_ORD_CUR": {
+ "name": "PUR_ORD_CUR",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_1": {
+ "name": "DL_COND_1",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_2": {
+ "name": "DL_COND_2",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CALC_SHM_GRP": {
+ "name": "CALC_SHM_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GR_BSE_INVC_VR": {
+ "name": "GR_BSE_INVC_VR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AT_PUR_ORD_ORDR": {
+ "name": "AT_PUR_ORD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_ORDR": {
+ "name": "PUR_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORD_CNFM_REQ_ORDR": {
+ "name": "ORD_CNFM_REQ_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_CHRGR_NM": {
+ "name": "SALE_CHRGR_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_TELNO": {
+ "name": "VNDR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNFM_CTL_KEY": {
+ "name": "CNFM_CTL_KEY",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_DT": {
+ "name": "PUR_HOLD_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_CAUS": {
+ "name": "PUR_HOLD_CAUS",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_repremail": {
+ "name": "cmctb_vendor_repremail",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "EMAIL_ADR": {
+ "name": "EMAIL_ADR",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_reprfax": {
+ "name": "cmctb_vendor_reprfax",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAXNO": {
+ "name": "FAXNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAX_ETS_NO": {
+ "name": "FAX_ETS_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_reprtel": {
+ "name": "cmctb_vendor_reprtel",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELNO": {
+ "name": "TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETX_NO": {
+ "name": "ETX_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HP_ORDR": {
+ "name": "HP_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_reprurl": {
+ "name": "cmctb_vendor_reprurl",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "URL": {
+ "name": "URL",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_taxnum": {
+ "name": "cmctb_vendor_taxnum",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TX_NO_CTG": {
+ "name": "TX_NO_CTG",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BIZ_PTNR_TX_NO": {
+ "name": "BIZ_PTNR_TX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_vfpn": {
+ "name": "cmctb_vendor_vfpn",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PUR_ORG_CD": {
+ "name": "PUR_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VNDR_SUB_NO": {
+ "name": "VNDR_SUB_NO",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PLNT_CD": {
+ "name": "PLNT_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_SKL": {
+ "name": "PTNR_SKL",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_CNT": {
+ "name": "PTNR_CNT",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ETC_REF_VNDRCD": {
+ "name": "ETC_REF_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BSE_PTNR_ORDR": {
+ "name": "BSE_PTNR_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_whthx": {
+ "name": "cmctb_vendor_whthx",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SRCE_TX_TP": {
+ "name": "SRCE_TX_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SRCE_TX_REL_ORDR": {
+ "name": "SRCE_TX_REL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RECIP_TP": {
+ "name": "RECIP_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_IDENT_NO": {
+ "name": "SRCE_TX_IDENT_NO",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_NO": {
+ "name": "SRCE_TX_NO",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_CERT_NO": {
+ "name": "DCHAG_CERT_NO",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_RAT": {
+ "name": "DCHAG_RAT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_ST_DT": {
+ "name": "DCHAG_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_ED_DT": {
+ "name": "DCHAG_ED_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_CAUS": {
+ "name": "DCHAG_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.plftb_estm_proj_mast": {
+ "name": "plftb_estm_proj_mast",
+ "schema": "nonsap",
+ "columns": {
+ "ESTM_PROJ_NO": {
+ "name": "ESTM_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "AGND_NO": {
+ "name": "AGND_NO",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_PROJ_NM": {
+ "name": "ESTM_PROJ_NM",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_CLS": {
+ "name": "BIZ_CLS",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REV_NO": {
+ "name": "REV_NO",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_TYPE": {
+ "name": "ESTM_TYPE",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWNER_CD": {
+ "name": "OWNER_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_CNT": {
+ "name": "SERS_CNT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SKND_CD": {
+ "name": "SKND_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_CD": {
+ "name": "SHTYPE_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_SIZE": {
+ "name": "SHTYPE_SIZE",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_UOM": {
+ "name": "SHTYPE_UOM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHRTR_CD": {
+ "name": "CHRTR_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NATN_CD": {
+ "name": "NATN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_1": {
+ "name": "CLS_1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_2": {
+ "name": "CLS_2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_3": {
+ "name": "CLS_3",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATA_CRTE_GB": {
+ "name": "DATA_CRTE_GB",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FS_INPR_ID": {
+ "name": "FS_INPR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FS_INP_DTM": {
+ "name": "FS_INP_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_CHGR_ID": {
+ "name": "FIN_CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_CHG_DTM": {
+ "name": "FIN_CHG_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VSL_VAG_1": {
+ "name": "VSL_VAG_1",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VSL_VAG_2": {
+ "name": "VSL_VAG_2",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VSL_VAG_3": {
+ "name": "VSL_VAG_3",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VSL_VAG_4": {
+ "name": "VSL_VAG_4",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_AOM_APP_ID": {
+ "name": "ESTM_AOM_APP_ID",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_AOM_STAT": {
+ "name": "ESTM_AOM_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_AOM_STAT_CHGR_ID": {
+ "name": "ESTM_AOM_STAT_CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_AOM_STAT_CHG_DTM": {
+ "name": "ESTM_AOM_STAT_CHG_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TRGT_YN": {
+ "name": "IF_TRGT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "plftb_estm_proj_mast_ESTM_PROJ_NO_pk": {
+ "name": "plftb_estm_proj_mast_ESTM_PROJ_NO_pk",
+ "columns": [
+ "ESTM_PROJ_NO"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "ecc.PR_INFORMATION_T_BID_HEADER": {
+ "name": "PR_INFORMATION_T_BID_HEADER",
+ "schema": "ecc",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "PR_INFORMATION_T_BID_HEADER_id_seq",
+ "schema": "ecc",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ANFNR": {
+ "name": "ANFNR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "EKGRP": {
+ "name": "EKGRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EKORG": {
+ "name": "EKORG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZBSART": {
+ "name": "ZBSART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZRFQ_TRS_DT": {
+ "name": "ZRFQ_TRS_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZRFQ_TRS_TM": {
+ "name": "ZRFQ_TRS_TM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "ecc.PR_INFORMATION_T_BID_ITEM": {
+ "name": "PR_INFORMATION_T_BID_ITEM",
+ "schema": "ecc",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "PR_INFORMATION_T_BID_ITEM_id_seq",
+ "schema": "ecc",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ANFNR": {
+ "name": "ANFNR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ANFPS": {
+ "name": "ANFPS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "AUFNR": {
+ "name": "AUFNR",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BANFN": {
+ "name": "BANFN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BANPO": {
+ "name": "BANPO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BPRME": {
+ "name": "BPRME",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "numeric(15, 3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DISMM": {
+ "name": "DISMM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EBELP": {
+ "name": "EBELP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KNTTP": {
+ "name": "KNTTP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KOSTL": {
+ "name": "KOSTL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LFDAT": {
+ "name": "LFDAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATKL": {
+ "name": "MATKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINS": {
+ "name": "MEINS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MENGE": {
+ "name": "MENGE",
+ "type": "numeric(15, 3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PEINH": {
+ "name": "PEINH",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PERNR": {
+ "name": "PERNR",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POSID": {
+ "name": "POSID",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PREIS": {
+ "name": "PREIS",
+ "type": "numeric(15, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSPID": {
+ "name": "PSPID",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SAKTO": {
+ "name": "SAKTO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TXZ01": {
+ "name": "TXZ01",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WAERS1": {
+ "name": "WAERS1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WAERS2": {
+ "name": "WAERS2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZCON_NO_PO": {
+ "name": "ZCON_NO_PO",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZREQ_FN": {
+ "name": "ZREQ_FN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZREQ_PO": {
+ "name": "ZREQ_PO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZRSLT_AMT": {
+ "name": "ZRSLT_AMT",
+ "type": "numeric(17, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "knox.employee": {
+ "name": "employee",
+ "schema": "knox",
+ "columns": {
+ "ep_id": {
+ "name": "ep_id",
+ "type": "varchar(25)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "employee_number": {
+ "name": "employee_number",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "full_name": {
+ "name": "full_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "given_name": {
+ "name": "given_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sir_name": {
+ "name": "sir_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "company_code": {
+ "name": "company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "company_name": {
+ "name": "company_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_name": {
+ "name": "department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title_code": {
+ "name": "title_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title_name": {
+ "name": "title_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email_address": {
+ "name": "email_address",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mobile": {
+ "name": "mobile",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "employee_status": {
+ "name": "employee_status",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "employee_type": {
+ "name": "employee_type",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "account_status": {
+ "name": "account_status",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "security_level": {
+ "name": "security_level",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "preferred_language": {
+ "name": "preferred_language",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "raw": {
+ "name": "raw",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "en_company_name": {
+ "name": "en_company_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_department_name": {
+ "name": "en_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_discription": {
+ "name": "en_discription",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_full_name": {
+ "name": "en_full_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_given_name": {
+ "name": "en_given_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_grade_name": {
+ "name": "en_grade_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_sir_name": {
+ "name": "en_sir_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_title_name": {
+ "name": "en_title_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_name": {
+ "name": "grade_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_title_indi_code": {
+ "name": "grade_title_indi_code",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "job_name": {
+ "name": "job_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "real_name_yn": {
+ "name": "real_name_yn",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "server_location": {
+ "name": "server_location",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title_sort_order": {
+ "name": "title_sort_order",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "knox_employee_company_department_idx": {
+ "name": "knox_employee_company_department_idx",
+ "columns": [
+ {
+ "expression": "company_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "department_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "knox_employee_number_idx": {
+ "name": "knox_employee_number_idx",
+ "columns": [
+ {
+ "expression": "employee_number",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "knox_employee_user_id_idx": {
+ "name": "knox_employee_user_id_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "knox_employee_email_idx": {
+ "name": "knox_employee_email_idx",
+ "columns": [
+ {
+ "expression": "email_address",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "knox.organization": {
+ "name": "organization",
+ "schema": "knox",
+ "columns": {
+ "company_code": {
+ "name": "company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "company_name": {
+ "name": "company_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_level": {
+ "name": "department_level",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_name": {
+ "name": "department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_order": {
+ "name": "department_order",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_company_name": {
+ "name": "en_company_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_department_name": {
+ "name": "en_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_manager_title": {
+ "name": "en_manager_title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_sub_org_code": {
+ "name": "en_sub_org_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "in_department_code": {
+ "name": "in_department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "low_department_yn": {
+ "name": "low_department_yn",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_id": {
+ "name": "manager_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_name": {
+ "name": "manager_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_title": {
+ "name": "manager_title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "preferred_language": {
+ "name": "preferred_language",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sub_org_code": {
+ "name": "sub_org_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sub_org_name": {
+ "name": "sub_org_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "upr_department_code": {
+ "name": "upr_department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_upr_department_name": {
+ "name": "en_upr_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "upr_department_name": {
+ "name": "upr_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "hidden_department_yn": {
+ "name": "hidden_department_yn",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "corp_code": {
+ "name": "corp_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "corp_name": {
+ "name": "corp_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_corp_name": {
+ "name": "en_corp_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "raw": {
+ "name": "raw",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "knox_org_company_idx": {
+ "name": "knox_org_company_idx",
+ "columns": [
+ {
+ "expression": "company_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "organization_company_code_department_code_pk": {
+ "name": "organization_company_code_department_code_pk",
+ "columns": [
+ "company_code",
+ "department_code"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "knox.title": {
+ "name": "title",
+ "schema": "knox",
+ "columns": {
+ "company_code": {
+ "name": "company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title_code": {
+ "name": "title_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title_name": {
+ "name": "title_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_title_name": {
+ "name": "en_title_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "raw": {
+ "name": "raw",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "knox_title_company_idx": {
+ "name": "knox_title_company_idx",
+ "columns": [
+ {
+ "expression": "company_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "title_company_code_title_code_pk": {
+ "name": "title_company_code_title_code_pk",
+ "columns": [
+ "company_code",
+ "title_code"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "knox.approval": {
+ "name": "approval",
+ "schema": "knox",
+ "columns": {
+ "ap_inf_id": {
+ "name": "ap_inf_id",
+ "type": "text",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ep_id": {
+ "name": "ep_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email_address": {
+ "name": "email_address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "aplns": {
+ "name": "aplns",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ }
+ },
+ "enums": {
+ "public.user_domain": {
+ "name": "user_domain",
+ "schema": "public",
+ "values": [
+ "pending",
+ "evcp",
+ "procurement",
+ "sales",
+ "engineering",
+ "partners"
+ ]
+ },
+ "public.score_type": {
+ "name": "score_type",
+ "schema": "public",
+ "values": [
+ "fixed",
+ "variable"
+ ]
+ },
+ "public.qna_category": {
+ "name": "qna_category",
+ "schema": "public",
+ "values": [
+ "engineering",
+ "procurement",
+ "technical_sales"
+ ]
+ },
+ "public.gtc_type": {
+ "name": "gtc_type",
+ "schema": "public",
+ "values": [
+ "standard",
+ "project"
+ ]
+ },
+ "public.review_status": {
+ "name": "review_status",
+ "schema": "public",
+ "values": [
+ "draft",
+ "pending",
+ "reviewing",
+ "approved",
+ "rejected",
+ "revised"
+ ]
+ }
+ },
+ "schemas": {
+ "mdg": "mdg",
+ "soap": "soap",
+ "nonsap": "nonsap",
+ "ecc": "ecc",
+ "knox": "knox"
+ },
+ "sequences": {},
+ "roles": {},
+ "policies": {},
+ "views": {
+ "public.contracts_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contracts_detail_view_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_no": {
+ "name": "contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_name": {
+ "name": "contract_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "start_date": {
+ "name": "start_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "end_date": {
+ "name": "end_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "payment_terms": {
+ "name": "payment_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_terms": {
+ "name": "delivery_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_location": {
+ "name": "delivery_location",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "total_amount": {
+ "name": "total_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount": {
+ "name": "discount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax": {
+ "name": "tax",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shipping_fee": {
+ "name": "shipping_fee",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "net_total": {
+ "name": "net_total",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "partial_shipping_allowed": {
+ "name": "partial_shipping_allowed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "partial_payment_allowed": {
+ "name": "partial_payment_allowed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"contracts\".\"id\", \"contracts\".\"contract_no\", \"contracts\".\"contract_name\", \"contracts\".\"status\", \"contracts\".\"start_date\", \"contracts\".\"end_date\", \"contracts\".\"project_id\", \"projects\".\"code\", \"projects\".\"name\", \"contracts\".\"vendor_id\", \"vendors\".\"vendor_name\", \"contracts\".\"payment_terms\", \"contracts\".\"delivery_terms\", \"contracts\".\"delivery_date\", \"contracts\".\"delivery_location\", \"contracts\".\"currency\", \"contracts\".\"total_amount\", \"contracts\".\"discount\", \"contracts\".\"tax\", \"contracts\".\"shipping_fee\", \"contracts\".\"net_total\", \"contracts\".\"partial_shipping_allowed\", \"contracts\".\"partial_payment_allowed\", \"contracts\".\"remarks\", \"contracts\".\"version\", \"contracts\".\"created_at\", \"contracts\".\"updated_at\", EXISTS (\n SELECT 1 \n FROM \"contract_envelopes\" \n WHERE \"contract_envelopes\".\"contract_id\" = \"contracts\".\"id\"\n ) as \"has_signature\", COALESCE((\n SELECT json_agg(\n json_build_object(\n 'id', ci.id,\n 'itemId', ci.item_id,\n 'description', ci.description,\n 'quantity', ci.quantity,\n 'unitPrice', ci.unit_price,\n 'taxRate', ci.tax_rate,\n 'taxAmount', ci.tax_amount,\n 'totalLineAmount', ci.total_line_amount,\n 'remark', ci.remark,\n 'createdAt', ci.created_at,\n 'updatedAt', ci.updated_at\n )\n )\n FROM \"contract_items\" AS ci\n WHERE ci.contract_id = \"contracts\".\"id\"\n ), '[]') as \"items\", COALESCE((\n SELECT json_agg(\n json_build_object(\n 'id', ce.id,\n 'envelopeId', ce.envelope_id,\n 'documentId', ce.document_id,\n 'envelopeStatus', ce.envelope_status,\n 'fileName', ce.file_name,\n 'filePath', ce.file_path,\n 'createdAt', ce.created_at,\n 'updatedAt', ce.updated_at,\n 'signers', (\n SELECT json_agg(\n json_build_object(\n 'id', cs.id,\n 'vendorContactId', cs.vendor_contact_id,\n 'signerType', cs.signer_type,\n 'signerEmail', cs.signer_email,\n 'signerName', cs.signer_name,\n 'signerPosition', cs.signer_position,\n 'signerStatus', cs.signer_status,\n 'signedAt', cs.signed_at\n )\n )\n FROM \"contract_signers\" AS cs\n WHERE cs.envelope_id = ce.id\n )\n )\n )\n FROM \"contract_envelopes\" AS ce\n WHERE ce.contract_id = \"contracts\".\"id\"\n ), '[]') as \"envelopes\" from \"contracts\" left join \"projects\" on \"contracts\".\"project_id\" = \"projects\".\"id\" left join \"vendors\" on \"contracts\".\"vendor_id\" = \"vendors\".\"id\"",
+ "name": "contracts_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.poa_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "poa_detail_view_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_no": {
+ "name": "contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "change_reason": {
+ "name": "change_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approval_status": {
+ "name": "approval_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'PENDING'"
+ },
+ "delivery_terms": {
+ "name": "delivery_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_location": {
+ "name": "delivery_location",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_amount": {
+ "name": "total_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount": {
+ "name": "discount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax": {
+ "name": "tax",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shipping_fee": {
+ "name": "shipping_fee",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "net_total": {
+ "name": "net_total",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"poa\".\"id\", \"poa\".\"contract_no\", \"contracts\".\"project_id\", \"contracts\".\"vendor_id\", \"poa\".\"change_reason\", \"poa\".\"approval_status\", \"contracts\".\"contract_name\" as \"original_contract_name\", \"contracts\".\"status\" as \"original_status\", \"contracts\".\"start_date\" as \"original_start_date\", \"contracts\".\"end_date\" as \"original_end_date\", \"poa\".\"delivery_terms\", \"poa\".\"delivery_date\", \"poa\".\"delivery_location\", \"poa\".\"currency\", \"poa\".\"total_amount\", \"poa\".\"discount\", \"poa\".\"tax\", \"poa\".\"shipping_fee\", \"poa\".\"net_total\", \"poa\".\"created_at\", \"poa\".\"updated_at\", EXISTS (\n SELECT 1 \n FROM \"contract_envelopes\" \n WHERE \"contract_envelopes\".\"contract_id\" = \"poa\".\"id\"\n ) as \"has_signature\" from \"poa\" left join \"contracts\" on \"poa\".\"contract_no\" = \"contracts\".\"contract_no\"",
+ "name": "poa_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.project_approved_vendors": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING_REVIEW'"
+ },
+ "name_ko": {
+ "name": "name_ko",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name_en": {
+ "name": "name_en",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ship'"
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approved_at": {
+ "name": "approved_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"vendors\".\"id\", \"vendors\".\"vendor_name\", \"vendors\".\"vendor_code\", \"vendors\".\"tax_id\", \"vendors\".\"email\", \"vendors\".\"phone\", \"vendors\".\"status\", \"vendor_types\".\"name_ko\", \"vendor_types\".\"name_en\", \"projects\".\"code\", \"projects\".\"name\", \"projects\".\"type\", \"vendor_pq_submissions\".\"submitted_at\", \"vendor_pq_submissions\".\"approved_at\" from \"vendors\" inner join \"vendor_pq_submissions\" on \"vendor_pq_submissions\".\"vendor_id\" = \"vendors\".\"id\" inner join \"projects\" on \"vendor_pq_submissions\".\"project_id\" = \"projects\".\"id\" left join \"vendor_types\" on \"vendors\".\"vendor_type_id\" = \"vendor_types\".\"id\" where \"vendor_pq_submissions\".\"status\" = 'APPROVED'",
+ "name": "project_approved_vendors",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_investigations_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pq_submission_id": {
+ "name": "pq_submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requester_id": {
+ "name": "requester_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "qm_manager_id": {
+ "name": "qm_manager_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_status": {
+ "name": "investigation_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PLANNED'"
+ },
+ "evaluation_type": {
+ "name": "evaluation_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_address": {
+ "name": "investigation_address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_method": {
+ "name": "investigation_method",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "scheduled_start_at": {
+ "name": "scheduled_start_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "scheduled_end_at": {
+ "name": "scheduled_end_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "forecasted_at": {
+ "name": "forecasted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_score": {
+ "name": "evaluation_score",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_result": {
+ "name": "evaluation_result",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_notes": {
+ "name": "investigation_notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"vendor_investigations\".\"id\", \"vendor_investigations\".\"vendor_id\", \"vendor_investigations\".\"pq_submission_id\", \"vendor_investigations\".\"requester_id\", \"vendor_investigations\".\"qm_manager_id\", \"vendor_investigations\".\"investigation_status\", \"vendor_investigations\".\"evaluation_type\", \"vendor_investigations\".\"investigation_address\", \"vendor_investigations\".\"investigation_method\", \"vendor_investigations\".\"scheduled_start_at\", \"vendor_investigations\".\"scheduled_end_at\", \"vendor_investigations\".\"forecasted_at\", \"vendor_investigations\".\"requested_at\", \"vendor_investigations\".\"confirmed_at\", \"vendor_investigations\".\"completed_at\", \"vendor_investigations\".\"evaluation_score\", \"vendor_investigations\".\"evaluation_result\", \"vendor_investigations\".\"investigation_notes\", \"vendor_investigations\".\"created_at\", \"vendor_investigations\".\"updated_at\", \"vendors\".\"vendor_name\", \"vendors\".\"vendor_code\", requester.name as \"requesterName\", requester.email as \"requesterEmail\", qm_manager.name as \"qmManagerName\", qm_manager.email as \"qmManagerEmail\", (\n CASE \n WHEN EXISTS (\n SELECT 1 FROM vendor_investigation_attachments via \n WHERE via.investigation_id = \"vendor_investigations\".\"id\"\n ) \n THEN true \n ELSE false \n END\n ) as \"hasAttachments\" from \"vendor_investigations\" left join \"vendors\" on \"vendor_investigations\".\"vendor_id\" = \"vendors\".\"id\" left join users AS requester on \"vendor_investigations\".\"requester_id\" = requester.id left join users AS qm_manager on \"vendor_investigations\".\"qm_manager_id\" = qm_manager.id",
+ "name": "vendor_investigations_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.cbe_view": {
+ "columns": {},
+ "definition": "select \"cbe_evaluations\".\"id\" as \"cbe_id\", \"cbe_evaluations\".\"rfq_id\" as \"rfq_id\", \"cbe_evaluations\".\"vendor_id\" as \"vendor_id\", \"cbe_evaluations\".\"total_cost\" as \"total_cost\", \"cbe_evaluations\".\"currency\" as \"currency\", \"cbe_evaluations\".\"payment_terms\" as \"payment_terms\", \"cbe_evaluations\".\"incoterms\" as \"incoterms\", \"cbe_evaluations\".\"result\" as \"result\", \"cbe_evaluations\".\"notes\" as \"notes\", \"cbe_evaluations\".\"evaluated_by\" as \"evaluated_by\", \"cbe_evaluations\".\"evaluated_at\" as \"evaluated_at\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"rfq_description\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"users\".\"name\" as \"evaluator_name\", \"users\".\"email\" as \"evaluator_email\" from \"cbe_evaluations\" inner join \"rfqs\" on \"cbe_evaluations\".\"rfq_id\" = \"rfqs\".\"id\" inner join \"vendors\" on \"cbe_evaluations\".\"vendor_id\" = \"vendors\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"users\" on \"cbe_evaluations\".\"evaluated_by\" = \"users\".\"id\"",
+ "name": "cbe_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.rfqs_view": {
+ "columns": {},
+ "definition": "select \"rfqs\".\"id\" as \"rfq_id\", \"rfqs\".\"status\" as \"status\", \"rfqs\".\"created_at\" as \"created_at\", \"rfqs\".\"updated_at\" as \"updated_at\", \"rfqs\".\"created_by\" as \"created_by\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"description\", \"rfqs\".\"due_date\" as \"due_date\", \"rfqs\".\"parent_rfq_id\" as \"parent_rfq_id\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"users\".\"email\" as \"user_email\", \"users\".\"name\" as \"user_name\", (\n SELECT COUNT(*) \n FROM \"rfq_items\" \n WHERE \"rfq_items\".\"rfq_id\" = \"rfqs\".\"id\"\n ) as \"item_count\", (\n SELECT COUNT(*) \n FROM \"rfq_attachments\" \n WHERE \"rfq_attachments\".\"rfq_id\" = \"rfqs\".\"id\"\n ) as \"attachment_count\" from \"rfqs\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"users\" on \"rfqs\".\"created_by\" = \"users\".\"id\"",
+ "name": "rfqs_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_cbe_view": {
+ "columns": {},
+ "definition": "select \"vendors\".\"id\" as \"vendor_id\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"address\" as \"address\", \"vendors\".\"country\" as \"country\", \"vendors\".\"email\" as \"email\", \"vendors\".\"website\" as \"website\", \"vendors\".\"status\" as \"vendor_status\", \"vendor_responses\".\"id\" as \"vendor_response_id\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"response_status\" as \"rfq_vendor_status\", \"vendor_responses\".\"updated_at\" as \"rfq_vendor_updated\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"rfqs\".\"description\" as \"description\", \"rfqs\".\"due_date\" as \"due_date\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"cbe_evaluations\".\"id\" as \"cbe_id\", \"cbe_evaluations\".\"result\" as \"cbe_result\", \"cbe_evaluations\".\"notes\" as \"cbe_note\", \"cbe_evaluations\".\"updated_at\" as \"cbe_updated\", \"cbe_evaluations\".\"total_cost\" as \"total_cost\", \"cbe_evaluations\".\"currency\" as \"currency\", \"cbe_evaluations\".\"payment_terms\" as \"payment_terms\", \"cbe_evaluations\".\"incoterms\" as \"incoterms\", \"cbe_evaluations\".\"delivery_schedule\" as \"delivery_schedule\" from \"vendors\" left join \"vendor_responses\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"cbe_evaluations\" on (\"cbe_evaluations\".\"vendor_id\" = \"vendors\".\"id\" and \"cbe_evaluations\".\"rfq_id\" = \"vendor_responses\".\"rfq_id\")",
+ "name": "vendor_cbe_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_response_cbe_view": {
+ "columns": {},
+ "definition": "select \"vendor_responses\".\"id\" as \"response_id\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"vendor_id\" as \"vendor_id\", \"vendor_responses\".\"response_status\" as \"response_status\", \"vendor_responses\".\"notes\" as \"response_notes\", \"vendor_responses\".\"responded_by\" as \"responded_by\", \"vendor_responses\".\"responded_at\" as \"responded_at\", \"vendor_responses\".\"updated_at\" as \"response_updated_at\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"rfq_description\", \"rfqs\".\"due_date\" as \"rfq_due_date\", \"rfqs\".\"status\" as \"rfq_status\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"status\" as \"vendor_status\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"vendor_commercial_responses\".\"id\" as \"commercial_response_id\", \"vendor_commercial_responses\".\"response_status\" as \"commercial_response_status\", \"vendor_commercial_responses\".\"total_price\" as \"total_price\", \"vendor_commercial_responses\".\"currency\" as \"currency\", \"vendor_commercial_responses\".\"payment_terms\" as \"payment_terms\", \"vendor_commercial_responses\".\"incoterms\" as \"incoterms\", \"vendor_commercial_responses\".\"delivery_period\" as \"delivery_period\", \"vendor_commercial_responses\".\"warranty_period\" as \"warranty_period\", \"vendor_commercial_responses\".\"validity_period\" as \"validity_period\", \"vendor_commercial_responses\".\"price_breakdown\" as \"price_breakdown\", \"vendor_commercial_responses\".\"commercial_notes\" as \"commercial_notes\", \"vendor_commercial_responses\".\"created_at\" as \"commercial_created_at\", \"vendor_commercial_responses\".\"updated_at\" as \"commercial_updated_at\", (\n SELECT COUNT(*) \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"response_id\" = \"vendor_responses\".\"id\"\n ) as \"attachment_count\", (\n SELECT COUNT(*) \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"commercial_response_id\" = \"vendor_commercial_responses\".\"id\"\n ) as \"commercial_attachment_count\", (\n SELECT COUNT(*) \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"response_id\" = \"vendor_responses\".\"id\"\n AND \"vendor_response_attachments\".\"attachment_type\" = 'TECHNICAL_SPEC'\n ) as \"technical_attachment_count\", (\n SELECT MAX(\"uploaded_at\") \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"response_id\" = \"vendor_responses\".\"id\"\n ) as \"latest_attachment_date\" from \"vendor_responses\" inner join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" inner join \"vendors\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"vendor_commercial_responses\" on \"vendor_commercial_responses\".\"response_id\" = \"vendor_responses\".\"id\"",
+ "name": "vendor_response_cbe_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_responses_view": {
+ "columns": {},
+ "definition": "select \"vendor_responses\".\"id\" as \"response_id\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"vendor_id\" as \"vendor_id\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"rfq_description\", \"rfqs\".\"due_date\" as \"rfq_due_date\", \"rfqs\".\"status\" as \"rfq_status\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"rfqs\".\"created_at\" as \"rfq_created_at\", \"rfqs\".\"updated_at\" as \"rfq_updated_at\", \"rfqs\".\"created_by\" as \"rfq_created_by\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendor_responses\".\"response_status\" as \"response_status\", \"vendor_responses\".\"responded_at\" as \"responded_at\", CASE WHEN \"vendor_technical_responses\".\"id\" IS NOT NULL THEN TRUE ELSE FALSE END as \"has_technical_response\", \"vendor_technical_responses\".\"id\" as \"technical_response_id\", CASE WHEN \"vendor_commercial_responses\".\"id\" IS NOT NULL THEN TRUE ELSE FALSE END as \"has_commercial_response\", \"vendor_commercial_responses\".\"id\" as \"commercial_response_id\", \"vendor_commercial_responses\".\"total_price\" as \"total_price\", \"vendor_commercial_responses\".\"currency\" as \"currency\", \"rfq_evaluations\".\"id\" as \"tbe_id\", \"rfq_evaluations\".\"result\" as \"tbe_result\", \"cbe_evaluations\".\"id\" as \"cbe_id\", \"cbe_evaluations\".\"result\" as \"cbe_result\", (\n SELECT COUNT(*) \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"response_id\" = \"vendor_responses\".\"id\"\n ) as \"attachment_count\" from \"vendor_responses\" inner join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" inner join \"vendors\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"vendor_technical_responses\" on \"vendor_technical_responses\".\"response_id\" = \"vendor_responses\".\"id\" left join \"vendor_commercial_responses\" on \"vendor_commercial_responses\".\"response_id\" = \"vendor_responses\".\"id\" left join \"rfq_evaluations\" on (\"rfq_evaluations\".\"rfq_id\" = \"vendor_responses\".\"rfq_id\" and \"rfq_evaluations\".\"vendor_id\" = \"vendor_responses\".\"vendor_id\" and \"rfq_evaluations\".\"eval_type\" = 'TBE') left join \"cbe_evaluations\" on (\"cbe_evaluations\".\"rfq_id\" = \"vendor_responses\".\"rfq_id\" and \"cbe_evaluations\".\"vendor_id\" = \"vendor_responses\".\"vendor_id\")",
+ "name": "vendor_responses_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_rfq_view": {
+ "columns": {},
+ "definition": "select \"vendors\".\"id\" as \"vendor_id\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"address\" as \"address\", \"vendors\".\"country\" as \"country\", \"vendors\".\"email\" as \"email\", \"vendors\".\"website\" as \"website\", \"vendors\".\"status\" as \"vendor_status\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"response_status\" as \"rfq_vendor_status\", \"vendor_responses\".\"updated_at\" as \"rfq_vendor_updated\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"description\", \"rfqs\".\"due_date\" as \"due_date\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\" from \"vendors\" left join \"vendor_responses\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\"",
+ "name": "vendor_rfq_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_tbe_view": {
+ "columns": {},
+ "definition": "select \"vendors\".\"id\" as \"vendor_id\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"address\" as \"address\", \"vendors\".\"country\" as \"country\", \"vendors\".\"email\" as \"email\", \"vendors\".\"website\" as \"website\", \"vendors\".\"status\" as \"vendor_status\", \"vendor_responses\".\"id\" as \"vendor_response_id\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"response_status\" as \"rfq_vendor_status\", \"vendor_responses\".\"updated_at\" as \"rfq_vendor_updated\", \"vendor_technical_responses\".\"id\" as \"technical_response_id\", \"vendor_technical_responses\".\"response_status\" as \"technical_response_status\", \"vendor_technical_responses\".\"summary\" as \"technical_summary\", \"vendor_technical_responses\".\"notes\" as \"technical_notes\", \"vendor_technical_responses\".\"updated_at\" as \"technical_updated\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"rfqs\".\"status\" as \"rfq_status\", \"rfqs\".\"description\" as \"description\", \"rfqs\".\"due_date\" as \"due_date\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"rfq_evaluations\".\"id\" as \"tbe_id\", \"rfq_evaluations\".\"result\" as \"tbe_result\", \"rfq_evaluations\".\"notes\" as \"tbe_note\", \"rfq_evaluations\".\"updated_at\" as \"tbe_updated\" from \"vendors\" left join \"vendor_responses\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"vendor_technical_responses\" on \"vendor_technical_responses\".\"response_id\" = \"vendor_responses\".\"id\" left join \"rfq_evaluations\" on (\"rfq_evaluations\".\"vendor_id\" = \"vendors\".\"id\" and \"rfq_evaluations\".\"eval_type\" = 'TBE' and \"rfq_evaluations\".\"rfq_id\" = \"vendor_responses\".\"rfq_id\")",
+ "name": "vendor_tbe_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.role_view": {
+ "columns": {},
+ "definition": "select \"roles\".\"id\" as \"id\", \"roles\".\"name\" as \"name\", \"roles\".\"description\" as \"description\", \"roles\".\"domain\" as \"domain\", \"roles\".\"created_at\" as \"created_at\", \"vendors\".\"id\" as \"company_id\", \"vendors\".\"vendor_name\" as \"company_name\", COUNT(\"users\".\"id\") as \"user_count\" from \"roles\" left join \"user_roles\" on \"user_roles\".\"role_id\" = \"roles\".\"id\" left join \"users\" on \"users\".\"id\" = \"user_roles\".\"user_id\" left join \"vendors\" on \"roles\".\"company_id\" = \"vendors\".\"id\" group by \"roles\".\"id\", \"vendors\".\"id\"",
+ "name": "role_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.user_view": {
+ "columns": {},
+ "definition": "select \"users\".\"id\" as \"user_id\", \"users\".\"name\" as \"user_name\", \"users\".\"phone\" as \"user_phone\", \"users\".\"email\" as \"user_email\", \"users\".\"domain\" as \"user_domain\", \"users\".\"image_url\" as \"user_image\", \"vendors\".\"id\" as \"company_id\", \"vendors\".\"vendor_name\" as \"company_name\", \n array_agg(\"roles\".\"name\")\n as \"roles\", \"users\".\"created_at\" as \"created_at\" from \"users\" left join \"vendors\" on \"users\".\"company_id\" = \"vendors\".\"id\" left join \"user_roles\" on \"users\".\"id\" = \"user_roles\".\"user_id\" left join \"roles\" on \"user_roles\".\"role_id\" = \"roles\".\"id\" group by \"users\".\"id\", \"vendors\".\"id\"",
+ "name": "user_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.form_lists_view": {
+ "columns": {},
+ "definition": "select \"tag_type_class_form_mappings\".\"id\" as \"id\", \"tag_type_class_form_mappings\".\"project_id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"tag_type_class_form_mappings\".\"tag_type_label\" as \"tag_type_label\", \"tag_type_class_form_mappings\".\"class_label\" as \"class_label\", \"tag_type_class_form_mappings\".\"form_code\" as \"form_code\", \"tag_type_class_form_mappings\".\"form_name\" as \"form_name\", \"tag_type_class_form_mappings\".\"ep\" as \"ep\", \"tag_type_class_form_mappings\".\"remark\" as \"remark\", \"tag_type_class_form_mappings\".\"created_at\" as \"created_at\", \"tag_type_class_form_mappings\".\"updated_at\" as \"updated_at\" from \"tag_type_class_form_mappings\" inner join \"projects\" on \"tag_type_class_form_mappings\".\"project_id\" = \"projects\".\"id\"",
+ "name": "form_lists_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.view_tag_subfields": {
+ "columns": {
+ "tag_type_code": {
+ "name": "tag_type_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_id": {
+ "name": "attributes_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_description": {
+ "name": "attributes_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "expression": {
+ "name": "expression",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delimiter": {
+ "name": "delimiter",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"tag_subfields\".\"id\" as \"id\", \"tag_subfields\".\"tag_type_code\", \"tag_types\".\"description\", \"tag_subfields\".\"attributes_id\", \"tag_subfields\".\"attributes_description\", \"tag_subfields\".\"expression\", \"tag_subfields\".\"delimiter\", \"tag_subfields\".\"sort_order\", \"tag_subfields\".\"created_at\", \"tag_subfields\".\"updated_at\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\", \"projects\".\"name\" from \"tag_subfields\" inner join \"tag_types\" on (\"tag_subfields\".\"tag_type_code\" = \"tag_types\".\"code\" and \"tag_subfields\".\"project_id\" = \"tag_types\".\"project_id\") inner join \"projects\" on \"tag_subfields\".\"project_id\" = \"projects\".\"id\"",
+ "name": "view_tag_subfields",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.document_stages_view": {
+ "columns": {
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stage_count": {
+ "name": "stage_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stage_list": {
+ "name": "stage_list",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n SELECT\n d.id AS document_id,\n d.doc_number,\n d.title,\n d.status,\n d.issued_date,\n d.contract_id,\n (SELECT COUNT(*) FROM issue_stages WHERE document_id = d.id) AS stage_count,\n COALESCE( \n (SELECT json_agg(i.stage_name) FROM issue_stages i WHERE i.document_id = d.id), \n '[]'\n ) AS stage_list,\n d.created_at,\n d.updated_at\n FROM documents d\n",
+ "name": "document_stages_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.enhanced_documents_view": {
+ "columns": {
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "drawing_kind": {
+ "name": "drawing_kind",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_doc_number": {
+ "name": "vendor_doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pic": {
+ "name": "pic",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_code": {
+ "name": "project_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "c_gbn": {
+ "name": "c_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "d_gbn": {
+ "name": "d_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "degree_gbn": {
+ "name": "degree_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dept_gbn": {
+ "name": "dept_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "j_gbn": {
+ "name": "j_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "s_gbn": {
+ "name": "s_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_id": {
+ "name": "current_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_name": {
+ "name": "current_stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_status": {
+ "name": "current_stage_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_order": {
+ "name": "current_stage_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_plan_date": {
+ "name": "current_stage_plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_actual_date": {
+ "name": "current_stage_actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_assignee_name": {
+ "name": "current_stage_assignee_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_priority": {
+ "name": "current_stage_priority",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_until_due": {
+ "name": "days_until_due",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_overdue": {
+ "name": "is_overdue",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_difference": {
+ "name": "days_difference",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_stages": {
+ "name": "total_stages",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_stages": {
+ "name": "completed_stages",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "progress_percentage": {
+ "name": "progress_percentage",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_id": {
+ "name": "latest_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision": {
+ "name": "latest_revision",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_status": {
+ "name": "latest_revision_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_uploader_name": {
+ "name": "latest_revision_uploader_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_submitted_date": {
+ "name": "latest_submitted_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "all_stages": {
+ "name": "all_stages",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_count": {
+ "name": "attachment_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n WITH document_stats AS (\n SELECT \n d.id as document_id,\n COUNT(ist.id) as total_stages,\n COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) as completed_stages,\n CASE \n WHEN COUNT(ist.id) > 0 \n THEN ROUND((COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) * 100.0) / COUNT(ist.id))\n ELSE 0 \n END as progress_percentage\n FROM documents d\n LEFT JOIN issue_stages ist ON d.id = ist.document_id\n GROUP BY d.id\n ),\n current_stage_info AS (\n SELECT DISTINCT ON (document_id)\n document_id,\n id as current_stage_id,\n stage_name as current_stage_name,\n stage_status as current_stage_status,\n stage_order as current_stage_order,\n plan_date as current_stage_plan_date,\n actual_date as current_stage_actual_date,\n assignee_name as current_stage_assignee_name,\n priority as current_stage_priority,\n CASE \n WHEN actual_date IS NULL AND plan_date IS NOT NULL \n THEN plan_date - CURRENT_DATE\n ELSE NULL \n END as days_until_due,\n CASE \n WHEN actual_date IS NULL AND plan_date < CURRENT_DATE \n THEN true\n WHEN actual_date IS NOT NULL AND actual_date > plan_date \n THEN true\n ELSE false \n END as is_overdue,\n CASE \n WHEN actual_date IS NOT NULL AND plan_date IS NOT NULL \n THEN actual_date - plan_date\n ELSE NULL \n END as days_difference\n FROM issue_stages\n WHERE stage_status NOT IN ('COMPLETED', 'APPROVED')\n ORDER BY document_id, stage_order ASC, priority DESC\n ),\n latest_revision_info AS (\n SELECT DISTINCT ON (ist.document_id)\n ist.document_id,\n r.id as latest_revision_id,\n r.revision as latest_revision,\n r.revision_status as latest_revision_status,\n r.uploader_name as latest_revision_uploader_name,\n r.submitted_date as latest_submitted_date\n FROM revisions r\n JOIN issue_stages ist ON r.issue_stage_id = ist.id\n ORDER BY ist.document_id, r.created_at DESC\n ),\n -- 리비전별 첨부파일 집계\n revision_attachments AS (\n SELECT \n r.id as revision_id,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', da.id,\n 'revisionId', da.revision_id,\n 'fileName', da.file_name,\n 'filePath', da.file_path,\n 'fileSize', da.file_size,\n 'fileType', da.file_type,\n 'createdAt', da.created_at,\n 'updatedAt', da.updated_at\n ) ORDER BY da.created_at\n ) FILTER (WHERE da.id IS NOT NULL),\n '[]'::json\n ) as attachments\n FROM revisions r\n LEFT JOIN document_attachments da ON r.id = da.revision_id\n GROUP BY r.id\n ),\n -- 스테이지별 리비전 집계 (첨부파일 포함)\n stage_revisions AS (\n SELECT \n ist.id as stage_id,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', r.id,\n 'issueStageId', r.issue_stage_id,\n 'revision', r.revision,\n 'uploaderType', r.uploader_type,\n 'uploaderId', r.uploader_id,\n 'uploaderName', r.uploader_name,\n 'comment', r.comment,\n 'usage', r.usage,\n 'revisionStatus', r.revision_status,\n 'submittedDate', r.submitted_date,\n 'uploadedAt', r.uploaded_at,\n 'approvedDate', r.approved_date,\n 'reviewStartDate', r.review_start_date,\n 'rejectedDate', r.rejected_date,\n 'reviewerId', r.reviewer_id,\n 'reviewerName', r.reviewer_name,\n 'reviewComments', r.review_comments,\n 'createdAt', r.created_at,\n 'updatedAt', r.updated_at,\n 'attachments', ra.attachments\n ) ORDER BY r.created_at\n ) FILTER (WHERE r.id IS NOT NULL),\n '[]'::json\n ) as revisions\n FROM issue_stages ist\n LEFT JOIN revisions r ON ist.id = r.issue_stage_id\n LEFT JOIN revision_attachments ra ON r.id = ra.revision_id\n GROUP BY ist.id\n ),\n -- 문서별 스테이지 집계 (리비전 포함)\n stage_aggregation AS (\n SELECT \n ist.document_id,\n json_agg(\n json_build_object(\n 'id', ist.id,\n 'stageName', ist.stage_name,\n 'stageStatus', ist.stage_status,\n 'stageOrder', ist.stage_order,\n 'planDate', ist.plan_date,\n 'actualDate', ist.actual_date,\n 'assigneeName', ist.assignee_name,\n 'priority', ist.priority,\n 'revisions', sr.revisions\n ) ORDER BY ist.stage_order\n ) as all_stages\n FROM issue_stages ist\n LEFT JOIN stage_revisions sr ON ist.id = sr.stage_id\n GROUP BY ist.document_id\n ),\n attachment_counts AS (\n SELECT \n ist.document_id,\n COUNT(da.id) as attachment_count\n FROM issue_stages ist\n LEFT JOIN revisions r ON ist.id = r.issue_stage_id\n LEFT JOIN document_attachments da ON r.id = da.revision_id\n GROUP BY ist.document_id\n )\n \n SELECT \n d.id as document_id,\n d.doc_number,\n d.drawing_kind,\n d.vendor_doc_number, -- ✅ 벤더 문서 번호 추가\n d.title,\n d.pic,\n d.status,\n d.issued_date,\n d.contract_id,\n\n d.c_gbn,\n d.d_gbn,\n d.degree_gbn,\n d.dept_gbn,\n d.s_gbn,\n d.j_gbn,\n\n\n \n -- ✅ 프로젝트 및 벤더 정보 추가\n p.code as project_code,\n v.vendor_name as vendor_name,\n v.vendor_code as vendor_code,\n c.vendor_id as vendor_id,\n \n -- 현재 스테이지 정보\n csi.current_stage_id,\n csi.current_stage_name,\n csi.current_stage_status,\n csi.current_stage_order,\n csi.current_stage_plan_date,\n csi.current_stage_actual_date,\n csi.current_stage_assignee_name,\n csi.current_stage_priority,\n \n -- 계산 필드\n csi.days_until_due,\n csi.is_overdue,\n csi.days_difference,\n \n -- 진행률 정보\n ds.total_stages,\n ds.completed_stages,\n ds.progress_percentage,\n \n -- 최신 리비전 정보\n lri.latest_revision_id,\n lri.latest_revision,\n lri.latest_revision_status,\n lri.latest_revision_uploader_name,\n lri.latest_submitted_date,\n \n -- 전체 스테이지 (리비전 및 첨부파일 포함)\n COALESCE(sa.all_stages, '[]'::json) as all_stages,\n \n -- 기타\n COALESCE(ac.attachment_count, 0) as attachment_count,\n d.created_at,\n d.updated_at\n \n FROM documents d\n -- ✅ contracts, projects, vendors 테이블 JOIN 추가\n LEFT JOIN contracts c ON d.contract_id = c.id\n LEFT JOIN projects p ON c.project_id = p.id\n LEFT JOIN vendors v ON c.vendor_id = v.id\n \n LEFT JOIN document_stats ds ON d.id = ds.document_id\n LEFT JOIN current_stage_info csi ON d.id = csi.document_id\n LEFT JOIN latest_revision_info lri ON d.id = lri.document_id\n LEFT JOIN stage_aggregation sa ON d.id = sa.document_id\n LEFT JOIN attachment_counts ac ON d.id = ac.document_id\n \n ORDER BY d.created_at DESC\n",
+ "name": "enhanced_documents_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.simplified_documents_view": {
+ "columns": {
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "drawing_kind": {
+ "name": "drawing_kind",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_doc_number": {
+ "name": "vendor_doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pic": {
+ "name": "pic",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_code": {
+ "name": "project_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "c_gbn": {
+ "name": "c_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "d_gbn": {
+ "name": "d_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "degree_gbn": {
+ "name": "degree_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dept_gbn": {
+ "name": "dept_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "j_gbn": {
+ "name": "j_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "s_gbn": {
+ "name": "s_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "first_stage_id": {
+ "name": "first_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "first_stage_name": {
+ "name": "first_stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "first_stage_plan_date": {
+ "name": "first_stage_plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "first_stage_actual_date": {
+ "name": "first_stage_actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "second_stage_id": {
+ "name": "second_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "second_stage_name": {
+ "name": "second_stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "second_stage_plan_date": {
+ "name": "second_stage_plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "second_stage_actual_date": {
+ "name": "second_stage_actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "all_stages": {
+ "name": "all_stages",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_count": {
+ "name": "attachment_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n WITH \n -- 리비전별 첨부파일 집계\n revision_attachments AS (\n SELECT \n r.id as revision_id,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', da.id,\n 'revisionId', da.revision_id,\n 'fileName', da.file_name,\n 'filePath', da.file_path,\n 'fileSize', da.file_size,\n 'fileType', da.file_type,\n 'createdAt', da.created_at,\n 'updatedAt', da.updated_at\n ) ORDER BY da.created_at\n ) FILTER (WHERE da.id IS NOT NULL),\n '[]'::json\n ) as attachments\n FROM revisions r\n LEFT JOIN document_attachments da ON r.id = da.revision_id\n GROUP BY r.id\n ),\n -- 스테이지별 리비전 집계 (첨부파일 포함)\n stage_revisions AS (\n SELECT \n ist.id as stage_id,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', r.id,\n 'issueStageId', r.issue_stage_id,\n 'revision', r.revision,\n 'uploaderType', r.uploader_type,\n 'uploaderId', r.uploader_id,\n 'uploaderName', r.uploader_name,\n 'comment', r.comment,\n 'usage', r.usage,\n 'usageType', r.usage_type,\n 'revisionStatus', r.revision_status,\n 'submittedDate', r.submitted_date,\n 'uploadedAt', r.uploaded_at,\n 'approvedDate', r.approved_date,\n 'reviewStartDate', r.review_start_date,\n 'rejectedDate', r.rejected_date,\n 'reviewerId', r.reviewer_id,\n 'reviewerName', r.reviewer_name,\n 'reviewComments', r.review_comments,\n 'createdAt', r.created_at,\n 'updatedAt', r.updated_at,\n 'attachments', ra.attachments\n ) ORDER BY r.created_at\n ) FILTER (WHERE r.id IS NOT NULL),\n '[]'::json\n ) as revisions\n FROM issue_stages ist\n LEFT JOIN revisions r ON ist.id = r.issue_stage_id\n LEFT JOIN revision_attachments ra ON r.id = ra.revision_id\n GROUP BY ist.id\n ),\n -- 문서별 스테이지 집계 (리비전 포함)\n stage_aggregation AS (\n SELECT \n ist.document_id,\n json_agg(\n json_build_object(\n 'id', ist.id,\n 'stageName', ist.stage_name,\n 'stageStatus', ist.stage_status,\n 'stageOrder', ist.stage_order,\n 'planDate', ist.plan_date,\n 'actualDate', ist.actual_date,\n 'assigneeName', ist.assignee_name,\n 'priority', ist.priority,\n 'revisions', sr.revisions\n ) ORDER BY ist.stage_order\n ) as all_stages\n FROM issue_stages ist\n LEFT JOIN stage_revisions sr ON ist.id = sr.stage_id\n GROUP BY ist.document_id\n ),\n -- 첫 번째 스테이지 정보 (drawingKind에 따라 다른 조건)\n first_stage_info AS (\n SELECT DISTINCT ON (ist.document_id)\n ist.document_id,\n ist.id as first_stage_id,\n ist.stage_name as first_stage_name,\n ist.plan_date as first_stage_plan_date,\n ist.actual_date as first_stage_actual_date\n FROM issue_stages ist\n JOIN documents d ON ist.document_id = d.id\n WHERE \n (d.drawing_kind = 'B4' AND LOWER(ist.stage_name) LIKE '%pre%') OR\n (d.drawing_kind = 'B3' AND LOWER(ist.stage_name) LIKE '%approval%') OR\n (d.drawing_kind = 'B5' AND LOWER(ist.stage_name) LIKE '%first%')\n ORDER BY ist.document_id, ist.stage_order ASC\n ),\n -- 두 번째 스테이지 정보 (drawingKind에 따라 다른 조건)\n second_stage_info AS (\n SELECT DISTINCT ON (ist.document_id)\n ist.document_id,\n ist.id as second_stage_id,\n ist.stage_name as second_stage_name,\n ist.plan_date as second_stage_plan_date,\n ist.actual_date as second_stage_actual_date\n FROM issue_stages ist\n JOIN documents d ON ist.document_id = d.id\n WHERE \n (d.drawing_kind = 'B4' AND LOWER(ist.stage_name) LIKE '%work%') OR\n (d.drawing_kind = 'B3' AND LOWER(ist.stage_name) LIKE '%work%') OR\n (d.drawing_kind = 'B5' AND LOWER(ist.stage_name) LIKE '%second%')\n ORDER BY ist.document_id, ist.stage_order ASC\n ),\n -- 첨부파일 수 집계\n attachment_counts AS (\n SELECT \n ist.document_id,\n COUNT(da.id) as attachment_count\n FROM issue_stages ist\n LEFT JOIN revisions r ON ist.id = r.issue_stage_id\n LEFT JOIN document_attachments da ON r.id = da.revision_id\n GROUP BY ist.document_id\n )\n \n SELECT \n d.id as document_id,\n d.doc_number,\n d.drawing_kind,\n d.vendor_doc_number,\n d.title,\n d.pic,\n d.status,\n d.issued_date,\n d.contract_id,\n \n -- B4 전용 필드들\n d.c_gbn,\n d.d_gbn,\n d.degree_gbn,\n d.dept_gbn,\n d.s_gbn,\n d.j_gbn,\n \n -- 프로젝트 및 벤더 정보\n p.code as project_code,\n v.vendor_name as vendor_name,\n v.vendor_code as vendor_code,\n \n -- 첫 번째 스테이지 정보\n fsi.first_stage_id,\n fsi.first_stage_name,\n fsi.first_stage_plan_date,\n fsi.first_stage_actual_date,\n \n -- 두 번째 스테이지 정보\n ssi.second_stage_id,\n ssi.second_stage_name,\n ssi.second_stage_plan_date,\n ssi.second_stage_actual_date,\n \n -- 전체 스테이지 (리비전 및 첨부파일 포함)\n COALESCE(sa.all_stages, '[]'::json) as all_stages,\n \n -- 기타\n COALESCE(ac.attachment_count, 0) as attachment_count,\n d.created_at,\n d.updated_at\n \n FROM documents d\n -- contracts, projects, vendors 테이블 JOIN\n LEFT JOIN contracts c ON d.contract_id = c.id\n INNER JOIN projects p ON c.project_id = p.id AND p.type = 'ship'\n LEFT JOIN vendors v ON c.vendor_id = v.id\n \n -- 스테이지 정보 JOIN\n LEFT JOIN first_stage_info fsi ON d.id = fsi.document_id\n LEFT JOIN second_stage_info ssi ON d.id = ssi.document_id\n LEFT JOIN stage_aggregation sa ON d.id = sa.document_id\n LEFT JOIN attachment_counts ac ON d.id = ac.document_id\n \n ORDER BY d.created_at DESC\n",
+ "name": "simplified_documents_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.sync_status_view": {
+ "columns": {
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "target_system": {
+ "name": "target_system",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "total_changes": {
+ "name": "total_changes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pending_changes": {
+ "name": "pending_changes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "synced_changes": {
+ "name": "synced_changes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "failed_changes": {
+ "name": "failed_changes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "last_sync_at": {
+ "name": "last_sync_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "next_sync_at": {
+ "name": "next_sync_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sync_enabled": {
+ "name": "sync_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n WITH change_stats AS (\n SELECT \n cl.contract_id,\n sc.target_system,\n COUNT(*) as total_changes,\n COUNT(CASE WHEN cl.is_synced = false AND cl.sync_attempts < sc.retry_max_attempts THEN 1 END) as pending_changes,\n COUNT(CASE WHEN cl.is_synced = true THEN 1 END) as synced_changes,\n COUNT(CASE WHEN cl.sync_attempts >= sc.retry_max_attempts AND cl.is_synced = false THEN 1 END) as failed_changes,\n MAX(cl.synced_at) as last_sync_at\n FROM change_logs cl\n CROSS JOIN sync_configs sc \n WHERE cl.contract_id = sc.contract_id\n AND (cl.target_systems IS NULL OR cl.target_systems @> to_jsonb(sc.target_system))\n GROUP BY cl.contract_id, sc.target_system\n )\n SELECT \n cs.contract_id,\n cs.target_system,\n COALESCE(cs.total_changes, 0) as total_changes,\n COALESCE(cs.pending_changes, 0) as pending_changes,\n COALESCE(cs.synced_changes, 0) as synced_changes,\n COALESCE(cs.failed_changes, 0) as failed_changes,\n cs.last_sync_at,\n CASE \n WHEN sc.sync_enabled = true AND sc.last_successful_sync IS NOT NULL \n THEN sc.last_successful_sync + (sc.sync_interval_minutes || ' minutes')::interval\n ELSE NULL\n END as next_sync_at,\n sc.sync_enabled\n FROM sync_configs sc\n LEFT JOIN change_stats cs ON sc.contract_id = cs.contract_id AND sc.target_system = cs.target_system\n",
+ "name": "sync_status_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_documents_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pic": {
+ "name": "pic",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "latest_stage_id": {
+ "name": "latest_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_stage_name": {
+ "name": "latest_stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_stage_plan_date": {
+ "name": "latest_stage_plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_stage_actual_date": {
+ "name": "latest_stage_actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_id": {
+ "name": "latest_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision": {
+ "name": "latest_revision",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_uploader_type": {
+ "name": "latest_revision_uploader_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_uploader_name": {
+ "name": "latest_revision_uploader_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_count": {
+ "name": "attachment_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n SELECT \n d.id, \n d.doc_number,\n d.title,\n d.pic,\n d.status,\n d.issued_date,\n d.contract_id,\n \n (SELECT id FROM issue_stages WHERE document_id = d.id ORDER BY created_at DESC LIMIT 1) AS latest_stage_id,\n (SELECT stage_name FROM issue_stages WHERE document_id = d.id ORDER BY created_at DESC LIMIT 1) AS latest_stage_name,\n (SELECT plan_date FROM issue_stages WHERE document_id = d.id ORDER BY created_at DESC LIMIT 1) AS latest_stage_plan_date,\n (SELECT actual_date FROM issue_stages WHERE document_id = d.id ORDER BY created_at DESC LIMIT 1) AS latest_stage_actual_date,\n \n (SELECT r.id FROM revisions r JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id ORDER BY r.created_at DESC LIMIT 1) AS latest_revision_id,\n (SELECT r.revision FROM revisions r JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id ORDER BY r.created_at DESC LIMIT 1) AS latest_revision,\n (SELECT r.uploader_type FROM revisions r JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id ORDER BY r.created_at DESC LIMIT 1) AS latest_revision_uploader_type,\n (SELECT r.uploader_name FROM revisions r JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id ORDER BY r.created_at DESC LIMIT 1) AS latest_revision_uploader_name,\n \n (SELECT COUNT(*) FROM document_attachments a JOIN revisions r ON a.revision_id = r.id JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id) AS attachment_count,\n \n d.created_at,\n d.updated_at\n FROM documents d\n JOIN contracts c ON d.contract_id = c.id\n ",
+ "name": "vendor_documents_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_candidates_with_vendor_info": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "company_name": {
+ "name": "company_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_email": {
+ "name": "contact_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_phone": {
+ "name": "contact_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source": {
+ "name": "source",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'COLLECTED'"
+ },
+ "items": {
+ "name": "items",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"vendor_candidates\".\"id\", \"vendor_candidates\".\"company_name\", \"vendor_candidates\".\"contact_email\", \"vendor_candidates\".\"contact_phone\", \"vendor_candidates\".\"tax_id\", \"vendor_candidates\".\"address\", \"vendor_candidates\".\"country\", \"vendor_candidates\".\"source\", \"vendor_candidates\".\"status\", \"vendor_candidates\".\"items\", \"vendor_candidates\".\"remark\", \"vendor_candidates\".\"created_at\", \"vendor_candidates\".\"updated_at\", \"vendors\".\"vendor_name\", \"vendors\".\"vendor_code\", \"vendors\".\"created_at\" as \"vendor_created_at\", (\n SELECT l2.\"created_at\"\n FROM \"vendor_candidate_logs\" l2\n WHERE l2.\"vendor_candidate_id\" = \"vendor_candidates\".\"id\"\n AND l2.\"action\" = 'status_change'\n ORDER BY l2.\"created_at\" DESC\n LIMIT 1\n ) as \"last_status_change_at\", (\n SELECT u.\"name\"\n FROM \"users\" u\n JOIN \"vendor_candidate_logs\" l3\n ON l3.\"user_id\" = u.\"id\"\n WHERE l3.\"vendor_candidate_id\" = \"vendor_candidates\".\"id\"\n AND l3.\"action\" = 'status_change'\n ORDER BY l3.\"created_at\" DESC\n LIMIT 1\n ) as \"last_status_change_by\", (\n SELECT l4.\"created_at\"\n FROM \"vendor_candidate_logs\" l4\n WHERE l4.\"vendor_candidate_id\" = \"vendor_candidates\".\"id\"\n AND l4.\"action\" = 'invite_sent'\n ORDER BY l4.\"created_at\" DESC\n LIMIT 1\n ) as \"last_invitation_at\", (\n SELECT u2.\"name\"\n FROM \"users\" u2\n JOIN \"vendor_candidate_logs\" l5\n ON l5.\"user_id\" = u2.\"id\"\n WHERE l5.\"vendor_candidate_id\" = \"vendor_candidates\".\"id\"\n AND l5.\"action\" = 'invite_sent'\n ORDER BY l5.\"created_at\" DESC\n LIMIT 1\n ) as \"last_invitation_by\" from \"vendor_candidates\" left join \"vendors\" on \"vendor_candidates\".\"vendor_id\" = \"vendors\".\"id\"",
+ "name": "vendor_candidates_with_vendor_info",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "business_size": {
+ "name": "business_size",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "website": {
+ "name": "website",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING_REVIEW'"
+ },
+ "representative_name": {
+ "name": "representative_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_birth": {
+ "name": "representative_birth",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_email": {
+ "name": "representative_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_phone": {
+ "name": "representative_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "corporate_registration_number": {
+ "name": "corporate_registration_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "credit_agency": {
+ "name": "credit_agency",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "credit_rating": {
+ "name": "credit_rating",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cash_flow_rating": {
+ "name": "cash_flow_rating",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"id\", \"vendor_name\", \"vendor_code\", \"tax_id\", \"address\", \"business_size\", \"country\", \"phone\", \"email\", \"website\", \"status\", \"representative_name\", \"representative_birth\", \"representative_email\", \"representative_phone\", \"corporate_registration_number\", \"credit_agency\", \"credit_rating\", \"cash_flow_rating\", \"created_at\", \"updated_at\", \n (SELECT COALESCE(\n json_agg(\n json_build_object(\n 'id', c.id,\n 'contactName', c.contact_name,\n 'contactPosition', c.contact_position,\n 'contactEmail', c.contact_email,\n 'contactPhone', c.contact_phone,\n 'isPrimary', c.is_primary\n )\n ),\n '[]'::json\n )\n FROM vendor_contacts c\n WHERE c.vendor_id = vendors.id)\n as \"contacts\", \n (SELECT COALESCE(\n json_agg(\n json_build_object(\n 'id', a.id,\n 'fileName', a.file_name,\n 'filePath', a.file_path,\n 'attachmentType', a.attachment_type,\n 'createdAt', a.created_at\n )\n ORDER BY a.attachment_type, a.created_at DESC\n ),\n '[]'::json\n )\n FROM vendor_attachments a\n WHERE a.vendor_id = vendors.id)\n as \"attachments\", \n (SELECT COUNT(*)\n FROM vendor_attachments a\n WHERE a.vendor_id = vendors.id)\n as \"attachment_count\", \n (SELECT COUNT(*) \n FROM vendor_contacts c\n WHERE c.vendor_id = vendors.id)\n as \"contact_count\" from \"vendors\"",
+ "name": "vendor_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_items_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"vendor_possible_items\".\"id\", \"vendor_possible_items\".\"vendor_id\", \"items\".\"item_name\", \"items\".\"item_code\", \"items\".\"description\", \"vendor_possible_items\".\"created_at\", \"vendor_possible_items\".\"updated_at\" from \"vendor_possible_items\" left join \"items\" on \"vendor_possible_items\".\"item_code\" = \"items\".\"item_code\"",
+ "name": "vendor_items_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_materials_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "unit_of_measure": {
+ "name": "unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "steel_type": {
+ "name": "steel_type",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_material": {
+ "name": "grade_material",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"vendor_possible_materials\".\"id\", \"vendor_possible_materials\".\"vendor_id\", \"materials\".\"item_name\", \"materials\".\"item_code\", \"materials\".\"description\", \"materials\".\"unit_of_measure\", \"materials\".\"steel_type\", \"materials\".\"grade_material\", \"vendor_possible_materials\".\"created_at\", \"vendor_possible_materials\".\"updated_at\" from \"vendor_possible_materials\" left join \"materials\" on \"vendor_possible_materials\".\"item_code\" = \"materials\".\"item_code\"",
+ "name": "vendor_materials_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendors_with_types": {
+ "columns": {},
+ "definition": "select \"vendors\".\"id\" as \"id\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"tax_id\" as \"tax_id\", \"vendors\".\"address\" as \"address\", \"vendors\".\"country\" as \"country\", \"vendors\".\"phone\" as \"phone\", \"vendors\".\"email\" as \"email\", \"vendors\".\"business_size\" as \"business_size\", \"vendors\".\"website\" as \"website\", \"vendors\".\"status\" as \"status\", \"vendors\".\"vendor_type_id\" as \"vendor_type_id\", \"vendors\".\"representative_name\" as \"representative_name\", \"vendors\".\"representative_birth\" as \"representative_birth\", \"vendors\".\"representative_email\" as \"representative_email\", \"vendors\".\"representative_phone\" as \"representative_phone\", \"vendors\".\"corporate_registration_number\" as \"corporate_registration_number\", \"vendors\".\"items\" as \"items\", \"vendors\".\"credit_agency\" as \"credit_agency\", \"vendors\".\"credit_rating\" as \"credit_rating\", \"vendors\".\"cash_flow_rating\" as \"cash_flow_rating\", \"vendors\".\"created_at\" as \"created_at\", \"vendors\".\"updated_at\" as \"updated_at\", \"vendor_types\".\"name_ko\" as \"vendor_type_name\", \"vendor_types\".\"name_en\" as \"vendor_type_name_en\", \"vendor_types\".\"code\" as \"vendor_type_code\", \n CASE\n WHEN \"vendors\".\"status\" = 'ACTIVE' THEN '정규업체'\n WHEN \"vendors\".\"status\" IN ('INACTIVE', 'BLACKLISTED', 'REJECTED') THEN ''\n ELSE '잠재업체'\n END\n as \"vendor_category\" from \"vendors\" left join \"vendor_types\" on \"vendors\".\"vendor_type_id\" = \"vendor_types\".\"id\"",
+ "name": "vendors_with_types",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.basic_contract_view": {
+ "columns": {},
+ "definition": "select \"basic_contract\".\"id\" as \"id\", \"basic_contract\".\"template_id\" as \"template_id\", \"basic_contract\".\"vendor_id\" as \"vendor_id\", \"basic_contract\".\"requested_by\" as \"requested_by\", \"basic_contract\".\"status\" as \"basic_contract_status\", \"basic_contract\".\"created_at\" as \"created_at\", \"basic_contract\".\"updated_at\" as \"updated_at\", \"basic_contract\".\"completed_at\" as \"completed_at\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"email\" as \"vendor_email\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"users\".\"name\" as \"requested_by_name\", \"basic_contract_templates\".\"template_name\" as \"template_name\", \"basic_contract_templates\".\"revision\" as \"template_revision\", \"basic_contract_templates\".\"status\" as \"template_status\", \"basic_contract_templates\".\"validity_period\" as \"validity_period\", \"basic_contract_templates\".\"legal_review_required\" as \"legal_review_required\", \"basic_contract_templates\".\"shipbuilding_applicable\" as \"shipbuilding_applicable\", \"basic_contract_templates\".\"wind_applicable\" as \"wind_applicable\", \"basic_contract_templates\".\"pc_applicable\" as \"pc_applicable\", \"basic_contract_templates\".\"nb_applicable\" as \"nb_applicable\", \"basic_contract_templates\".\"rc_applicable\" as \"rc_applicable\", \"basic_contract_templates\".\"gy_applicable\" as \"gy_applicable\", \"basic_contract_templates\".\"sys_applicable\" as \"sys_applicable\", \"basic_contract_templates\".\"infra_applicable\" as \"infra_applicable\", \"basic_contract_templates\".\"file_path\" as \"template_file_path\", \"basic_contract_templates\".\"file_name\" as \"template_file_name\", \"basic_contract\".\"file_path\" as \"signed_file_path\", \"basic_contract\".\"file_name\" as \"signed_file_name\", \"basic_contract_templates\".\"created_at\" as \"template_created_at\", \"basic_contract_templates\".\"created_by\" as \"template_created_by\", \"basic_contract_templates\".\"updated_at\" as \"template_updated_at\", \"basic_contract_templates\".\"updated_by\" as \"template_updated_by\", \"basic_contract_templates\".\"disposed_at\" as \"template_disposed_at\", \"basic_contract_templates\".\"restored_at\" as \"template_restored_at\" from \"basic_contract\" left join \"vendors\" on \"basic_contract\".\"vendor_id\" = \"vendors\".\"id\" left join \"users\" on \"basic_contract\".\"requested_by\" = \"users\".\"id\" left join \"basic_contract_templates\" on \"basic_contract\".\"template_id\" = \"basic_contract_templates\".\"id\"",
+ "name": "basic_contract_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.pr_items_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "procurement_rfqs_id": {
+ "name": "procurement_rfqs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_item": {
+ "name": "rfq_item",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pr_item": {
+ "name": "pr_item",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pr_no": {
+ "name": "pr_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_code": {
+ "name": "material_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_category": {
+ "name": "material_category",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "acc": {
+ "name": "acc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_description": {
+ "name": "material_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "size": {
+ "name": "size",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "uom": {
+ "name": "uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gross_weight": {
+ "name": "gross_weight",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "gw_uom": {
+ "name": "gw_uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "spec_no": {
+ "name": "spec_no",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "spec_url": {
+ "name": "spec_url",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tracking_no": {
+ "name": "tracking_no",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "major_yn": {
+ "name": "major_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "project_def": {
+ "name": "project_def",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_sc": {
+ "name": "project_sc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_kl": {
+ "name": "project_kl",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_lc": {
+ "name": "project_lc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_dl": {
+ "name": "project_dl",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"pr_items\".\"id\", \"pr_items\".\"procurement_rfqs_id\", \"pr_items\".\"rfq_item\", \"pr_items\".\"pr_item\", \"pr_items\".\"pr_no\", \"pr_items\".\"material_code\", \"pr_items\".\"material_category\", \"pr_items\".\"acc\", \"pr_items\".\"material_description\", \"pr_items\".\"size\", \"pr_items\".\"delivery_date\", \"pr_items\".\"quantity\", \"pr_items\".\"uom\", \"pr_items\".\"gross_weight\", \"pr_items\".\"gw_uom\", \"pr_items\".\"spec_no\", \"pr_items\".\"spec_url\", \"pr_items\".\"tracking_no\", \"pr_items\".\"major_yn\", \"pr_items\".\"project_def\", \"pr_items\".\"project_sc\", \"pr_items\".\"project_kl\", \"pr_items\".\"project_lc\", \"pr_items\".\"project_dl\", \"pr_items\".\"remark\", \"procurement_rfqs\".\"rfq_code\", \"procurement_rfqs\".\"item_code\", \"procurement_rfqs\".\"item_name\" from \"pr_items\" left join \"procurement_rfqs\" on \"pr_items\".\"procurement_rfqs_id\" = \"procurement_rfqs\".\"id\"",
+ "name": "pr_items_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.procurement_rfq_details_view": {
+ "columns": {},
+ "definition": "select \"rfq_details\".\"id\" as \"detail_id\", \"rfqs\".\"id\" as \"rfq_id\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"rfqs\".\"item_code\" as \"item_code\", \"rfqs\".\"item_name\" as \"item_name\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"id\" as \"vendor_id\", \"vendors\".\"country\" as \"vendor_country\", \"rfq_details\".\"currency\" as \"currency\", \"payment_terms\".\"code\" as \"payment_terms_code\", \"payment_terms\".\"description\" as \"payment_terms_description\", \"incoterms\".\"code\" as \"incoterms_code\", \"incoterms\".\"description\" as \"incoterms_description\", \"rfq_details\".\"incoterms_detail\" as \"incoterms_detail\", \"rfq_details\".\"delivery_date\" as \"delivery_date\", \"rfq_details\".\"tax_code\" as \"tax_code\", \"rfq_details\".\"place_of_shipping\" as \"place_of_shipping\", \"rfq_details\".\"place_of_destination\" as \"place_of_destination\", \"rfq_details\".\"material_price_related_yn\" as \"material_price_related_yn\", \"updated_by_user\".\"name\" as \"updated_by_user_name\", \"rfq_details\".\"updated_at\" as \"updated_at\", (\n SELECT COUNT(*) \n FROM pr_items \n WHERE procurement_rfqs_id = \"rfqs\".\"id\"\n ) as \"pr_items_count\", (\n SELECT COUNT(*) \n FROM pr_items \n WHERE procurement_rfqs_id = \"rfqs\".\"id\" \n AND major_yn = true\n ) as \"major_items_count\", (\n SELECT COUNT(*) \n FROM procurement_rfq_comments \n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ) as \"comment_count\", (\n SELECT created_at \n FROM procurement_rfq_comments \n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY created_at DESC LIMIT 1\n ) as \"last_comment_date\", (\n SELECT created_at \n FROM procurement_rfq_comments \n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\" AND is_vendor_comment = true\n ORDER BY created_at DESC LIMIT 1\n ) as \"last_vendor_comment_date\", (\n SELECT COUNT(*) \n FROM procurement_rfq_attachments \n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ) as \"attachment_count\", (\n SELECT COUNT(*) > 0\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ) as \"has_quotation\", (\n SELECT status\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY created_at DESC LIMIT 1\n ) as \"quotation_status\", (\n SELECT total_price\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY created_at DESC LIMIT 1\n ) as \"quotation_total_price\", (\n SELECT quotation_version\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY quotation_version DESC LIMIT 1\n ) as \"quotation_version\", (\n SELECT COUNT(DISTINCT quotation_version)\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ) as \"quotation_version_count\", (\n SELECT created_at\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY quotation_version DESC LIMIT 1\n ) as \"last_quotation_date\" from \"procurement_rfq_details\" \"rfq_details\" left join \"procurement_rfqs\" \"rfqs\" on \"rfq_details\".\"procurement_rfqs_id\" = \"rfqs\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"vendors\" on \"rfq_details\".\"vendors_id\" = \"vendors\".\"id\" left join \"payment_terms\" on \"rfq_details\".\"payment_terms_code\" = \"payment_terms\".\"code\" left join \"incoterms\" on \"rfq_details\".\"incoterms_code\" = \"incoterms\".\"code\" left join \"users\" \"updated_by_user\" on \"rfq_details\".\"updated_by\" = \"updated_by_user\".\"id\"",
+ "name": "procurement_rfq_details_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.procurement_rfqs_view": {
+ "columns": {},
+ "definition": "select \"procurement_rfqs\".\"id\" as \"id\", \"procurement_rfqs\".\"rfq_code\" as \"rfq_code\", \"procurement_rfqs\".\"series\" as \"series\", \"procurement_rfqs\".\"rfq_sealed_yn\" as \"rfq_sealed_yn\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"procurement_rfqs\".\"item_code\" as \"item_code\", \"procurement_rfqs\".\"item_name\" as \"item_name\", \"procurement_rfqs\".\"status\" as \"status\", \"procurement_rfqs\".\"pic_code\" as \"pic_code\", \"procurement_rfqs\".\"rfq_send_date\" as \"rfq_send_date\", \"procurement_rfqs\".\"due_date\" as \"due_date\", (\n SELECT MIN(submitted_at)\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"procurement_rfqs\".\"id\"\n AND submitted_at IS NOT NULL\n ) as \"earliest_quotation_submitted_at\", \"created_by_user\".\"name\" as \"created_by_user_name\", \"sent_by_user\".\"name\" as \"sent_by_user_name\", \"procurement_rfqs\".\"updated_at\" as \"updated_at\", \"updated_by_user\".\"name\" as \"updated_by_user_name\", \"procurement_rfqs\".\"remark\" as \"remark\", (\n SELECT material_code \n FROM pr_items \n WHERE procurement_rfqs_id = \"procurement_rfqs\".\"id\"\n AND major_yn = true\n LIMIT 1\n ) as \"major_item_material_code\", (\n SELECT pr_no \n FROM pr_items \n WHERE procurement_rfqs_id = \"procurement_rfqs\".\"id\"\n AND major_yn = true\n LIMIT 1\n ) as \"po_no\", (\n SELECT COUNT(*) \n FROM pr_items \n WHERE procurement_rfqs_id = \"procurement_rfqs\".\"id\"\n ) as \"pr_items_count\" from \"procurement_rfqs\" left join \"projects\" on \"procurement_rfqs\".\"project_id\" = \"projects\".\"id\" left join \"users\" \"created_by_user\" on \"procurement_rfqs\".\"created_by\" = \"created_by_user\".\"id\" left join \"users\" \"updated_by_user\" on \"procurement_rfqs\".\"updated_by\" = \"updated_by_user\".\"id\" left join \"users\" \"sent_by_user\" on \"procurement_rfqs\".\"sent_by\" = \"sent_by_user\".\"id\"",
+ "name": "procurement_rfqs_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.attachment_revision_history": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_revision_id": {
+ "name": "client_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_revision_no": {
+ "name": "client_revision_no",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_file_name": {
+ "name": "client_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_file_path": {
+ "name": "client_file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_file_size": {
+ "name": "client_file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_revision_comment": {
+ "name": "client_revision_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_revision_created_at": {
+ "name": "client_revision_created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_latest_client_revision": {
+ "name": "is_latest_client_revision",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_vendor_responses": {
+ "name": "total_vendor_responses",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_vendors": {
+ "name": "responded_vendors",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pending_vendors": {
+ "name": "pending_vendors",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_response_files": {
+ "name": "total_response_files",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n ba.id as attachment_id,\n ba.attachment_type,\n ba.serial_no,\n \n -- 발주처 리비전 정보\n rev.id as client_revision_id,\n rev.revision_no as client_revision_no,\n rev.original_file_name as client_file_name,\n rev.file_size as client_file_size,\n rev.file_path as client_file_path,\n rev.revision_comment as client_revision_comment,\n rev.created_at as client_revision_created_at,\n rev.is_latest as is_latest_client_revision,\n \n -- 벤더 응답 통계\n COALESCE(response_stats.total_responses, 0) as total_vendor_responses,\n COALESCE(response_stats.responded_count, 0) as responded_vendors,\n COALESCE(response_stats.pending_count, 0) as pending_vendors,\n COALESCE(response_stats.total_files, 0) as total_response_files\n \n FROM b_rfqs br\n JOIN b_rfq_attachments ba ON br.id = ba.rfq_id\n JOIN b_rfq_attachment_revisions rev ON ba.id = rev.attachment_id\n LEFT JOIN (\n SELECT \n var.attachment_id,\n COUNT(*) as total_responses,\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) as responded_count,\n COUNT(CASE WHEN var.response_status = 'NOT_RESPONDED' THEN 1 END) as pending_count,\n COUNT(vra.id) as total_files\n FROM vendor_attachment_responses var\n LEFT JOIN vendor_response_attachments_b vra ON var.id = vra.vendor_response_id\n GROUP BY var.attachment_id\n ) response_stats ON ba.id = response_stats.attachment_id\n \n ORDER BY ba.id, rev.created_at DESC\n",
+ "name": "attachment_revision_history",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.attachments_with_latest_revision": {
+ "columns": {
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_id": {
+ "name": "revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_comment": {
+ "name": "revision_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_name": {
+ "name": "created_by_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n a.id as attachment_id,\n a.attachment_type,\n a.serial_no,\n a.rfq_id,\n a.description,\n a.current_revision,\n \n r.id as revision_id,\n r.file_name,\n r.original_file_name,\n r.file_path,\n r.file_size,\n r.file_type,\n r.revision_comment,\n \n a.created_by,\n u.name as created_by_name,\n a.created_at,\n a.updated_at\n FROM b_rfq_attachments a\n LEFT JOIN b_rfq_attachment_revisions r ON a.latest_revision_id = r.id\n LEFT JOIN users u ON a.created_by = u.id\n ",
+ "name": "attachments_with_latest_revision",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.b_rfqs_master": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_name": {
+ "name": "pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "eng_pic_name": {
+ "name": "eng_pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_no": {
+ "name": "package_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_name": {
+ "name": "package_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_code": {
+ "name": "project_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_name": {
+ "name": "project_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_type": {
+ "name": "project_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_company": {
+ "name": "project_company",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_flag": {
+ "name": "project_flag",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_site": {
+ "name": "project_site",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_attachments": {
+ "name": "total_attachments",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.description,\n br.status,\n br.due_date,\n br.pic_code,\n br.pic_name,\n br.eng_pic_name,\n br.package_no,\n br.package_name,\n br.project_id,\n p.code as project_code,\n p.name as project_name,\n p.type as project_type,\n br.project_company,\n br.project_flag,\n br.project_site,\n COALESCE(att_count.total_attachments, 0) as total_attachments,\n br.created_at,\n br.updated_at\n FROM b_rfqs br\n LEFT JOIN projects p ON br.project_id = p.id\n LEFT JOIN (\n SELECT rfq_id, COUNT(*) as total_attachments\n FROM b_rfq_attachments\n GROUP BY rfq_id\n ) att_count ON br.id = att_count.rfq_id\n",
+ "name": "b_rfqs_master",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.final_rfq_detail": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_status": {
+ "name": "rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_rfq_id": {
+ "name": "final_rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_rfq_status": {
+ "name": "final_rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_business_size": {
+ "name": "vendor_business_size",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "valid_date": {
+ "name": "valid_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_description": {
+ "name": "incoterms_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payment_terms_code": {
+ "name": "payment_terms_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payment_terms_description": {
+ "name": "payment_terms_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_code": {
+ "name": "tax_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "place_of_shipping": {
+ "name": "place_of_shipping",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "place_of_destination": {
+ "name": "place_of_destination",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "short_list": {
+ "name": "short_list",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "return_yn": {
+ "name": "return_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cp_request_yn": {
+ "name": "cp_request_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "prject_gtc_yn": {
+ "name": "prject_gtc_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "firsttime_yn": {
+ "name": "firsttime_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_price_related_yn": {
+ "name": "material_price_related_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "return_revision": {
+ "name": "return_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc": {
+ "name": "gtc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc_valid_date": {
+ "name": "gtc_valid_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sparepart": {
+ "name": "sparepart",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_remark": {
+ "name": "vendor_remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.status as rfq_status,\n fr.id as final_rfq_id,\n fr.final_rfq_status,\n fr.vendor_id,\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n v.business_size as vendor_business_size,\n fr.due_date,\n fr.valid_date,\n fr.delivery_date,\n fr.incoterms_code,\n inc.description as incoterms_description,\n fr.payment_terms_code,\n pt.description as payment_terms_description,\n fr.currency,\n fr.tax_code,\n fr.place_of_shipping,\n fr.place_of_destination,\n fr.short_list,\n fr.return_yn,\n fr.cp_request_yn,\n fr.prject_gtc_yn,\n fr.firsttime_yn,\n fr.material_price_related_yn,\n fr.return_revision,\n fr.gtc,\n fr.gtc_valid_date,\n fr.classification,\n fr.sparepart,\n fr.remark,\n fr.vendor_remark,\n fr.created_at,\n fr.updated_at\n FROM b_rfqs br\n JOIN final_rfq fr ON br.id = fr.rfq_id\n LEFT JOIN vendors v ON fr.vendor_id = v.id\n LEFT JOIN incoterms inc ON fr.incoterms_code = inc.code\n LEFT JOIN payment_terms pt ON fr.payment_terms_code = pt.code\n",
+ "name": "final_rfq_detail",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.initial_rfq_detail": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_status": {
+ "name": "rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_rfq_id": {
+ "name": "initial_rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_rfq_status": {
+ "name": "initial_rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_category": {
+ "name": "vendor_category",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_business_size": {
+ "name": "vendor_business_size",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "valid_date": {
+ "name": "valid_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_description": {
+ "name": "incoterms_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "short_list": {
+ "name": "short_list",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "return_yn": {
+ "name": "return_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cp_request_yn": {
+ "name": "cp_request_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "prject_gtc_yn": {
+ "name": "prject_gtc_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "return_revision": {
+ "name": "return_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_revision": {
+ "name": "rfq_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc": {
+ "name": "gtc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc_valid_date": {
+ "name": "gtc_valid_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sparepart": {
+ "name": "sparepart",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.status as rfq_status,\n ir.id as initial_rfq_id,\n ir.initial_rfq_status,\n ir.vendor_id,\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n v.business_size as vendor_business_size,\n v.vendor_category as vendor_category,\n ir.due_date,\n ir.valid_date,\n ir.incoterms_code,\n inc.description as incoterms_description,\n ir.short_list,\n ir.return_yn,\n ir.cp_request_yn,\n ir.prject_gtc_yn,\n ir.return_revision,\n ir.rfq_revision,\n ir.gtc,\n ir.gtc_valid_date,\n ir.classification,\n ir.sparepart,\n ir.created_at,\n ir.updated_at\n FROM b_rfqs br\n JOIN initial_rfq ir ON br.id = ir.rfq_id\n LEFT JOIN vendors_with_types v ON ir.vendor_id = v.id\n LEFT JOIN incoterms inc ON ir.incoterms_code = inc.code\n",
+ "name": "initial_rfq_detail",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.rfq_dashboard": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_code": {
+ "name": "project_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_name": {
+ "name": "project_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_no": {
+ "name": "package_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_name": {
+ "name": "package_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_name": {
+ "name": "pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "eng_pic_name": {
+ "name": "eng_pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_company": {
+ "name": "project_company",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_flag": {
+ "name": "project_flag",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_site": {
+ "name": "project_site",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_attachments": {
+ "name": "total_attachments",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_vendor_count": {
+ "name": "initial_vendor_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_vendor_count": {
+ "name": "final_vendor_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_response_rate": {
+ "name": "initial_response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_response_rate": {
+ "name": "final_response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "overall_progress": {
+ "name": "overall_progress",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_to_deadline": {
+ "name": "days_to_deadline",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by_name": {
+ "name": "updated_by_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by_email": {
+ "name": "updated_by_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n -- ② SELECT 절 확장 -------------------------------------------\n SELECT\n br.id AS rfq_id,\n br.rfq_code,\n br.description,\n br.status,\n br.due_date,\n p.code AS project_code,\n p.name AS project_name,\n br.package_no,\n br.package_name,\n br.pic_code,\n br.pic_name,\n br.eng_pic_name,\n br.project_company,\n br.project_flag,\n br.project_site,\n br.remark,\n \n -- 첨부/벤더 요약 -----------------------\n COALESCE(att_count.total_attachments, 0) AS total_attachments,\n COALESCE(init_summary.vendor_count, 0) AS initial_vendor_count,\n COALESCE(final_summary.vendor_count, 0) AS final_vendor_count,\n COALESCE(init_summary.avg_response_rate, 0) AS initial_response_rate,\n COALESCE(final_summary.avg_response_rate, 0) AS final_response_rate,\n \n -- 진행률·마감까지 일수 --------------\n CASE \n WHEN br.status = 'DRAFT' THEN 0\n WHEN br.status = 'Doc. Received' THEN 10\n WHEN br.status = 'PIC Assigned' THEN 20\n WHEN br.status = 'Doc. Confirmed' THEN 30\n WHEN br.status = 'Init. RFQ Sent' THEN 40\n WHEN br.status = 'Init. RFQ Answered' THEN 50\n WHEN br.status = 'TBE started' THEN 60\n WHEN br.status = 'TBE finished' THEN 70\n WHEN br.status = 'Final RFQ Sent' THEN 80\n WHEN br.status = 'Quotation Received' THEN 90\n WHEN br.status = 'Vendor Selected' THEN 100\n ELSE 0\n END AS overall_progress,\n (br.due_date - CURRENT_DATE) AS days_to_deadline,\n \n br.created_at,\n br.updated_at,\n \n -- 💡 추가되는 컬럼 -------------------\n upd.name AS updated_by_name,\n upd.email AS updated_by_email\n FROM b_rfqs br\n LEFT JOIN projects p ON br.project_id = p.id\n \n -- ③ 사용자 정보 조인 --------------------\n LEFT JOIN users upd ON br.updated_by = upd.id\n \n -- (나머지 이미 있던 JOIN 들은 그대로) -----\n LEFT JOIN (\n SELECT rfq_id, COUNT(*) AS total_attachments\n FROM b_rfq_attachments\n GROUP BY rfq_id\n ) att_count ON br.id = att_count.rfq_id\n \n LEFT JOIN (\n SELECT \n rfq_id, \n COUNT(DISTINCT vendor_id) AS vendor_count,\n AVG(response_rate) AS avg_response_rate\n FROM vendor_response_summary\n WHERE rfq_type = 'INITIAL'\n GROUP BY rfq_id\n ) init_summary ON br.id = init_summary.rfq_id\n \n LEFT JOIN (\n SELECT \n rfq_id, \n COUNT(DISTINCT vendor_id) AS vendor_count,\n AVG(response_rate) AS avg_response_rate\n FROM vendor_response_summary\n WHERE rfq_type = 'FINAL'\n GROUP BY rfq_id\n ) final_summary ON br.id = final_summary.rfq_id\n ",
+ "name": "rfq_dashboard",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.rfq_progress_summary": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_status": {
+ "name": "rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_to_deadline": {
+ "name": "days_to_deadline",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_attachments": {
+ "name": "total_attachments",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachments_with_multiple_revisions": {
+ "name": "attachments_with_multiple_revisions",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_client_revisions": {
+ "name": "total_client_revisions",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_vendor_count": {
+ "name": "initial_vendor_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_total_responses": {
+ "name": "initial_total_responses",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_responded_count": {
+ "name": "initial_responded_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_up_to_date_count": {
+ "name": "initial_up_to_date_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_version_mismatch_count": {
+ "name": "initial_version_mismatch_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_response_rate": {
+ "name": "initial_response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_version_match_rate": {
+ "name": "initial_version_match_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_vendor_count": {
+ "name": "final_vendor_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_total_responses": {
+ "name": "final_total_responses",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_responded_count": {
+ "name": "final_responded_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_up_to_date_count": {
+ "name": "final_up_to_date_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_version_mismatch_count": {
+ "name": "final_version_mismatch_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_response_rate": {
+ "name": "final_response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_version_match_rate": {
+ "name": "final_version_match_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_response_files": {
+ "name": "total_response_files",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.status as rfq_status,\n br.due_date,\n (br.due_date - CURRENT_DATE) as days_to_deadline,\n \n -- 첨부파일 통계\n attachment_stats.total_attachments,\n attachment_stats.attachments_with_multiple_revisions,\n attachment_stats.total_client_revisions,\n \n -- Initial RFQ 통계\n COALESCE(initial_stats.vendor_count, 0) as initial_vendor_count,\n COALESCE(initial_stats.total_responses, 0) as initial_total_responses,\n COALESCE(initial_stats.responded_count, 0) as initial_responded_count,\n COALESCE(initial_stats.up_to_date_count, 0) as initial_up_to_date_count,\n COALESCE(initial_stats.version_mismatch_count, 0) as initial_version_mismatch_count,\n COALESCE(initial_stats.response_rate, 0) as initial_response_rate,\n COALESCE(initial_stats.version_match_rate, 0) as initial_version_match_rate,\n \n -- Final RFQ 통계\n COALESCE(final_stats.vendor_count, 0) as final_vendor_count,\n COALESCE(final_stats.total_responses, 0) as final_total_responses,\n COALESCE(final_stats.responded_count, 0) as final_responded_count,\n COALESCE(final_stats.up_to_date_count, 0) as final_up_to_date_count,\n COALESCE(final_stats.version_mismatch_count, 0) as final_version_mismatch_count,\n COALESCE(final_stats.response_rate, 0) as final_response_rate,\n COALESCE(final_stats.version_match_rate, 0) as final_version_match_rate,\n \n COALESCE(file_stats.total_files, 0) as total_response_files\n \n FROM b_rfqs br\n LEFT JOIN (\n SELECT \n ba.rfq_id,\n COUNT(*) as total_attachments,\n COUNT(CASE WHEN rev_count.total_revisions > 1 THEN 1 END) as attachments_with_multiple_revisions,\n SUM(rev_count.total_revisions) as total_client_revisions\n FROM b_rfq_attachments ba\n LEFT JOIN (\n SELECT \n attachment_id,\n COUNT(*) as total_revisions\n FROM b_rfq_attachment_revisions\n GROUP BY attachment_id\n ) rev_count ON ba.id = rev_count.attachment_id\n GROUP BY ba.rfq_id\n ) attachment_stats ON br.id = attachment_stats.rfq_id\n \n LEFT JOIN (\n SELECT \n br.id as rfq_id,\n COUNT(DISTINCT var.vendor_id) as vendor_count,\n COUNT(*) as total_responses,\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) as responded_count,\n COUNT(CASE WHEN vrd.effective_status = 'UP_TO_DATE' THEN 1 END) as up_to_date_count,\n COUNT(CASE WHEN vrd.effective_status = 'VERSION_MISMATCH' THEN 1 END) as version_mismatch_count,\n ROUND(\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) * 100.0 / \n NULLIF(COUNT(*), 0), 2\n ) as response_rate,\n ROUND(\n COUNT(CASE WHEN vrd.effective_status = 'UP_TO_DATE' THEN 1 END) * 100.0 / \n NULLIF(COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END), 0), 2\n ) as version_match_rate\n FROM b_rfqs br\n JOIN vendor_response_detail vrd ON br.id = vrd.rfq_id\n JOIN vendor_attachment_responses var ON vrd.response_id = var.id\n WHERE var.rfq_type = 'INITIAL'\n GROUP BY br.id\n ) initial_stats ON br.id = initial_stats.rfq_id\n \n LEFT JOIN (\n SELECT \n br.id as rfq_id,\n COUNT(DISTINCT var.vendor_id) as vendor_count,\n COUNT(*) as total_responses,\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) as responded_count,\n COUNT(CASE WHEN vrd.effective_status = 'UP_TO_DATE' THEN 1 END) as up_to_date_count,\n COUNT(CASE WHEN vrd.effective_status = 'VERSION_MISMATCH' THEN 1 END) as version_mismatch_count,\n ROUND(\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) * 100.0 / \n NULLIF(COUNT(*), 0), 2\n ) as response_rate,\n ROUND(\n COUNT(CASE WHEN vrd.effective_status = 'UP_TO_DATE' THEN 1 END) * 100.0 / \n NULLIF(COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END), 0), 2\n ) as version_match_rate\n FROM b_rfqs br\n JOIN vendor_response_detail vrd ON br.id = vrd.rfq_id\n JOIN vendor_attachment_responses var ON vrd.response_id = var.id\n WHERE var.rfq_type = 'FINAL'\n GROUP BY br.id\n ) final_stats ON br.id = final_stats.rfq_id\n \n LEFT JOIN (\n SELECT \n br.id as rfq_id,\n COUNT(vra.id) as total_files\n FROM b_rfqs br\n JOIN b_rfq_attachments ba ON br.id = ba.rfq_id\n JOIN vendor_attachment_responses var ON ba.id = var.attachment_id\n LEFT JOIN vendor_response_attachments_b vra ON var.id = vra.vendor_response_id\n GROUP BY br.id\n ) file_stats ON br.id = file_stats.rfq_id\n",
+ "name": "rfq_progress_summary",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_response_attachments_enhanced": {
+ "columns": {
+ "response_attachment_id": {
+ "name": "response_attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_response_id": {
+ "name": "vendor_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_record_id": {
+ "name": "rfq_record_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_revision": {
+ "name": "responded_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_comment": {
+ "name": "response_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_comment": {
+ "name": "vendor_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_request_comment": {
+ "name": "revision_request_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_at": {
+ "name": "responded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_requested_at": {
+ "name": "revision_requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_revision_id": {
+ "name": "latest_client_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_revision_no": {
+ "name": "latest_client_revision_no",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_file_name": {
+ "name": "latest_client_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_version_matched": {
+ "name": "is_version_matched",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version_lag": {
+ "name": "version_lag",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "needs_update": {
+ "name": "needs_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_sequence": {
+ "name": "file_sequence",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_latest_response_file": {
+ "name": "is_latest_response_file",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n vra.id as response_attachment_id,\n vra.vendor_response_id,\n vra.file_name,\n vra.original_file_name,\n vra.file_path,\n vra.file_size,\n vra.file_type,\n vra.description,\n vra.uploaded_at,\n \n -- 응답 기본 정보\n var.attachment_id,\n var.vendor_id,\n var.rfq_type,\n var.rfq_record_id,\n var.response_status,\n var.current_revision,\n var.responded_revision,\n \n -- 코멘트 (새로 추가된 필드 포함)\n var.response_comment,\n var.vendor_comment,\n var.revision_request_comment,\n \n -- 날짜 (새로 추가된 필드 포함)\n var.requested_at,\n var.responded_at,\n var.revision_requested_at,\n \n -- 첨부파일 정보\n ba.attachment_type,\n ba.serial_no,\n ba.rfq_id,\n \n -- 벤더 정보\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n \n -- 발주처 현재 리비전 정보\n latest_rev.id as latest_client_revision_id,\n latest_rev.revision_no as latest_client_revision_no,\n latest_rev.original_file_name as latest_client_file_name,\n \n -- 리비전 비교\n CASE \n WHEN var.responded_revision = ba.current_revision THEN true \n ELSE false \n END as is_version_matched,\n \n -- 버전 차이 계산 (Rev.0, Rev.1 형태 가정)\n CASE \n WHEN var.responded_revision IS NULL THEN NULL\n WHEN ba.current_revision IS NULL THEN NULL\n ELSE CAST(SUBSTRING(ba.current_revision FROM '[0-9]+') AS INTEGER) - \n CAST(SUBSTRING(var.responded_revision FROM '[0-9]+') AS INTEGER)\n END as version_lag,\n \n CASE \n WHEN var.response_status = 'RESPONDED' \n AND var.responded_revision != ba.current_revision THEN true \n ELSE false \n END as needs_update,\n \n -- 파일 순서\n ROW_NUMBER() OVER (\n PARTITION BY var.id \n ORDER BY vra.uploaded_at DESC\n ) as file_sequence,\n \n -- 최신 응답 파일 여부\n CASE \n WHEN ROW_NUMBER() OVER (\n PARTITION BY var.id \n ORDER BY vra.uploaded_at DESC\n ) = 1 THEN true \n ELSE false \n END as is_latest_response_file\n \n FROM vendor_response_attachments_b vra\n JOIN vendor_attachment_responses var ON vra.vendor_response_id = var.id\n JOIN b_rfq_attachments ba ON var.attachment_id = ba.id\n LEFT JOIN vendors v ON var.vendor_id = v.id\n LEFT JOIN b_rfq_attachment_revisions latest_rev ON ba.latest_revision_id = latest_rev.id\n",
+ "name": "vendor_response_attachments_enhanced",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_response_detail": {
+ "columns": {
+ "response_id": {
+ "name": "response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_record_id": {
+ "name": "rfq_record_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_description": {
+ "name": "attachment_description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_revision": {
+ "name": "responded_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_comment": {
+ "name": "response_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_comment": {
+ "name": "vendor_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_request_comment": {
+ "name": "revision_request_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_at": {
+ "name": "responded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_requested_at": {
+ "name": "revision_requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_revision_no": {
+ "name": "latest_client_revision_no",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_file_name": {
+ "name": "latest_client_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_file_size": {
+ "name": "latest_client_file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_revision_comment": {
+ "name": "latest_client_revision_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_version_matched": {
+ "name": "is_version_matched",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version_lag": {
+ "name": "version_lag",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "needs_update": {
+ "name": "needs_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "has_multiple_revisions": {
+ "name": "has_multiple_revisions",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_response_files": {
+ "name": "total_response_files",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_response_file_name": {
+ "name": "latest_response_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_response_file_size": {
+ "name": "latest_response_file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_response_uploaded_at": {
+ "name": "latest_response_uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "effective_status": {
+ "name": "effective_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n var.id as response_id,\n ba.rfq_id,\n br.rfq_code,\n var.rfq_type,\n var.rfq_record_id,\n \n -- 첨부파일 정보\n ba.id as attachment_id,\n ba.attachment_type,\n ba.serial_no,\n ba.description as attachment_description,\n \n -- 벤더 정보\n v.id as vendor_id,\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n \n -- 응답 상태\n var.response_status,\n var.current_revision,\n var.responded_revision,\n \n -- 코멘트 (새로 추가된 필드 포함)\n var.response_comment,\n var.vendor_comment,\n var.revision_request_comment,\n \n -- 날짜 (새로 추가된 필드 포함)\n var.requested_at,\n var.responded_at,\n var.revision_requested_at,\n \n -- 발주처 최신 리비전\n latest_rev.revision_no as latest_client_revision_no,\n latest_rev.original_file_name as latest_client_file_name,\n latest_rev.file_size as latest_client_file_size,\n latest_rev.revision_comment as latest_client_revision_comment,\n \n -- 리비전 분석\n CASE \n WHEN var.responded_revision = ba.current_revision THEN true \n ELSE false \n END as is_version_matched,\n \n CASE \n WHEN var.responded_revision IS NULL OR ba.current_revision IS NULL THEN NULL\n ELSE CAST(SUBSTRING(ba.current_revision FROM '[0-9]+') AS INTEGER) - \n CAST(SUBSTRING(var.responded_revision FROM '[0-9]+') AS INTEGER)\n END as version_lag,\n \n CASE \n WHEN var.response_status = 'RESPONDED' \n AND var.responded_revision != ba.current_revision THEN true \n ELSE false \n END as needs_update,\n \n CASE \n WHEN revision_count.total_revisions > 1 THEN true \n ELSE false \n END as has_multiple_revisions,\n \n -- 응답 파일 정보\n COALESCE(file_stats.total_files, 0) as total_response_files,\n file_stats.latest_file_name as latest_response_file_name,\n file_stats.latest_file_size as latest_response_file_size,\n file_stats.latest_uploaded_at as latest_response_uploaded_at,\n \n -- 효과적인 상태\n CASE \n WHEN var.response_status = 'NOT_RESPONDED' THEN 'NOT_RESPONDED'\n WHEN var.response_status = 'WAIVED' THEN 'WAIVED'\n WHEN var.response_status = 'REVISION_REQUESTED' THEN 'REVISION_REQUESTED'\n WHEN var.response_status = 'RESPONDED' AND var.responded_revision = ba.current_revision THEN 'UP_TO_DATE'\n WHEN var.response_status = 'RESPONDED' AND var.responded_revision != ba.current_revision THEN 'VERSION_MISMATCH'\n ELSE var.response_status\n END as effective_status\n \n FROM vendor_attachment_responses var\n JOIN b_rfq_attachments ba ON var.attachment_id = ba.id\n JOIN b_rfqs br ON ba.rfq_id = br.id\n LEFT JOIN vendors v ON var.vendor_id = v.id\n LEFT JOIN b_rfq_attachment_revisions latest_rev ON ba.latest_revision_id = latest_rev.id\n LEFT JOIN (\n SELECT \n attachment_id,\n COUNT(*) as total_revisions\n FROM b_rfq_attachment_revisions\n GROUP BY attachment_id\n ) revision_count ON ba.id = revision_count.attachment_id\n LEFT JOIN (\n SELECT \n vendor_response_id,\n COUNT(*) as total_files,\n MAX(original_file_name) as latest_file_name,\n MAX(file_size) as latest_file_size,\n MAX(uploaded_at) as latest_uploaded_at\n FROM vendor_response_attachments_b\n GROUP BY vendor_response_id\n ) file_stats ON var.id = file_stats.vendor_response_id\n",
+ "name": "vendor_response_detail",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_response_summary": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_status": {
+ "name": "rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_business_size": {
+ "name": "vendor_business_size",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_attachments": {
+ "name": "total_attachments",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_count": {
+ "name": "responded_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pending_count": {
+ "name": "pending_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "waived_count": {
+ "name": "waived_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_requested_count": {
+ "name": "revision_requested_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_rate": {
+ "name": "response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completion_rate": {
+ "name": "completion_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.status as rfq_status,\n v.id as vendor_id,\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n v.business_size as vendor_business_size,\n var.rfq_type,\n COUNT(var.id) as total_attachments,\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) as responded_count,\n COUNT(CASE WHEN var.response_status = 'NOT_RESPONDED' THEN 1 END) as pending_count,\n COUNT(CASE WHEN var.response_status = 'WAIVED' THEN 1 END) as waived_count,\n COUNT(CASE WHEN var.response_status = 'REVISION_REQUESTED' THEN 1 END) as revision_requested_count,\n ROUND(\n (COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) * 100.0 / \n NULLIF(COUNT(CASE WHEN var.response_status != 'WAIVED' THEN 1 END), 0)), \n 2\n ) as response_rate,\n ROUND(\n ((COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) + \n COUNT(CASE WHEN var.response_status = 'WAIVED' THEN 1 END)) * 100.0 / COUNT(var.id)), \n 2\n ) as completion_rate\n FROM b_rfqs br\n JOIN b_rfq_attachments bra ON br.id = bra.rfq_id\n JOIN vendor_attachment_responses var ON bra.id = var.attachment_id\n JOIN vendors v ON var.vendor_id = v.id\n GROUP BY br.id, br.rfq_code, br.status, v.id, v.vendor_code, v.vendor_name, v.country, v.business_size, var.rfq_type\n",
+ "name": "vendor_response_summary",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.tech_vendor_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "address": {
+ "name": "address",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country_eng": {
+ "name": "country_eng",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country_fab": {
+ "name": "country_fab",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_name": {
+ "name": "agent_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_phone": {
+ "name": "agent_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_email": {
+ "name": "agent_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "website": {
+ "name": "website",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "tech_vendor_type": {
+ "name": "tech_vendor_type",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "representative_name": {
+ "name": "representative_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_email": {
+ "name": "representative_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_phone": {
+ "name": "representative_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_birth": {
+ "name": "representative_birth",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"id\", \"vendor_name\", \"vendor_code\", \"tax_id\", \"address\", \"country\", \"country_eng\", \"country_fab\", \"agent_name\", \"agent_phone\", \"agent_email\", \"phone\", \"email\", \"website\", \"status\", \"tech_vendor_type\", \"representative_name\", \"representative_email\", \"representative_phone\", \"representative_birth\", \"created_at\", \"updated_at\", \n (SELECT COALESCE(\n json_agg(\n json_build_object(\n 'id', c.id,\n 'contactName', c.contact_name,\n 'contactPosition', c.contact_position,\n 'contactTitle', c.contact_title,\n 'contactEmail', c.contact_email,\n 'contactPhone', c.contact_phone,\n 'isPrimary', c.is_primary\n )\n ),\n '[]'::json\n )\n FROM tech_vendor_contacts c\n WHERE c.vendor_id = tech_vendors.id)\n as \"contacts\", \n (SELECT COALESCE(\n json_agg(\n json_build_object(\n 'id', a.id,\n 'fileName', a.file_name,\n 'filePath', a.file_path,\n 'attachmentType', a.attachment_type,\n 'createdAt', a.created_at\n )\n ORDER BY a.attachment_type, a.created_at DESC\n ),\n '[]'::json\n )\n FROM tech_vendor_attachments a\n WHERE a.vendor_id = tech_vendors.id)\n as \"attachments\", \n (SELECT COUNT(*)\n FROM tech_vendor_attachments a\n WHERE a.vendor_id = tech_vendors.id)\n as \"attachment_count\", \n (SELECT COUNT(*) \n FROM vendor_contacts c\n WHERE c.vendor_id = tech_vendors.id)\n as \"contact_count\", \n (SELECT COUNT(*) \n FROM tech_vendor_possible_items i\n WHERE i.vendor_id = tech_vendors.id)\n as \"item_count\" from \"tech_vendors\"",
+ "name": "tech_vendor_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.esg_evaluations_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "serial_number": {
+ "name": "serial_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "inspection_item": {
+ "name": "inspection_item",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"esg_evaluations\".\"id\", \"esg_evaluations\".\"serial_number\", \"esg_evaluations\".\"category\", \"esg_evaluations\".\"inspection_item\", \"esg_evaluations\".\"is_active\", \"esg_evaluations\".\"created_at\", \"esg_evaluations\".\"updated_at\", count(distinct \"esg_evaluation_items\".\"id\") as \"total_evaluation_items\", count(\"esg_answer_options\".\"id\") as \"total_answer_options\", coalesce(sum(\"esg_answer_options\".\"score\"), 0) as \"max_possible_score\", \n (\n SELECT array_agg(evaluation_item order by order_index) \n FROM esg_evaluation_items \n WHERE esg_evaluation_id = \"esg_evaluations\".\"id\" \n AND is_active = true \n AND evaluation_item is not null\n )\n as \"evaluation_items_list\" from \"esg_evaluations\" left join \"esg_evaluation_items\" on \"esg_evaluations\".\"id\" = \"esg_evaluation_items\".\"esg_evaluation_id\" AND \"esg_evaluation_items\".\"is_active\" = true left join \"esg_answer_options\" on \"esg_evaluation_items\".\"id\" = \"esg_answer_options\".\"esg_evaluation_item_id\" AND \"esg_answer_options\".\"is_active\" = true group by \"esg_evaluations\".\"id\", \"esg_evaluations\".\"serial_number\", \"esg_evaluations\".\"category\", \"esg_evaluations\".\"inspection_item\", \"esg_evaluations\".\"is_active\", \"esg_evaluations\".\"created_at\", \"esg_evaluations\".\"updated_at\"",
+ "name": "esg_evaluations_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.evaluation_targets_with_departments": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "division": {
+ "name": "division",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "consensus_status": {
+ "name": "consensus_status",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "admin_comment": {
+ "name": "admin_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consolidated_comment": {
+ "name": "consolidated_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_by": {
+ "name": "confirmed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ld_claim_count": {
+ "name": "ld_claim_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "ld_claim_amount": {
+ "name": "ld_claim_amount",
+ "type": "numeric(15, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "ld_claim_currency": {
+ "name": "ld_claim_currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"evaluation_targets\".\"id\", \"evaluation_targets\".\"evaluation_year\", \"evaluation_targets\".\"division\", \"evaluation_targets\".\"vendor_code\", \"evaluation_targets\".\"vendor_name\", \"evaluation_targets\".\"domestic_foreign\", \"evaluation_targets\".\"material_type\", \"evaluation_targets\".\"status\", \"evaluation_targets\".\"consensus_status\", \"evaluation_targets\".\"admin_comment\", \"evaluation_targets\".\"consolidated_comment\", \"evaluation_targets\".\"confirmed_at\", \"evaluation_targets\".\"confirmed_by\", \"evaluation_targets\".\"ld_claim_count\", \"evaluation_targets\".\"ld_claim_amount\", \"evaluation_targets\".\"ld_claim_currency\", \"evaluation_targets\".\"created_at\", \"evaluation_targets\".\"updated_at\", order_reviewer.name as \"order_reviewer_name\", order_reviewer.email as \"order_reviewer_email\", order_etr.department_name_from as \"order_department_name\", order_review.is_approved as \"order_is_approved\", order_review.reviewed_at as \"order_reviewed_at\", procurement_reviewer.name as \"procurement_reviewer_name\", procurement_reviewer.email as \"procurement_reviewer_email\", procurement_etr.department_name_from as \"procurement_department_name\", procurement_review.is_approved as \"procurement_is_approved\", procurement_review.reviewed_at as \"procurement_reviewed_at\", quality_reviewer.name as \"quality_reviewer_name\", quality_reviewer.email as \"quality_reviewer_email\", quality_etr.department_name_from as \"quality_department_name\", quality_review.is_approved as \"quality_is_approved\", quality_review.reviewed_at as \"quality_reviewed_at\", design_reviewer.name as \"design_reviewer_name\", design_reviewer.email as \"design_reviewer_email\", design_etr.department_name_from as \"design_department_name\", design_review.is_approved as \"design_is_approved\", design_review.reviewed_at as \"design_reviewed_at\", cs_reviewer.name as \"cs_reviewer_name\", cs_reviewer.email as \"cs_reviewer_email\", cs_etr.department_name_from as \"cs_department_name\", cs_review.is_approved as \"cs_is_approved\", cs_review.reviewed_at as \"cs_reviewed_at\" from \"evaluation_targets\" left join evaluation_target_reviewers order_etr on \"evaluation_targets\".\"id\" = order_etr.evaluation_target_id AND order_etr.department_code = 'ORDER_EVAL' left join users order_reviewer on order_etr.reviewer_user_id = order_reviewer.id left join evaluation_target_reviews order_review on \"evaluation_targets\".\"id\" = order_review.evaluation_target_id \n AND order_review.reviewer_user_id = order_reviewer.id \n AND order_review.department_code = 'ORDER_EVAL' left join evaluation_target_reviewers procurement_etr on \"evaluation_targets\".\"id\" = procurement_etr.evaluation_target_id AND procurement_etr.department_code = 'PROCUREMENT_EVAL' left join users procurement_reviewer on procurement_etr.reviewer_user_id = procurement_reviewer.id left join evaluation_target_reviews procurement_review on \"evaluation_targets\".\"id\" = procurement_review.evaluation_target_id \n AND procurement_review.reviewer_user_id = procurement_reviewer.id \n AND procurement_review.department_code = 'PROCUREMENT_EVAL' left join evaluation_target_reviewers quality_etr on \"evaluation_targets\".\"id\" = quality_etr.evaluation_target_id AND quality_etr.department_code = 'QUALITY_EVAL' left join users quality_reviewer on quality_etr.reviewer_user_id = quality_reviewer.id left join evaluation_target_reviews quality_review on \"evaluation_targets\".\"id\" = quality_review.evaluation_target_id \n AND quality_review.reviewer_user_id = quality_reviewer.id \n AND quality_review.department_code = 'QUALITY_EVAL' left join evaluation_target_reviewers design_etr on \"evaluation_targets\".\"id\" = design_etr.evaluation_target_id AND design_etr.department_code = 'DESIGN_EVAL' left join users design_reviewer on design_etr.reviewer_user_id = design_reviewer.id left join evaluation_target_reviews design_review on \"evaluation_targets\".\"id\" = design_review.evaluation_target_id \n AND design_review.reviewer_user_id = design_reviewer.id \n AND design_review.department_code = 'DESIGN_EVAL' left join evaluation_target_reviewers cs_etr on \"evaluation_targets\".\"id\" = cs_etr.evaluation_target_id AND cs_etr.department_code = 'CS_EVAL' left join users cs_reviewer on cs_etr.reviewer_user_id = cs_reviewer.id left join evaluation_target_reviews cs_review on \"evaluation_targets\".\"id\" = cs_review.evaluation_target_id \n AND cs_review.reviewer_user_id = cs_reviewer.id \n AND cs_review.department_code = 'CS_EVAL'",
+ "name": "evaluation_targets_with_departments",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.periodic_evaluations_aggregated_view": {
+ "columns": {
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select CONCAT(\"evaluation_year\", '_', \"vendor_id\") as \"id\", \"evaluation_year\", \"vendor_id\", \"vendor_code\", \"vendor_name\", \"domestic_foreign\", \"material_type\", ROUND(AVG(NULLIF(\"process_score\", 0)), 1) as \"process_score\", ROUND(AVG(NULLIF(\"price_score\", 0)), 1) as \"price_score\", ROUND(AVG(NULLIF(\"delivery_score\", 0)), 1) as \"delivery_score\", ROUND(AVG(NULLIF(\"self_evaluation_score\", 0)), 1) as \"self_evaluation_score\", ROUND(AVG(NULLIF(\"participation_bonus\", 0)), 1) as \"participation_bonus\", ROUND(AVG(NULLIF(\"quality_deduction\", 0)), 1) as \"quality_deduction\", ROUND(AVG(NULLIF(\"final_score\", 0)), 1) as \"final_score\", \n CASE \n WHEN (\n AVG(NULLIF(\"process_score\", 0)) + \n AVG(NULLIF(\"price_score\", 0)) + \n AVG(NULLIF(\"delivery_score\", 0)) + \n AVG(NULLIF(\"self_evaluation_score\", 0)) +\n AVG(NULLIF(\"participation_bonus\", 0)) - \n AVG(NULLIF(\"quality_deduction\", 0))\n ) >= 90 THEN 'S'\n WHEN (\n AVG(NULLIF(\"process_score\", 0)) + \n AVG(NULLIF(\"price_score\", 0)) + \n AVG(NULLIF(\"delivery_score\", 0)) + \n AVG(NULLIF(\"self_evaluation_score\", 0)) +\n AVG(NULLIF(\"participation_bonus\", 0)) - \n AVG(NULLIF(\"quality_deduction\", 0))\n ) >= 80 THEN 'A'\n WHEN (\n AVG(NULLIF(\"process_score\", 0)) + \n AVG(NULLIF(\"price_score\", 0)) + \n AVG(NULLIF(\"delivery_score\", 0)) + \n AVG(NULLIF(\"self_evaluation_score\", 0)) +\n AVG(NULLIF(\"participation_bonus\", 0)) - \n AVG(NULLIF(\"quality_deduction\", 0))\n ) >= 70 THEN 'B'\n WHEN (\n AVG(NULLIF(\"process_score\", 0)) + \n AVG(NULLIF(\"price_score\", 0)) + \n AVG(NULLIF(\"delivery_score\", 0)) + \n AVG(NULLIF(\"self_evaluation_score\", 0)) +\n AVG(NULLIF(\"participation_bonus\", 0)) - \n AVG(NULLIF(\"quality_deduction\", 0))\n ) >= 60 THEN 'C'\n ELSE 'D'\n END\n as \"evaluation_grade\", \n CASE \n WHEN AVG(NULLIF(\"final_score\", 0)) >= 90 THEN 'S'\n WHEN AVG(NULLIF(\"final_score\", 0)) >= 80 THEN 'A'\n WHEN AVG(NULLIF(\"final_score\", 0)) >= 70 THEN 'B'\n WHEN AVG(NULLIF(\"final_score\", 0)) >= 60 THEN 'C'\n ELSE 'D'\n END\n as \"final_grade\", \n CASE \n WHEN COUNT(CASE WHEN \"status\" = 'FINALIZED' THEN 1 END) = COUNT(*) THEN 'FINALIZED'\n WHEN COUNT(CASE WHEN \"status\" IN ('REVIEW_COMPLETED', 'FINALIZED') THEN 1 END) = COUNT(*) THEN 'REVIEW_COMPLETED'\n WHEN COUNT(CASE WHEN \"status\" IN ('IN_REVIEW', 'REVIEW_COMPLETED', 'FINALIZED') THEN 1 END) > 0 THEN 'IN_REVIEW'\n WHEN COUNT(CASE WHEN \"status\" IN ('SUBMITTED', 'IN_REVIEW', 'REVIEW_COMPLETED', 'FINALIZED') THEN 1 END) > 0 THEN 'SUBMITTED'\n ELSE 'PENDING_SUBMISSION'\n END\n as \"status\", \n CASE \n WHEN COUNT(CASE WHEN \"order_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"order_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"order_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"order_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"procurement_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"procurement_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"procurement_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"procurement_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"quality_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"quality_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"quality_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"quality_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"design_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"design_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"design_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"design_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"cs_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"cs_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"cs_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"cs_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"admin_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"admin_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"admin_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"admin_eval_status\", \n BOOL_AND(\"documents_submitted\")\n as \"documents_submitted\", MAX(\"submission_date\") as \"submission_date\", MAX(\"submission_deadline\") as \"submission_deadline\", MAX(\"review_completed_at\") as \"review_completed_at\", MAX(\"finalized_at\") as \"finalized_at\", \n CASE \n WHEN COUNT(DISTINCT \"division\") > 1 THEN 'BOTH'\n ELSE MAX(\"division\")\n END\n as \"division\", COUNT(*)::int as \"evaluation_count\", STRING_AGG(DISTINCT \"division\", ',') as \"divisions\", SUM(\"total_reviewers\")::int as \"total_reviewers\", SUM(\"completed_reviewers\")::int as \"completed_reviewers\", SUM(\"pending_reviewers\")::int as \"pending_reviewers\", MAX(\"evaluation_period\") as \"evaluation_period\", STRING_AGG(\"evaluation_note\", ' | ') as \"evaluation_note\", (ARRAY_AGG(\"periodic_evaluations_view\".\"finalized_by\" ORDER BY \"periodic_evaluations_view\".\"finalized_at\" DESC NULLS LAST))[1] as \"finalized_by\", (ARRAY_AGG(\"periodic_evaluations_view\".\"name\" ORDER BY \"periodic_evaluations_view\".\"finalized_at\" DESC NULLS LAST))[1] as \"finalized_by_user_name\", (ARRAY_AGG(\"periodic_evaluations_view\".\"email\" ORDER BY \"periodic_evaluations_view\".\"finalized_at\" DESC NULLS LAST))[1] as \"finalized_by_user_email\", MIN(\"created_at\") as \"created_at\", MAX(\"updated_at\") as \"updated_at\", (ARRAY_AGG(\"periodic_evaluations_view\".\"evaluation_target_id\"))[1] as \"evaluation_target_id\", \n STRING_AGG(DISTINCT \"admin_comment\", ' | ')\n as \"evaluation_target_admin_comment\", \n STRING_AGG(DISTINCT \"consolidated_comment\", ' | ')\n as \"evaluation_target_consolidated_comment\", (ARRAY_AGG(\"periodic_evaluations_view\".\"consensus_status\" ORDER BY \"periodic_evaluations_view\".\"updated_at\" DESC NULLS LAST))[1] as \"evaluation_target_consensus_status\", \n MAX(\"confirmed_at\")\n as \"evaluation_target_confirmed_at\" from \"periodic_evaluations_view\" group by \"periodic_evaluations_view\".\"evaluation_year\", \"periodic_evaluations_view\".\"vendor_id\", \"periodic_evaluations_view\".\"vendor_code\", \"periodic_evaluations_view\".\"vendor_name\", \"periodic_evaluations_view\".\"domestic_foreign\", \"periodic_evaluations_view\".\"material_type\"",
+ "name": "periodic_evaluations_aggregated_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.periodic_evaluations_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_target_id": {
+ "name": "evaluation_target_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "division": {
+ "name": "division",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_period": {
+ "name": "evaluation_period",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "documents_submitted": {
+ "name": "documents_submitted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "submission_date": {
+ "name": "submission_date",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submission_deadline": {
+ "name": "submission_deadline",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_score": {
+ "name": "final_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_grade": {
+ "name": "final_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "review_completed_at": {
+ "name": "review_completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_at": {
+ "name": "finalized_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_by": {
+ "name": "finalized_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_note": {
+ "name": "evaluation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "admin_comment": {
+ "name": "admin_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consolidated_comment": {
+ "name": "consolidated_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consensus_status": {
+ "name": "consensus_status",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"periodic_evaluations\".\"id\", \"periodic_evaluations\".\"evaluation_target_id\", \"evaluation_targets\".\"evaluation_year\", \"evaluation_targets\".\"division\", \"evaluation_targets\".\"vendor_id\", \"evaluation_targets\".\"vendor_code\", \"evaluation_targets\".\"vendor_name\", \"evaluation_targets\".\"domestic_foreign\", \"evaluation_targets\".\"material_type\", \"periodic_evaluations\".\"evaluation_period\", \"periodic_evaluations\".\"documents_submitted\", \"periodic_evaluations\".\"submission_date\", \"periodic_evaluations\".\"submission_deadline\", \"periodic_evaluations\".\"final_score\", \"periodic_evaluations\".\"final_grade\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'processScore'\n AND re.is_completed = true\n ) as \"process_score\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'priceScore'\n AND re.is_completed = true\n ) as \"price_score\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'deliveryScore'\n AND re.is_completed = true\n ) as \"delivery_score\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'selfEvaluationScore'\n AND re.is_completed = true\n ) as \"self_evaluation_score\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'bonus'\n AND re.is_completed = true\n ) as \"participation_bonus\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'penalty'\n AND re.is_completed = true\n ) as \"quality_deduction\", \"periodic_evaluations\".\"status\", \"periodic_evaluations\".\"review_completed_at\", \"periodic_evaluations\".\"finalized_at\", \"periodic_evaluations\".\"finalized_by\", \"periodic_evaluations\".\"evaluation_note\", \"periodic_evaluations\".\"created_at\", \"periodic_evaluations\".\"updated_at\", \"evaluation_targets\".\"admin_comment\", \"evaluation_targets\".\"consolidated_comment\", \"evaluation_targets\".\"consensus_status\", \"evaluation_targets\".\"confirmed_at\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'ORDER_EVAL'\n LIMIT 1\n ) as \"order_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'PROCUREMENT_EVAL'\n LIMIT 1\n ) as \"procurement_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'QUALITY_EVAL'\n LIMIT 1\n ) as \"quality_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'DESIGN_EVAL'\n LIMIT 1\n ) as \"design_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'CS_EVAL'\n LIMIT 1\n ) as \"cs_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'admin'\n LIMIT 1\n ) as \"admin_eval_status\", (\n SELECT COUNT(*)::int\n FROM \"reviewer_evaluations\" re\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n ) as \"total_reviewers\", (\n SELECT COUNT(*)::int\n FROM \"reviewer_evaluations\" re\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND re.is_completed = true\n ) as \"completed_reviewers\", (\n SELECT COUNT(*)::int\n FROM \"reviewer_evaluations\" re\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND re.is_completed = false\n ) as \"pending_reviewers\", \"users\".\"name\", \"users\".\"email\" from \"periodic_evaluations\" left join \"evaluation_targets\" on \"periodic_evaluations\".\"evaluation_target_id\" = \"evaluation_targets\".\"id\" left join \"users\" on \"periodic_evaluations\".\"finalized_by\" = \"users\".\"id\" order by \"periodic_evaluations\".\"created_at\"",
+ "name": "periodic_evaluations_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.reviewer_evaluations_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "periodic_evaluation_id": {
+ "name": "periodic_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_target_reviewer_id": {
+ "name": "evaluation_target_reviewer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_completed": {
+ "name": "is_completed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_comment": {
+ "name": "reviewer_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "evaluation_period": {
+ "name": "evaluation_period",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "documents_submitted": {
+ "name": "documents_submitted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "submission_date": {
+ "name": "submission_date",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submission_deadline": {
+ "name": "submission_deadline",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_score": {
+ "name": "final_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_grade": {
+ "name": "final_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_score": {
+ "name": "evaluation_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_grade": {
+ "name": "evaluation_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "review_completed_at": {
+ "name": "review_completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_at": {
+ "name": "finalized_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_by": {
+ "name": "finalized_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_note": {
+ "name": "evaluation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "division": {
+ "name": "division",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "admin_comment": {
+ "name": "admin_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consolidated_comment": {
+ "name": "consolidated_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_by": {
+ "name": "confirmed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ld_claim_count": {
+ "name": "ld_claim_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "ld_claim_amount": {
+ "name": "ld_claim_amount",
+ "type": "numeric(15, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "ld_claim_currency": {
+ "name": "ld_claim_currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_name_from": {
+ "name": "department_name_from",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_user_id": {
+ "name": "reviewer_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assigned_at": {
+ "name": "assigned_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "assigned_by": {
+ "name": "assigned_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"reviewer_evaluations\".\"id\", \"reviewer_evaluations\".\"periodic_evaluation_id\", \"reviewer_evaluations\".\"evaluation_target_reviewer_id\", \"reviewer_evaluations\".\"is_completed\", \"reviewer_evaluations\".\"completed_at\", \"reviewer_evaluations\".\"reviewer_comment\", \"reviewer_evaluations\".\"created_at\", \"reviewer_evaluations\".\"updated_at\", \"periodic_evaluations\".\"evaluation_period\", \"reviewer_evaluations\".\"submitted_at\", \"periodic_evaluations\".\"documents_submitted\", \"periodic_evaluations\".\"submission_date\", \"periodic_evaluations\".\"submission_deadline\", \"periodic_evaluations\".\"final_score\", \"periodic_evaluations\".\"final_grade\", \"periodic_evaluations\".\"evaluation_score\", \"periodic_evaluations\".\"evaluation_grade\", \"periodic_evaluations\".\"status\", \"periodic_evaluations\".\"review_completed_at\", \"periodic_evaluations\".\"finalized_at\", \"periodic_evaluations\".\"finalized_by\", \"periodic_evaluations\".\"evaluation_note\", \"evaluation_targets\".\"evaluation_year\", \"evaluation_targets\".\"division\", \"evaluation_targets\".\"vendor_id\", \"evaluation_targets\".\"vendor_code\", \"evaluation_targets\".\"vendor_name\", \"evaluation_targets\".\"domestic_foreign\", \"evaluation_targets\".\"material_type\", \"evaluation_targets\".\"admin_comment\", \"evaluation_targets\".\"consolidated_comment\", \"evaluation_targets\".\"confirmed_at\", \"evaluation_targets\".\"confirmed_by\", \"evaluation_targets\".\"ld_claim_count\", \"evaluation_targets\".\"ld_claim_amount\", \"evaluation_targets\".\"ld_claim_currency\", \"evaluation_target_reviewers\".\"department_code\", \"evaluation_target_reviewers\".\"department_name_from\", \"evaluation_target_reviewers\".\"reviewer_user_id\", reviewer_user.name as \"reviewer_name\", reviewer_user.email as \"reviewer_email\", \"evaluation_target_reviewers\".\"assigned_at\", \"evaluation_target_reviewers\".\"assigned_by\", assigned_by_user.name as \"assigned_by_user_name\", finalized_by_user.name as \"finalized_by_user_name\", finalized_by_user.email as \"finalized_by_user_email\", \n CASE \n WHEN \"reviewer_evaluations\".\"is_completed\" = true THEN 'COMPLETED'\n ELSE 'NOT_STARTED'\n END\n as \"evaluation_progress\" from \"reviewer_evaluations\" left join \"periodic_evaluations\" on \"reviewer_evaluations\".\"periodic_evaluation_id\" = \"periodic_evaluations\".\"id\" left join \"evaluation_targets\" on \"periodic_evaluations\".\"evaluation_target_id\" = \"evaluation_targets\".\"id\" left join \"evaluation_target_reviewers\" on \"reviewer_evaluations\".\"evaluation_target_reviewer_id\" = \"evaluation_target_reviewers\".\"id\" left join users reviewer_user on \"evaluation_target_reviewers\".\"reviewer_user_id\" = reviewer_user.id left join users assigned_by_user on \"evaluation_target_reviewers\".\"assigned_by\" = assigned_by_user.id left join users finalized_by_user on \"periodic_evaluations\".\"finalized_by\" = finalized_by_user.id order by \"reviewer_evaluations\".\"is_completed\" ASC, \"reviewer_evaluations\".\"updated_at\" DESC",
+ "name": "reviewer_evaluations_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.reg_eval_criteria_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "criteria_id": {
+ "name": "criteria_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'quality'"
+ },
+ "category2": {
+ "name": "category2",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'processScore'"
+ },
+ "item": {
+ "name": "item",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'quality'"
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "range": {
+ "name": "range",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "detail": {
+ "name": "detail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "order_index": {
+ "name": "order_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "score_equip_ship": {
+ "name": "score_equip_ship",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_equip_marine": {
+ "name": "score_equip_marine",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_bulk_ship": {
+ "name": "score_bulk_ship",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_bulk_marine": {
+ "name": "score_bulk_marine",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"reg_eval_criteria_details\".\"id\", \"reg_eval_criteria_details\".\"criteria_id\", \"reg_eval_criteria\".\"category\", \"reg_eval_criteria\".\"category2\", \"reg_eval_criteria\".\"item\", \"reg_eval_criteria\".\"classification\", \"reg_eval_criteria\".\"range\", \"reg_eval_criteria_details\".\"detail\", \"reg_eval_criteria_details\".\"order_index\", \"reg_eval_criteria_details\".\"score_equip_ship\", \"reg_eval_criteria_details\".\"score_equip_marine\", \"reg_eval_criteria_details\".\"score_bulk_ship\", \"reg_eval_criteria_details\".\"score_bulk_marine\", \"reg_eval_criteria\".\"remarks\" from \"reg_eval_criteria\" left join \"reg_eval_criteria_details\" on \"reg_eval_criteria\".\"id\" = \"reg_eval_criteria_details\".\"criteria_id\" order by \"reg_eval_criteria\".\"id\", \"reg_eval_criteria_details\".\"order_index\"",
+ "name": "reg_eval_criteria_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.project_gtc_view": {
+ "columns": {},
+ "definition": "select \"projects\".\"id\" as \"id\", \"projects\".\"code\" as \"code\", \"projects\".\"name\" as \"name\", \"projects\".\"type\" as \"type\", \"projects\".\"created_at\" as \"project_created_at\", \"projects\".\"updated_at\" as \"project_updated_at\", \"project_gtc_files\".\"id\" as \"gtc_file_id\", \"project_gtc_files\".\"file_name\" as \"fileName\", \"project_gtc_files\".\"file_path\" as \"filePath\", \"project_gtc_files\".\"original_file_name\" as \"originalFileName\", \"project_gtc_files\".\"file_size\" as \"fileSize\", \"project_gtc_files\".\"mime_type\" as \"mimeType\", \"project_gtc_files\".\"created_at\" as \"gtcCreatedAt\", \"project_gtc_files\".\"updated_at\" as \"gtcUpdatedAt\" from \"projects\" left join \"project_gtc_files\" on \"projects\".\"id\" = \"project_gtc_files\".\"project_id\"",
+ "name": "project_gtc_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.qna_answer_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "qna_id": {
+ "name": "qna_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"qna_answer\".\"id\", \"qna_answer\".\"qna_id\", \"qna_answer\".\"content\", \"qna_answer\".\"author\", \"qna_answer\".\"created_at\" as \"created_at\", \"qna_answer\".\"updated_at\" as \"updated_at\", \"qna_answer\".\"is_deleted\" as \"is_deleted\", \"qna_answer\".\"deleted_at\" as \"deleted_at\", \"qna\".\"title\" as \"question_title\", \"qna\".\"category\" as \"question_category\", \"qna\".\"author\" as \"question_author\", \"qna\".\"created_at\" as \"question_created_at\", \"users\".\"name\" as \"author_name\", \"users\".\"email\" as \"author_email\", \"users\".\"domain\" as \"author_domain\", \"users\".\"phone\" as \"author_phone\", \"users\".\"image_url\" as \"author_image_url\", \"users\".\"language\" as \"author_language\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"tech_vendors\".\"vendor_name\" as \"tech_vendor_name\", \"tech_vendors\".\"vendor_code\" as \"tech_vendor_code\", COALESCE(\"vendors\".\"vendor_name\", \"tech_vendors\".\"vendor_name\") as \"company_name\", COALESCE(\"vendors\".\"vendor_code\", \"tech_vendors\".\"vendor_code\") as \"company_code\", \n CASE \n WHEN \"vendors\".\"vendor_name\" IS NOT NULL THEN 'vendor'\n WHEN \"tech_vendors\".\"vendor_name\" IS NOT NULL THEN 'techVendor'\n ELSE NULL\n END\n as \"vendor_type\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.is_deleted = false\n ) as \"total_comments\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.is_deleted = false\n ) as \"comment_count\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.parent_comment_id IS NULL\n AND qc.is_deleted = false\n ) as \"parent_comments_count\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.parent_comment_id IS NOT NULL\n AND qc.is_deleted = false\n ) as \"child_comments_count\", (\n SELECT MAX(qc.created_at)\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.is_deleted = false\n ) as \"last_commented_at\", (\n SELECT ROW_NUMBER() OVER (\n PARTITION BY qa2.qna_id \n ORDER BY qa2.created_at ASC\n )\n FROM \"qna_answer\" qa2\n WHERE qa2.id = \"qna_answer\".\"id\"\n AND qa2.is_deleted = false\n ) as \"answer_order\", (\n \"qna_answer\".\"id\" = (\n SELECT qa2.id\n FROM \"qna_answer\" qa2\n WHERE qa2.qna_id = \"qna_answer\".\"qna_id\"\n AND qa2.is_deleted = false\n ORDER BY qa2.created_at ASC\n LIMIT 1\n )\n ) as \"is_first_answer\", (\n \"qna_answer\".\"id\" = (\n SELECT qa2.id\n FROM \"qna_answer\" qa2\n WHERE qa2.qna_id = \"qna_answer\".\"qna_id\"\n AND qa2.is_deleted = false\n ORDER BY qa2.created_at DESC\n LIMIT 1\n )\n ) as \"is_latest_answer\" from \"qna_answer\" left join \"qna\" on \"qna_answer\".\"qna_id\" = \"qna\".\"id\" left join \"users\" on \"qna_answer\".\"author\" = \"users\".\"id\" left join \"vendors\" on \"users\".\"company_id\" = \"vendors\".\"id\" left join \"tech_vendors\" on \"users\".\"tech_company_id\" = \"tech_vendors\".\"id\" where \"qna_answer\".\"is_deleted\" = false order by \"qna_answer\".\"created_at\"",
+ "name": "qna_answer_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.qna_comment_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "answer_id": {
+ "name": "answer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_comment_id": {
+ "name": "parent_comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"qna_comments\".\"id\", \"qna_comments\".\"content\", \"qna_comments\".\"author\", \"qna_comments\".\"answer_id\", \"qna_comments\".\"parent_comment_id\", \"qna_comments\".\"created_at\" as \"created_at\", \"qna_comments\".\"updated_at\" as \"updated_at\", \"qna_comments\".\"is_deleted\" as \"is_deleted\", \"qna_comments\".\"deleted_at\" as \"deleted_at\", \"qna_answer\".\"content\" as \"answer_content\", \"qna_answer\".\"author\" as \"answer_author\", \"qna_answer\".\"created_at\" as \"answer_created_at\", \"qna_answer\".\"qna_id\" as \"qna_id\", \"qna\".\"title\" as \"question_title\", \"qna\".\"category\" as \"question_category\", \"qna\".\"author\" as \"question_author\", \"users\".\"name\" as \"author_name\", \"users\".\"email\" as \"author_email\", \"users\".\"domain\" as \"author_domain\", \"users\".\"image_url\" as \"author_image_url\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"tech_vendors\".\"vendor_name\" as \"tech_vendor_name\", COALESCE(\"vendors\".\"vendor_name\", \"tech_vendors\".\"vendor_name\") as \"company_name\", \n CASE \n WHEN \"vendors\".\"vendor_name\" IS NOT NULL THEN 'vendor'\n WHEN \"tech_vendors\".\"vendor_name\" IS NOT NULL THEN 'techVendor'\n ELSE NULL\n END\n as \"vendor_type\", \"qna_comments\".\"parent_comment_id\" IS NULL as \"is_parent_comment\", \"qna_comments\".\"parent_comment_id\" IS NOT NULL as \"is_child_comment\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc2\n WHERE qc2.parent_comment_id = \"qna_comments\".\"id\"\n AND qc2.is_deleted = false\n ) as \"child_comments_count\", (\n SELECT COUNT(*) > 0\n FROM \"qna_comments\" qc2\n WHERE qc2.parent_comment_id = \"qna_comments\".\"id\"\n AND qc2.is_deleted = false\n ) as \"has_child_comments\", \n CASE \n WHEN \"qna_comments\".\"parent_comment_id\" IS NULL THEN 0\n ELSE 1\n END\n as \"comment_depth\", (\n SELECT ROW_NUMBER() OVER (\n PARTITION BY qc2.answer_id, qc2.parent_comment_id\n ORDER BY qc2.created_at ASC\n )\n FROM \"qna_comments\" qc2\n WHERE qc2.id = \"qna_comments\".\"id\"\n AND qc2.is_deleted = false\n ) as \"comment_order\" from \"qna_comments\" left join \"qna_answer\" on \"qna_comments\".\"answer_id\" = \"qna_answer\".\"id\" left join \"qna\" on \"qna_answer\".\"qna_id\" = \"qna\".\"id\" left join \"users\" on \"qna_comments\".\"author\" = \"users\".\"id\" left join \"vendors\" on \"users\".\"company_id\" = \"vendors\".\"id\" left join \"tech_vendors\" on \"users\".\"tech_company_id\" = \"tech_vendors\".\"id\" where \"qna_comments\".\"is_deleted\" = false order by \"qna_comments\".\"created_at\"",
+ "name": "qna_comment_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.qna_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "qna_category",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "deleted_at": {
+ "name": "deleted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domain": {
+ "name": "domain",
+ "type": "user_domain",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'partners'"
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "image_url": {
+ "name": "image_url",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "language": {
+ "name": "language",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'en'"
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "last_login_at": {
+ "name": "last_login_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"qna\".\"id\", \"qna\".\"title\", \"qna\".\"content\", \"qna\".\"author\", \"qna\".\"category\", \"qna\".\"created_at\", \"qna\".\"updated_at\", \"qna\".\"is_deleted\", \"qna\".\"deleted_at\", \"users\".\"name\", \"users\".\"email\", \"users\".\"domain\", \"users\".\"phone\", \"users\".\"image_url\", \"users\".\"language\", \"users\".\"is_active\", \"users\".\"last_login_at\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"status\" as \"vendor_status\", \"vendors\".\"country\" as \"vendor_country\", \"vendors\".\"business_size\" as \"vendor_business_size\", \"tech_vendors\".\"vendor_name\" as \"tech_vendor_name\", \"tech_vendors\".\"vendor_code\" as \"tech_vendor_code\", \"tech_vendors\".\"status\" as \"tech_vendor_status\", \"tech_vendors\".\"country\" as \"tech_vendor_country\", \"tech_vendors\".\"tech_vendor_type\" as \"tech_vendor_type\", COALESCE(\"vendors\".\"vendor_name\", \"tech_vendors\".\"vendor_name\") as \"company_name\", COALESCE(\"vendors\".\"vendor_code\", \"tech_vendors\".\"vendor_code\") as \"company_code\", COALESCE(\"vendors\".\"country\", \"tech_vendors\".\"country\") as \"company_country\", \n CASE \n WHEN \"vendors\".\"vendor_name\" IS NOT NULL THEN 'vendor'\n WHEN \"tech_vendors\".\"vendor_name\" IS NOT NULL THEN 'techVendor'\n ELSE NULL\n END\n as \"vendor_type\", (\n SELECT COUNT(*)::int\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"total_answers\", (\n SELECT COUNT(*)::int\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"answer_count\", (\n SELECT MAX(qa.created_at)\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"last_answered_at\", (\n SELECT MIN(qa.created_at)\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"first_answered_at\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n INNER JOIN \"qna_answer\" qa ON qc.answer_id = qa.id\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qc.is_deleted = false\n AND qa.is_deleted = false\n ) as \"total_comments\", (\n SELECT GREATEST(\n \"qna\".\"updated_at\",\n COALESCE((\n SELECT MAX(qa.updated_at)\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ), \"qna\".\"updated_at\"),\n COALESCE((\n SELECT MAX(qc.updated_at)\n FROM \"qna_comments\" qc\n INNER JOIN \"qna_answer\" qa ON qc.answer_id = qa.id\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qc.is_deleted = false\n AND qa.is_deleted = false\n ), \"qna\".\"updated_at\")\n )\n ) as \"last_activity_at\", (\n SELECT COUNT(*) > 0\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"has_answers\", (\n SELECT COUNT(*) > 0\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"is_answered\", (\n (SELECT COUNT(*) FROM \"qna_answer\" qa WHERE qa.qna_id = \"qna\".\"id\" AND qa.is_deleted = false) >= 3\n OR\n (SELECT COUNT(*) FROM \"qna_comments\" qc \n INNER JOIN \"qna_answer\" qa ON qc.answer_id = qa.id \n WHERE qa.qna_id = \"qna\".\"id\" AND qc.is_deleted = false AND qa.is_deleted = false) >= 5\n ) as \"is_popular\" from \"qna\" left join \"users\" on \"qna\".\"author\" = \"users\".\"id\" left join \"vendors\" on \"users\".\"company_id\" = \"vendors\".\"id\" left join \"tech_vendors\" on \"users\".\"tech_company_id\" = \"tech_vendors\".\"id\" where \"qna\".\"is_deleted\" = false order by \"qna\".\"created_at\"",
+ "name": "qna_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.template_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "category": {
+ "name": "category",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sample_data": {
+ "name": "sample_data",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_name": {
+ "name": "created_by_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_email": {
+ "name": "created_by_email",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variables": {
+ "name": "variables",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT\n t.id,\n t.name,\n t.slug,\n t.subject,\n t.content,\n t.description,\n t.category,\n t.sample_data,\n t.is_active,\n t.version,\n t.created_by,\n u.name AS created_by_name,\n u.email AS created_by_email,\n t.created_at,\n t.updated_at,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', v.id,\n 'variableName', v.variable_name,\n 'variableType', v.variable_type,\n 'defaultValue', v.default_value,\n 'isRequired', v.is_required,\n 'description', v.description,\n 'displayOrder', v.display_order\n ) ORDER BY v.display_order\n ) FILTER (WHERE v.id IS NOT NULL),\n '[]'::json\n ) AS variables\n FROM \"templates\" t\n LEFT JOIN \"users\" u ON t.created_by = u.id\n LEFT JOIN \"template_variables\" v ON t.id = v.template_id\n GROUP BY\n t.id,\n t.name,\n t.slug,\n t.subject,\n t.content,\n t.description,\n t.category,\n t.sample_data,\n t.is_active,\n t.version,\n t.created_by,\n u.name,\n u.email,\n t.created_at,\n t.updated_at\n",
+ "name": "template_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.template_list_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "category": {
+ "name": "category",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_name": {
+ "name": "created_by_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_email": {
+ "name": "created_by_email",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variable_count": {
+ "name": "variable_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "required_variable_count": {
+ "name": "required_variable_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n SELECT\n t.id,\n t.name,\n t.slug,\n t.subject,\n t.description,\n t.category,\n t.is_active,\n t.version,\n t.created_by,\n u.name AS created_by_name,\n u.email AS created_by_email,\n t.created_at,\n t.updated_at,\n COALESCE(v.variable_count, 0) AS variable_count,\n COALESCE(v.required_variable_count, 0) AS required_variable_count\n FROM \"templates\" t\n LEFT JOIN \"users\" u ON t.created_by = u.id\n LEFT JOIN (\n SELECT\n template_id,\n COUNT(*) AS variable_count,\n COUNT(*) FILTER (WHERE is_required) AS required_variable_count\n FROM \"template_variables\"\n GROUP BY template_id\n ) v ON t.id = v.template_id\n",
+ "name": "template_list_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.gtc_clauses_tree_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_number": {
+ "name": "item_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "subtitle": {
+ "name": "subtitle",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "depth": {
+ "name": "depth",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "full_path": {
+ "name": "full_path",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "images": {
+ "name": "images",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "type": {
+ "name": "type",
+ "type": "gtc_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision": {
+ "name": "revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"gtc_clauses\".\"id\", \"gtc_clauses\".\"document_id\", \"gtc_clauses\".\"parent_id\", \"gtc_clauses\".\"item_number\", \"gtc_clauses\".\"category\", \"gtc_clauses\".\"subtitle\", \"gtc_clauses\".\"content\", \"gtc_clauses\".\"sort_order\", \"gtc_clauses\".\"depth\", \"gtc_clauses\".\"full_path\", \"gtc_clauses\".\"images\", \"gtc_clauses\".\"is_active\", \"gtc_clauses\".\"created_at\", \"gtc_clauses\".\"created_by_id\", \"gtc_clauses\".\"updated_at\", \"gtc_clauses\".\"updated_by_id\", \"gtc_clauses\".\"edit_reason\", \"gtc_documents\".\"type\", \"gtc_documents\".\"file_name\", \"gtc_documents\".\"revision\", \"gtc_documents\".\"project_id\", created_by_user.name as \"created_by_name\", created_by_user.email as \"created_by_email\", updated_by_user.name as \"updated_by_name\", updated_by_user.email as \"updated_by_email\", parent_clause.item_number as \"parent_item_number\", parent_clause.subtitle as \"parent_subtitle\", \n (\n SELECT count(*)\n FROM gtc_clauses children\n WHERE children.parent_id = \"gtc_clauses\".\"id\"\n AND children.is_active = true\n )\n as \"children_count\", \n (\n SELECT count(*)\n FROM gtc_clauses siblings\n WHERE siblings.parent_id = \"gtc_clauses\".\"parent_id\"\n AND siblings.is_active = true\n )\n as \"siblings_count\", \n \"gtc_clauses\".\"created_by_id\" != \"gtc_clauses\".\"updated_by_id\" OR \n \"gtc_clauses\".\"created_at\" != \"gtc_clauses\".\"updated_at\"\n as \"has_edit_history\" from \"gtc_clauses\" left join \"gtc_documents\" on \"gtc_clauses\".\"document_id\" = \"gtc_documents\".\"id\" left join users created_by_user on \"gtc_clauses\".\"created_by_id\" = created_by_user.id left join users updated_by_user on \"gtc_clauses\".\"updated_by_id\" = updated_by_user.id left join gtc_clauses parent_clause on \"gtc_clauses\".\"parent_id\" = parent_clause.id",
+ "name": "gtc_clauses_tree_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.gtc_documents_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "gtc_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision": {
+ "name": "revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"gtc_documents\".\"id\", \"gtc_documents\".\"type\", \"gtc_documents\".\"project_id\", \"gtc_documents\".\"revision\", \"gtc_documents\".\"title\", \"gtc_documents\".\"file_name\", \"gtc_documents\".\"file_path\", \"gtc_documents\".\"file_size\", \"gtc_documents\".\"created_at\", \"gtc_documents\".\"created_by_id\", \"gtc_documents\".\"updated_at\", \"gtc_documents\".\"updated_by_id\", \"gtc_documents\".\"edit_reason\", \"gtc_documents\".\"is_active\", \"projects\".\"code\", \"projects\".\"name\", created_by_user.name as \"created_by_name\", created_by_user.email as \"created_by_email\", updated_by_user.name as \"updated_by_name\", updated_by_user.email as \"updated_by_email\", \n (\n SELECT count(*)\n FROM gtc_documents gd2\n WHERE gd2.type = \"gtc_documents\".\"type\"\n AND gd2.is_active = true\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd2.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd2.project_id IS NULL)\n )\n )\n as \"total_documents_in_group\", \n (\n SELECT max(revision)\n FROM gtc_documents gd3\n WHERE gd3.type = \"gtc_documents\".\"type\"\n AND gd3.is_active = true\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd3.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd3.project_id IS NULL)\n )\n )\n as \"latest_revision\", \n \"gtc_documents\".\"revision\" = (\n SELECT max(revision)\n FROM gtc_documents gd4\n WHERE gd4.type = \"gtc_documents\".\"type\"\n AND gd4.is_active = true\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd4.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd4.project_id IS NULL)\n )\n )\n as \"is_latest_revision\", \n (\n SELECT id\n FROM gtc_documents gd5\n WHERE gd5.type = \"gtc_documents\".\"type\"\n AND gd5.is_active = true\n AND gd5.revision < \"gtc_documents\".\"revision\"\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd5.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd5.project_id IS NULL)\n )\n ORDER BY gd5.revision DESC\n LIMIT 1\n )\n as \"previous_revision_id\", \n (\n SELECT id\n FROM gtc_documents gd6\n WHERE gd6.type = \"gtc_documents\".\"type\"\n AND gd6.is_active = true\n AND gd6.revision > \"gtc_documents\".\"revision\"\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd6.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd6.project_id IS NULL)\n )\n ORDER BY gd6.revision ASC\n LIMIT 1\n )\n as \"next_revision_id\", \n CASE \n WHEN \"gtc_documents\".\"file_size\" IS NULL THEN NULL\n WHEN \"gtc_documents\".\"file_size\" < 1024 THEN \"gtc_documents\".\"file_size\" || ' B'\n WHEN \"gtc_documents\".\"file_size\" < 1024 * 1024 THEN round(\"gtc_documents\".\"file_size\" / 1024.0, 1) || ' KB'\n WHEN \"gtc_documents\".\"file_size\" < 1024 * 1024 * 1024 THEN round(\"gtc_documents\".\"file_size\" / (1024.0 * 1024), 1) || ' MB'\n ELSE round(\"gtc_documents\".\"file_size\" / (1024.0 * 1024 * 1024), 1) || ' GB'\n END\n as \"file_size_formatted\", \n CASE \n WHEN \"gtc_documents\".\"project_id\" IS NOT NULL THEN (\n SELECT count(*)\n FROM gtc_documents gd7\n WHERE gd7.project_id = \"gtc_documents\".\"project_id\"\n AND gd7.is_active = true\n )\n ELSE NULL\n END\n as \"project_total_documents\", \n (\n SELECT array_agg(revision ORDER BY revision)\n FROM gtc_documents gd8\n WHERE gd8.type = \"gtc_documents\".\"type\"\n AND gd8.is_active = true\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd8.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd8.project_id IS NULL)\n )\n )\n as \"revision_history\", \n \"gtc_documents\".\"created_by_id\" != \"gtc_documents\".\"updated_by_id\" OR \n \"gtc_documents\".\"created_at\" != \"gtc_documents\".\"updated_at\"\n as \"has_edit_history\" from \"gtc_documents\" left join \"projects\" on \"gtc_documents\".\"project_id\" = \"projects\".\"id\" left join users created_by_user on \"gtc_documents\".\"created_by_id\" = created_by_user.id left join users updated_by_user on \"gtc_documents\".\"updated_by_id\" = updated_by_user.id",
+ "name": "gtc_documents_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.gtc_vendor_clauses_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_document_id": {
+ "name": "vendor_document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "base_clause_id": {
+ "name": "base_clause_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_number_modified": {
+ "name": "is_number_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_category_modified": {
+ "name": "is_category_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_subtitle_modified": {
+ "name": "is_subtitle_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_content_modified": {
+ "name": "is_content_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "item_number": {
+ "name": "item_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "subtitle": {
+ "name": "subtitle",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "base_document_id": {
+ "name": "base_document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "gtc_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_status": {
+ "name": "review_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'draft'"
+ },
+ "negotiation_note": {
+ "name": "negotiation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_excluded": {
+ "name": "is_excluded",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "depth": {
+ "name": "depth",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "full_path": {
+ "name": "full_path",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"gtc_vendor_clauses\".\"id\", \"gtc_vendor_clauses\".\"vendor_document_id\", \"gtc_vendor_clauses\".\"base_clause_id\", \"gtc_vendor_clauses\".\"parent_id\", \n COALESCE(\"gtc_vendor_clauses\".\"modified_item_number\", \"gtc_clauses\".\"item_number\")\n as \"effective_item_number\", \n COALESCE(\"gtc_vendor_clauses\".\"modified_category\", \"gtc_clauses\".\"category\")\n as \"effective_category\", \n COALESCE(\"gtc_vendor_clauses\".\"modified_subtitle\", \"gtc_clauses\".\"subtitle\")\n as \"effective_subtitle\", \n COALESCE(\"gtc_vendor_clauses\".\"modified_content\", \"gtc_clauses\".\"content\")\n as \"effective_content\", \"gtc_vendor_clauses\".\"is_number_modified\", \"gtc_vendor_clauses\".\"is_category_modified\", \"gtc_vendor_clauses\".\"is_subtitle_modified\", \"gtc_vendor_clauses\".\"is_content_modified\", \"gtc_clauses\".\"item_number\", \"gtc_clauses\".\"category\", \"gtc_clauses\".\"subtitle\", \"gtc_clauses\".\"content\", \"gtc_vendor_documents\".\"vendor_id\", \"vendors\".\"vendor_code\", \"vendors\".\"vendor_name\", \"gtc_vendor_documents\".\"base_document_id\", \"gtc_documents\".\"type\", \"gtc_documents\".\"file_name\", \"gtc_vendor_clauses\".\"review_status\", \"gtc_vendor_clauses\".\"negotiation_note\", \"gtc_vendor_clauses\".\"is_excluded\", \"gtc_vendor_clauses\".\"sort_order\", \"gtc_vendor_clauses\".\"depth\", \"gtc_vendor_clauses\".\"full_path\", \n \"gtc_vendor_clauses\".\"is_number_modified\" OR \n \"gtc_vendor_clauses\".\"is_category_modified\" OR \n \"gtc_vendor_clauses\".\"is_subtitle_modified\" OR \n \"gtc_vendor_clauses\".\"is_content_modified\"\n as \"has_modifications\", \"gtc_vendor_clauses\".\"created_at\", \"gtc_vendor_clauses\".\"updated_at\" from \"gtc_vendor_clauses\" left join \"gtc_clauses\" on \"gtc_vendor_clauses\".\"base_clause_id\" = \"gtc_clauses\".\"id\" left join \"gtc_vendor_documents\" on \"gtc_vendor_clauses\".\"vendor_document_id\" = \"gtc_vendor_documents\".\"id\" left join \"vendors\" on \"gtc_vendor_documents\".\"vendor_id\" = \"vendors\".\"id\" left join \"gtc_documents\" on \"gtc_vendor_documents\".\"base_document_id\" = \"gtc_documents\".\"id\"",
+ "name": "gtc_vendor_clauses_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ }
+ },
+ "_meta": {
+ "columns": {},
+ "schemas": {},
+ "tables": {}
+ }
+} \ No newline at end of file
diff --git a/db/migrations/meta/0243_snapshot.json b/db/migrations/meta/0243_snapshot.json
new file mode 100644
index 00000000..861635aa
--- /dev/null
+++ b/db/migrations/meta/0243_snapshot.json
@@ -0,0 +1,43499 @@
+{
+ "id": "e2bf6c27-a347-44e0-b87e-b13e154d0363",
+ "prevId": "708c348f-33f0-4eea-997c-7174d4903f41",
+ "version": "7",
+ "dialect": "postgresql",
+ "tables": {
+ "public.companies": {
+ "name": "companies",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "companies_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "taxID": {
+ "name": "taxID",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.contract_envelopes": {
+ "name": "contract_envelopes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contract_envelopes_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "envelope_id": {
+ "name": "envelope_id",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "envelope_status": {
+ "name": "envelope_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "contract_envelopes_contract_id_contracts_id_fk": {
+ "name": "contract_envelopes_contract_id_contracts_id_fk",
+ "tableFrom": "contract_envelopes",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "contract_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.contract_items": {
+ "name": "contract_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contract_items_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_id": {
+ "name": "item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "unit_price": {
+ "name": "unit_price",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_rate": {
+ "name": "tax_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_amount": {
+ "name": "tax_amount",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_line_amount": {
+ "name": "total_line_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "contract_items_contract_item_idx": {
+ "name": "contract_items_contract_item_idx",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "item_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "contract_items_contract_id_contracts_id_fk": {
+ "name": "contract_items_contract_id_contracts_id_fk",
+ "tableFrom": "contract_items",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "contract_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "contract_items_item_id_items_id_fk": {
+ "name": "contract_items_item_id_items_id_fk",
+ "tableFrom": "contract_items",
+ "tableTo": "items",
+ "columnsFrom": [
+ "item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "contract_items_contract_id_item_id_unique": {
+ "name": "contract_items_contract_id_item_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "contract_id",
+ "item_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.contract_signers": {
+ "name": "contract_signers",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contract_signers_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "envelope_id": {
+ "name": "envelope_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_contact_id": {
+ "name": "vendor_contact_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "signer_type": {
+ "name": "signer_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'VENDOR'"
+ },
+ "signer_email": {
+ "name": "signer_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "signer_name": {
+ "name": "signer_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "signer_position": {
+ "name": "signer_position",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "signer_status": {
+ "name": "signer_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'PENDING'"
+ },
+ "signed_at": {
+ "name": "signed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "contract_signers_envelope_id_contract_envelopes_id_fk": {
+ "name": "contract_signers_envelope_id_contract_envelopes_id_fk",
+ "tableFrom": "contract_signers",
+ "tableTo": "contract_envelopes",
+ "columnsFrom": [
+ "envelope_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "contract_signers_vendor_contact_id_vendor_contacts_id_fk": {
+ "name": "contract_signers_vendor_contact_id_vendor_contacts_id_fk",
+ "tableFrom": "contract_signers",
+ "tableTo": "vendor_contacts",
+ "columnsFrom": [
+ "vendor_contact_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.contracts": {
+ "name": "contracts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contracts_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_no": {
+ "name": "contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_name": {
+ "name": "contract_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "start_date": {
+ "name": "start_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "end_date": {
+ "name": "end_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payment_terms": {
+ "name": "payment_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_terms": {
+ "name": "delivery_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_location": {
+ "name": "delivery_location",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "total_amount": {
+ "name": "total_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount": {
+ "name": "discount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax": {
+ "name": "tax",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shipping_fee": {
+ "name": "shipping_fee",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "net_total": {
+ "name": "net_total",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "partial_shipping_allowed": {
+ "name": "partial_shipping_allowed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "partial_payment_allowed": {
+ "name": "partial_payment_allowed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "contracts_project_id_projects_id_fk": {
+ "name": "contracts_project_id_projects_id_fk",
+ "tableFrom": "contracts",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "contracts_vendor_id_vendors_id_fk": {
+ "name": "contracts_vendor_id_vendors_id_fk",
+ "tableFrom": "contracts",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "contracts_contract_no_unique": {
+ "name": "contracts_contract_no_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "contract_no"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.poa": {
+ "name": "poa",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "poa_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_no": {
+ "name": "contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_contract_no": {
+ "name": "original_contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_contract_name": {
+ "name": "original_contract_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_status": {
+ "name": "original_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "delivery_terms": {
+ "name": "delivery_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_location": {
+ "name": "delivery_location",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_amount": {
+ "name": "total_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount": {
+ "name": "discount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax": {
+ "name": "tax",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shipping_fee": {
+ "name": "shipping_fee",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "net_total": {
+ "name": "net_total",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "change_reason": {
+ "name": "change_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approval_status": {
+ "name": "approval_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'PENDING'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "poa_original_contract_no_contracts_contract_no_fk": {
+ "name": "poa_original_contract_no_contracts_contract_no_fk",
+ "tableFrom": "poa",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "original_contract_no"
+ ],
+ "columnsTo": [
+ "contract_no"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "poa_project_id_projects_id_fk": {
+ "name": "poa_project_id_projects_id_fk",
+ "tableFrom": "poa",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "poa_vendor_id_vendors_id_fk": {
+ "name": "poa_vendor_id_vendors_id_fk",
+ "tableFrom": "poa",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.item_offshore_hull": {
+ "name": "item_offshore_hull",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "work_type": {
+ "name": "work_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_list": {
+ "name": "item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sub_item_list": {
+ "name": "sub_item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.item_offshore_top": {
+ "name": "item_offshore_top",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "work_type": {
+ "name": "work_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_list": {
+ "name": "item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sub_item_list": {
+ "name": "sub_item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.item_shipbuilding": {
+ "name": "item_shipbuilding",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "work_type": {
+ "name": "work_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_list": {
+ "name": "item_list",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ship_types": {
+ "name": "ship_types",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'OPTION'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.items": {
+ "name": "items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_no": {
+ "name": "project_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "package_code": {
+ "name": "package_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sm_code": {
+ "name": "sm_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_item_code": {
+ "name": "parent_item_code",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_level": {
+ "name": "item_level",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delete_flag": {
+ "name": "delete_flag",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "unit_of_measure": {
+ "name": "unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "steel_type": {
+ "name": "steel_type",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_material": {
+ "name": "grade_material",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "change_date": {
+ "name": "change_date",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "base_unit_of_measure": {
+ "name": "base_unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "project_item_unique": {
+ "name": "project_item_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_no",
+ "item_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.materials": {
+ "name": "materials",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "parent_item_code": {
+ "name": "parent_item_code",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_level": {
+ "name": "item_level",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delete_flag": {
+ "name": "delete_flag",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "unit_of_measure": {
+ "name": "unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "steel_type": {
+ "name": "steel_type",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_material": {
+ "name": "grade_material",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "change_date": {
+ "name": "change_date",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "base_unit_of_measure": {
+ "name": "base_unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "materials_item_code_unique": {
+ "name": "materials_item_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "item_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.pq_criterias": {
+ "name": "pq_criterias",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "check_point": {
+ "name": "check_point",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "group_name": {
+ "name": "group_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.pq_criterias_extension": {
+ "name": "pq_criterias_extension",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "pq_criteria_id": {
+ "name": "pq_criteria_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_info": {
+ "name": "contract_info",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "additional_requirement": {
+ "name": "additional_requirement",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "pq_criterias_extension_pq_criteria_id_pq_criterias_id_fk": {
+ "name": "pq_criterias_extension_pq_criteria_id_pq_criterias_id_fk",
+ "tableFrom": "pq_criterias_extension",
+ "tableTo": "pq_criterias",
+ "columnsFrom": [
+ "pq_criteria_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "pq_criterias_extension_project_id_projects_id_fk": {
+ "name": "pq_criterias_extension_project_id_projects_id_fk",
+ "tableFrom": "pq_criterias_extension",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_criteria_attachments": {
+ "name": "vendor_criteria_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_criteria_answer_id": {
+ "name": "vendor_criteria_answer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_criteria_attachments_vendor_criteria_answer_id_vendor_pq_criteria_answers_id_fk": {
+ "name": "vendor_criteria_attachments_vendor_criteria_answer_id_vendor_pq_criteria_answers_id_fk",
+ "tableFrom": "vendor_criteria_attachments",
+ "tableTo": "vendor_pq_criteria_answers",
+ "columnsFrom": [
+ "vendor_criteria_answer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_investigation_attachments": {
+ "name": "vendor_investigation_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "investigation_id": {
+ "name": "investigation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mime_type": {
+ "name": "mime_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'REPORT'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_investigation_attachments_investigation_id_vendor_investigations_id_fk": {
+ "name": "vendor_investigation_attachments_investigation_id_vendor_investigations_id_fk",
+ "tableFrom": "vendor_investigation_attachments",
+ "tableTo": "vendor_investigations",
+ "columnsFrom": [
+ "investigation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_investigations": {
+ "name": "vendor_investigations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pq_submission_id": {
+ "name": "pq_submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requester_id": {
+ "name": "requester_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "qm_manager_id": {
+ "name": "qm_manager_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_status": {
+ "name": "investigation_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PLANNED'"
+ },
+ "evaluation_type": {
+ "name": "evaluation_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_address": {
+ "name": "investigation_address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_method": {
+ "name": "investigation_method",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "scheduled_start_at": {
+ "name": "scheduled_start_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "scheduled_end_at": {
+ "name": "scheduled_end_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "forecasted_at": {
+ "name": "forecasted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_score": {
+ "name": "evaluation_score",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_result": {
+ "name": "evaluation_result",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_notes": {
+ "name": "investigation_notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_investigations_vendor_id_vendors_id_fk": {
+ "name": "vendor_investigations_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_investigations",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_investigations_pq_submission_id_vendor_pq_submissions_id_fk": {
+ "name": "vendor_investigations_pq_submission_id_vendor_pq_submissions_id_fk",
+ "tableFrom": "vendor_investigations",
+ "tableTo": "vendor_pq_submissions",
+ "columnsFrom": [
+ "pq_submission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "cascade"
+ },
+ "vendor_investigations_requester_id_users_id_fk": {
+ "name": "vendor_investigations_requester_id_users_id_fk",
+ "tableFrom": "vendor_investigations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "requester_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_investigations_qm_manager_id_users_id_fk": {
+ "name": "vendor_investigations_qm_manager_id_users_id_fk",
+ "tableFrom": "vendor_investigations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "qm_manager_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_pq_submissions": {
+ "name": "vendor_pq_submissions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "pq_number": {
+ "name": "pq_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "requester_id": {
+ "name": "requester_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'REQUESTED'"
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approved_at": {
+ "name": "approved_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejected_at": {
+ "name": "rejected_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reject_reason": {
+ "name": "reject_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "unique_pq_submission": {
+ "name": "unique_pq_submission",
+ "columns": [
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vendor_pq_submissions_requester_id_users_id_fk": {
+ "name": "vendor_pq_submissions_requester_id_users_id_fk",
+ "tableFrom": "vendor_pq_submissions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "requester_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_pq_submissions_vendor_id_vendors_id_fk": {
+ "name": "vendor_pq_submissions_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_pq_submissions",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "vendor_pq_submissions_project_id_projects_id_fk": {
+ "name": "vendor_pq_submissions_project_id_projects_id_fk",
+ "tableFrom": "vendor_pq_submissions",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "vendor_pq_submissions_pq_number_unique": {
+ "name": "vendor_pq_submissions_pq_number_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "pq_number"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_pq_criteria_answers": {
+ "name": "vendor_pq_criteria_answers",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "criteria_id": {
+ "name": "criteria_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "answer": {
+ "name": "answer",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_pq_criteria_answers_vendor_id_vendors_id_fk": {
+ "name": "vendor_pq_criteria_answers_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_pq_criteria_answers",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "vendor_pq_criteria_answers_criteria_id_pq_criterias_id_fk": {
+ "name": "vendor_pq_criteria_answers_criteria_id_pq_criterias_id_fk",
+ "tableFrom": "vendor_pq_criteria_answers",
+ "tableTo": "pq_criterias",
+ "columnsFrom": [
+ "criteria_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "vendor_pq_criteria_answers_project_id_projects_id_fk": {
+ "name": "vendor_pq_criteria_answers_project_id_projects_id_fk",
+ "tableFrom": "vendor_pq_criteria_answers",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_pq_review_logs": {
+ "name": "vendor_pq_review_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_pq_criteria_answer_id": {
+ "name": "vendor_pq_criteria_answer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "reviewer_comment": {
+ "name": "reviewer_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "reviewer_name": {
+ "name": "reviewer_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_pq_review_logs_vendor_pq_criteria_answer_id_vendor_pq_criteria_answers_id_fk": {
+ "name": "vendor_pq_review_logs_vendor_pq_criteria_answer_id_vendor_pq_criteria_answers_id_fk",
+ "tableFrom": "vendor_pq_review_logs",
+ "tableTo": "vendor_pq_criteria_answers",
+ "columnsFrom": [
+ "vendor_pq_criteria_answer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_project_pqs": {
+ "name": "vendor_project_pqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'REQUESTED'"
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approved_at": {
+ "name": "approved_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejected_at": {
+ "name": "rejected_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reject_reason": {
+ "name": "reject_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_project_pqs_vendor_id_vendors_id_fk": {
+ "name": "vendor_project_pqs_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_project_pqs",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ },
+ "vendor_project_pqs_project_id_projects_id_fk": {
+ "name": "vendor_project_pqs_project_id_projects_id_fk",
+ "tableFrom": "vendor_project_pqs",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "cascade"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.bidding_projects": {
+ "name": "bidding_projects",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "pspid": {
+ "name": "pspid",
+ "type": "char(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "proj_nm": {
+ "name": "proj_nm",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sector": {
+ "name": "sector",
+ "type": "char(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "proj_msrm": {
+ "name": "proj_msrm",
+ "type": "numeric(3, 0)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "kunnr": {
+ "name": "kunnr",
+ "type": "char(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "kunnr_nm": {
+ "name": "kunnr_nm",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cls_1": {
+ "name": "cls_1",
+ "type": "char(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cls1_nm": {
+ "name": "cls1_nm",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ptype": {
+ "name": "ptype",
+ "type": "char(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ptype_nm": {
+ "name": "ptype_nm",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pmodel_cd": {
+ "name": "pmodel_cd",
+ "type": "char(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pmodel_nm": {
+ "name": "pmodel_nm",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pmodel_sz": {
+ "name": "pmodel_sz",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pmodel_uom": {
+ "name": "pmodel_uom",
+ "type": "char(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "txt04": {
+ "name": "txt04",
+ "type": "char(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "txt30": {
+ "name": "txt30",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "estm_pm": {
+ "name": "estm_pm",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pjt_type": {
+ "name": "pjt_type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "bidding_projects_pspid_unique": {
+ "name": "bidding_projects_pspid_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "pspid"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.project_series": {
+ "name": "project_series",
+ "schema": "",
+ "columns": {
+ "pspid": {
+ "name": "pspid",
+ "type": "char(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sers_no": {
+ "name": "sers_no",
+ "type": "char(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sc_dt": {
+ "name": "sc_dt",
+ "type": "char(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "kl_dt": {
+ "name": "kl_dt",
+ "type": "char(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "lc_dt": {
+ "name": "lc_dt",
+ "type": "char(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dl_dt": {
+ "name": "dl_dt",
+ "type": "char(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dock_no": {
+ "name": "dock_no",
+ "type": "char(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dock_nm": {
+ "name": "dock_nm",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "proj_no": {
+ "name": "proj_no",
+ "type": "char(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "post1": {
+ "name": "post1",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "project_sersNo_unique": {
+ "name": "project_sersNo_unique",
+ "columns": [
+ {
+ "expression": "pspid",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "sers_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "project_series_pspid_bidding_projects_pspid_fk": {
+ "name": "project_series_pspid_bidding_projects_pspid_fk",
+ "tableFrom": "project_series",
+ "tableTo": "bidding_projects",
+ "columnsFrom": [
+ "pspid"
+ ],
+ "columnsTo": [
+ "pspid"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.projects": {
+ "name": "projects",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ship'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.cbe_evaluations": {
+ "name": "cbe_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluated_by": {
+ "name": "evaluated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluated_at": {
+ "name": "evaluated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "result": {
+ "name": "result",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_cost": {
+ "name": "total_cost",
+ "type": "numeric(18, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "payment_terms": {
+ "name": "payment_terms",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms": {
+ "name": "incoterms",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_schedule": {
+ "name": "delivery_schedule",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "cbe_evaluations_rfq_id_rfqs_id_fk": {
+ "name": "cbe_evaluations_rfq_id_rfqs_id_fk",
+ "tableFrom": "cbe_evaluations",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "cbe_evaluations_vendor_id_vendors_id_fk": {
+ "name": "cbe_evaluations_vendor_id_vendors_id_fk",
+ "tableFrom": "cbe_evaluations",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "cbe_evaluations_evaluated_by_users_id_fk": {
+ "name": "cbe_evaluations_evaluated_by_users_id_fk",
+ "tableFrom": "cbe_evaluations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "evaluated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfq_attachments": {
+ "name": "rfq_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_id": {
+ "name": "evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cbe_id": {
+ "name": "cbe_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "comment_id": {
+ "name": "comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfq_attachments_rfq_id_rfqs_id_fk": {
+ "name": "rfq_attachments_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_attachments_vendor_id_vendors_id_fk": {
+ "name": "rfq_attachments_vendor_id_vendors_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_attachments_evaluation_id_rfq_evaluations_id_fk": {
+ "name": "rfq_attachments_evaluation_id_rfq_evaluations_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "rfq_evaluations",
+ "columnsFrom": [
+ "evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_attachments_cbe_id_cbe_evaluations_id_fk": {
+ "name": "rfq_attachments_cbe_id_cbe_evaluations_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "cbe_evaluations",
+ "columnsFrom": [
+ "cbe_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_attachments_comment_id_rfq_comments_id_fk": {
+ "name": "rfq_attachments_comment_id_rfq_comments_id_fk",
+ "tableFrom": "rfq_attachments",
+ "tableTo": "rfq_comments",
+ "columnsFrom": [
+ "comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfq_comments": {
+ "name": "rfq_comments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment_text": {
+ "name": "comment_text",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "commented_by": {
+ "name": "commented_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_id": {
+ "name": "evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cbe_id": {
+ "name": "cbe_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfq_comments_rfq_id_rfqs_id_fk": {
+ "name": "rfq_comments_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_comments_vendor_id_vendors_id_fk": {
+ "name": "rfq_comments_vendor_id_vendors_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_comments_commented_by_users_id_fk": {
+ "name": "rfq_comments_commented_by_users_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "commented_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_comments_evaluation_id_rfq_evaluations_id_fk": {
+ "name": "rfq_comments_evaluation_id_rfq_evaluations_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "rfq_evaluations",
+ "columnsFrom": [
+ "evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_comments_cbe_id_vendor_responses_id_fk": {
+ "name": "rfq_comments_cbe_id_vendor_responses_id_fk",
+ "tableFrom": "rfq_comments",
+ "tableTo": "vendor_responses",
+ "columnsFrom": [
+ "cbe_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfq_evaluations": {
+ "name": "rfq_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "eval_type": {
+ "name": "eval_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "result": {
+ "name": "result",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfq_evaluations_rfq_id_rfqs_id_fk": {
+ "name": "rfq_evaluations_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfq_evaluations",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "rfq_evaluations_vendor_id_vendors_id_fk": {
+ "name": "rfq_evaluations_vendor_id_vendors_id_fk",
+ "tableFrom": "rfq_evaluations",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfq_items": {
+ "name": "rfq_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "uom": {
+ "name": "uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfq_items_rfq_id_rfqs_id_fk": {
+ "name": "rfq_items_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfq_items",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "rfq_items_item_code_items_item_code_fk": {
+ "name": "rfq_items_item_code_items_item_code_fk",
+ "tableFrom": "rfq_items",
+ "tableTo": "items",
+ "columnsFrom": [
+ "item_code"
+ ],
+ "columnsTo": [
+ "item_code"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.rfqs": {
+ "name": "rfqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "bid_project_id": {
+ "name": "bid_project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'DRAFT'"
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'PURCHASE'"
+ },
+ "parent_rfq_id": {
+ "name": "parent_rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "rfqs_project_id_projects_id_fk": {
+ "name": "rfqs_project_id_projects_id_fk",
+ "tableFrom": "rfqs",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "rfqs_bid_project_id_bidding_projects_id_fk": {
+ "name": "rfqs_bid_project_id_bidding_projects_id_fk",
+ "tableFrom": "rfqs",
+ "tableTo": "bidding_projects",
+ "columnsFrom": [
+ "bid_project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "rfqs_created_by_users_id_fk": {
+ "name": "rfqs_created_by_users_id_fk",
+ "tableFrom": "rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "rfqs_parent_rfq_id_rfqs_id_fk": {
+ "name": "rfqs_parent_rfq_id_rfqs_id_fk",
+ "tableFrom": "rfqs",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "parent_rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "rfqs_rfq_code_unique": {
+ "name": "rfqs_rfq_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "rfq_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_commercial_responses": {
+ "name": "vendor_commercial_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "response_id": {
+ "name": "response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "total_price": {
+ "name": "total_price",
+ "type": "numeric(18, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "payment_terms": {
+ "name": "payment_terms",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms": {
+ "name": "incoterms",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_period": {
+ "name": "delivery_period",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "warranty_period": {
+ "name": "warranty_period",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "validity_period": {
+ "name": "validity_period",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "price_breakdown": {
+ "name": "price_breakdown",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "commercial_notes": {
+ "name": "commercial_notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_commercial_responses_response_id_vendor_responses_id_fk": {
+ "name": "vendor_commercial_responses_response_id_vendor_responses_id_fk",
+ "tableFrom": "vendor_commercial_responses",
+ "tableTo": "vendor_responses",
+ "columnsFrom": [
+ "response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_response_attachments": {
+ "name": "vendor_response_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "response_id": {
+ "name": "response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "technical_response_id": {
+ "name": "technical_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "commercial_response_id": {
+ "name": "commercial_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_response_attachments_response_id_vendor_responses_id_fk": {
+ "name": "vendor_response_attachments_response_id_vendor_responses_id_fk",
+ "tableFrom": "vendor_response_attachments",
+ "tableTo": "vendor_responses",
+ "columnsFrom": [
+ "response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_response_attachments_technical_response_id_vendor_technical_responses_id_fk": {
+ "name": "vendor_response_attachments_technical_response_id_vendor_technical_responses_id_fk",
+ "tableFrom": "vendor_response_attachments",
+ "tableTo": "vendor_technical_responses",
+ "columnsFrom": [
+ "technical_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_response_attachments_commercial_response_id_vendor_commercial_responses_id_fk": {
+ "name": "vendor_response_attachments_commercial_response_id_vendor_commercial_responses_id_fk",
+ "tableFrom": "vendor_response_attachments",
+ "tableTo": "vendor_commercial_responses",
+ "columnsFrom": [
+ "commercial_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_responses": {
+ "name": "vendor_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'REVIEWING'"
+ },
+ "notes": {
+ "name": "notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_by": {
+ "name": "responded_by",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_at": {
+ "name": "responded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "vendor_response_unique": {
+ "name": "vendor_response_unique",
+ "columns": [
+ {
+ "expression": "rfq_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vendor_responses_rfq_id_rfqs_id_fk": {
+ "name": "vendor_responses_rfq_id_rfqs_id_fk",
+ "tableFrom": "vendor_responses",
+ "tableTo": "rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_responses_vendor_id_vendors_id_fk": {
+ "name": "vendor_responses_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_responses",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_technical_responses": {
+ "name": "vendor_technical_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "response_id": {
+ "name": "response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "summary": {
+ "name": "summary",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_technical_responses_response_id_vendor_responses_id_fk": {
+ "name": "vendor_technical_responses_response_id_vendor_responses_id_fk",
+ "tableFrom": "vendor_technical_responses",
+ "tableTo": "vendor_responses",
+ "columnsFrom": [
+ "response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.departments": {
+ "name": "departments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_name": {
+ "name": "department_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "departments_department_code_unique": {
+ "name": "departments_department_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "department_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.login_attempts": {
+ "name": "login_attempts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "login_attempts_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "success": {
+ "name": "success",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ip_address": {
+ "name": "ip_address",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_agent": {
+ "name": "user_agent",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "failure_reason": {
+ "name": "failure_reason",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attempted_at": {
+ "name": "attempted_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "city": {
+ "name": "city",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "login_attempts_email_idx": {
+ "name": "login_attempts_email_idx",
+ "columns": [
+ {
+ "expression": "email",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "login_attempts_attempted_at_idx": {
+ "name": "login_attempts_attempted_at_idx",
+ "columns": [
+ {
+ "expression": "attempted_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "login_attempts_ip_address_idx": {
+ "name": "login_attempts_ip_address_idx",
+ "columns": [
+ {
+ "expression": "ip_address",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "login_attempts_user_id_users_id_fk": {
+ "name": "login_attempts_user_id_users_id_fk",
+ "tableFrom": "login_attempts",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.mfa_tokens": {
+ "name": "mfa_tokens",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "mfa_tokens_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "token": {
+ "name": "token",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "expires_at": {
+ "name": "expires_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "used_at": {
+ "name": "used_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "phone_number": {
+ "name": "phone_number",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attempts": {
+ "name": "attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ }
+ },
+ "indexes": {
+ "mfa_tokens_user_id_idx": {
+ "name": "mfa_tokens_user_id_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mfa_tokens_token_idx": {
+ "name": "mfa_tokens_token_idx",
+ "columns": [
+ {
+ "expression": "token",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "mfa_tokens_expires_at_idx": {
+ "name": "mfa_tokens_expires_at_idx",
+ "columns": [
+ {
+ "expression": "expires_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "mfa_tokens_user_id_users_id_fk": {
+ "name": "mfa_tokens_user_id_users_id_fk",
+ "tableFrom": "mfa_tokens",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.otps": {
+ "name": "otps",
+ "schema": "",
+ "columns": {
+ "email": {
+ "name": "email",
+ "type": "varchar(256)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "otpToken": {
+ "name": "otpToken",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "otp_expires": {
+ "name": "otp_expires",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.password_history": {
+ "name": "password_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "password_history_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "password_hash": {
+ "name": "password_hash",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "salt": {
+ "name": "salt",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "replaced_at": {
+ "name": "replaced_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "password_history_user_id_idx": {
+ "name": "password_history_user_id_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "password_history_created_at_idx": {
+ "name": "password_history_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "password_history_user_id_users_id_fk": {
+ "name": "password_history_user_id_users_id_fk",
+ "tableFrom": "password_history",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.passwords": {
+ "name": "passwords",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "passwords_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "password_hash": {
+ "name": "password_hash",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "salt": {
+ "name": "salt",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "expires_at": {
+ "name": "expires_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "strength": {
+ "name": "strength",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_uppercase": {
+ "name": "has_uppercase",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_lowercase": {
+ "name": "has_lowercase",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_numbers": {
+ "name": "has_numbers",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_symbols": {
+ "name": "has_symbols",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "length": {
+ "name": "length",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "passwords_user_id_idx": {
+ "name": "passwords_user_id_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "passwords_active_idx": {
+ "name": "passwords_active_idx",
+ "columns": [
+ {
+ "expression": "is_active",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "passwords_user_id_users_id_fk": {
+ "name": "passwords_user_id_users_id_fk",
+ "tableFrom": "passwords",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.permissions": {
+ "name": "permissions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "permissions_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "permission_key": {
+ "name": "permission_key",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.role_permissions": {
+ "name": "role_permissions",
+ "schema": "",
+ "columns": {
+ "role_id": {
+ "name": "role_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "permission_id": {
+ "name": "permission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "role_permissions_role_id_roles_id_fk": {
+ "name": "role_permissions_role_id_roles_id_fk",
+ "tableFrom": "role_permissions",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "role_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "role_permissions_permission_id_permissions_id_fk": {
+ "name": "role_permissions_permission_id_permissions_id_fk",
+ "tableFrom": "role_permissions",
+ "tableTo": "permissions",
+ "columnsFrom": [
+ "permission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.roles": {
+ "name": "roles",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "roles_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domain": {
+ "name": "domain",
+ "type": "user_domain",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "company_id": {
+ "name": "company_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "''"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "roles_company_id_vendors_id_fk": {
+ "name": "roles_company_id_vendors_id_fk",
+ "tableFrom": "roles",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "company_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.security_settings": {
+ "name": "security_settings",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "security_settings_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "min_password_length": {
+ "name": "min_password_length",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 8
+ },
+ "require_uppercase": {
+ "name": "require_uppercase",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "require_lowercase": {
+ "name": "require_lowercase",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "require_numbers": {
+ "name": "require_numbers",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "require_symbols": {
+ "name": "require_symbols",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "password_expiry_days": {
+ "name": "password_expiry_days",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 90
+ },
+ "password_history_count": {
+ "name": "password_history_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 5
+ },
+ "max_failed_attempts": {
+ "name": "max_failed_attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 5
+ },
+ "lockout_duration_minutes": {
+ "name": "lockout_duration_minutes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 30
+ },
+ "require_mfa_for_partners": {
+ "name": "require_mfa_for_partners",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "sms_token_expiry_minutes": {
+ "name": "sms_token_expiry_minutes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 5
+ },
+ "max_sms_attempts_per_day": {
+ "name": "max_sms_attempts_per_day",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 10
+ },
+ "session_timeout_minutes": {
+ "name": "session_timeout_minutes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 480
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.user_roles": {
+ "name": "user_roles",
+ "schema": "",
+ "columns": {
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "role_id": {
+ "name": "role_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "user_roles_user_id_users_id_fk": {
+ "name": "user_roles_user_id_users_id_fk",
+ "tableFrom": "user_roles",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "user_roles_role_id_roles_id_fk": {
+ "name": "user_roles_role_id_roles_id_fk",
+ "tableFrom": "user_roles",
+ "tableTo": "roles",
+ "columnsFrom": [
+ "role_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.users": {
+ "name": "users",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "users_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "epId": {
+ "name": "epId",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "deptCode": {
+ "name": "deptCode",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "deptName": {
+ "name": "deptName",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "company_id": {
+ "name": "company_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tech_company_id": {
+ "name": "tech_company_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "domain": {
+ "name": "domain",
+ "type": "user_domain",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'partners'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "image_url": {
+ "name": "image_url",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "language": {
+ "name": "language",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'en'"
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mfa_enabled": {
+ "name": "mfa_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "mfa_secret": {
+ "name": "mfa_secret",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_locked": {
+ "name": "is_locked",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "lockout_until": {
+ "name": "lockout_until",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "failed_login_attempts": {
+ "name": "failed_login_attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "last_login_at": {
+ "name": "last_login_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "password_change_required": {
+ "name": "password_change_required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "deactivated_at": {
+ "name": "deactivated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "deactivation_reason": {
+ "name": "deactivation_reason",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "users_email_idx": {
+ "name": "users_email_idx",
+ "columns": [
+ {
+ "expression": "email",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_phone_idx": {
+ "name": "users_phone_idx",
+ "columns": [
+ {
+ "expression": "phone",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "users_company_id_vendors_id_fk": {
+ "name": "users_company_id_vendors_id_fk",
+ "tableFrom": "users",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "company_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "users_tech_company_id_tech_vendors_id_fk": {
+ "name": "users_tech_company_id_tech_vendors_id_fk",
+ "tableFrom": "users",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "tech_company_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "users_email_unique": {
+ "name": "users_email_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "email"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.form_entries": {
+ "name": "form_entries",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "form_code": {
+ "name": "form_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "data": {
+ "name": "data",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_item_id": {
+ "name": "contract_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "form_entries_contract_item_id_contract_items_id_fk": {
+ "name": "form_entries_contract_item_id_contract_items_id_fk",
+ "tableFrom": "form_entries",
+ "tableTo": "contract_items",
+ "columnsFrom": [
+ "contract_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.form_metas": {
+ "name": "form_metas",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_code": {
+ "name": "form_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_name": {
+ "name": "form_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "columns": {
+ "name": "columns",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "form_metas_project_id_projects_id_fk": {
+ "name": "form_metas_project_id_projects_id_fk",
+ "tableFrom": "form_metas",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "form_code_project_unique": {
+ "name": "form_code_project_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "form_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.forms": {
+ "name": "forms",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "forms_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_item_id": {
+ "name": "contract_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_code": {
+ "name": "form_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_name": {
+ "name": "form_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "eng": {
+ "name": "eng",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "im": {
+ "name": "im",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "contract_item_form_code_unique": {
+ "name": "contract_item_form_code_unique",
+ "columns": [
+ {
+ "expression": "contract_item_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "form_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "forms_contract_item_id_contract_items_id_fk": {
+ "name": "forms_contract_item_id_contract_items_id_fk",
+ "tableFrom": "forms",
+ "tableTo": "contract_items",
+ "columnsFrom": [
+ "contract_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_class_attributes": {
+ "name": "tag_class_attributes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "tag_class_attributes_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "tag_class_id": {
+ "name": "tag_class_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "att_id": {
+ "name": "att_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "def_val": {
+ "name": "def_val",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uom_id": {
+ "name": "uom_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "seq": {
+ "name": "seq",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "tag_class_attributes_seq_idx": {
+ "name": "tag_class_attributes_seq_idx",
+ "columns": [
+ {
+ "expression": "seq",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "tag_class_attributes_tag_class_id_tag_classes_id_fk": {
+ "name": "tag_class_attributes_tag_class_id_tag_classes_id_fk",
+ "tableFrom": "tag_class_attributes",
+ "tableTo": "tag_classes",
+ "columnsFrom": [
+ "tag_class_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_att_id_in_tag_class": {
+ "name": "uniq_att_id_in_tag_class",
+ "nullsNotDistinct": false,
+ "columns": [
+ "tag_class_id",
+ "att_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_classes": {
+ "name": "tag_classes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "tag_classes_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_type_code": {
+ "name": "tag_type_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subclasses": {
+ "name": "subclasses",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'[]'::json"
+ },
+ "subclass_remark": {
+ "name": "subclass_remark",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'{}'::json"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tag_classes_project_id_projects_id_fk": {
+ "name": "tag_classes_project_id_projects_id_fk",
+ "tableFrom": "tag_classes",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tag_classes_tag_type_code_project_id_tag_types_code_project_id_fk": {
+ "name": "tag_classes_tag_type_code_project_id_tag_types_code_project_id_fk",
+ "tableFrom": "tag_classes",
+ "tableTo": "tag_types",
+ "columnsFrom": [
+ "tag_type_code",
+ "project_id"
+ ],
+ "columnsTo": [
+ "code",
+ "project_id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_code_in_project": {
+ "name": "uniq_code_in_project",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_subfield_options": {
+ "name": "tag_subfield_options",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_id": {
+ "name": "attributes_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "label": {
+ "name": "label",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tag_subfield_options_project_id_projects_id_fk": {
+ "name": "tag_subfield_options_project_id_projects_id_fk",
+ "tableFrom": "tag_subfield_options",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_attribute_project_code": {
+ "name": "uniq_attribute_project_code",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "attributes_id",
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_subfields": {
+ "name": "tag_subfields",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_type_code": {
+ "name": "tag_type_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_id": {
+ "name": "attributes_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_description": {
+ "name": "attributes_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "expression": {
+ "name": "expression",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delimiter": {
+ "name": "delimiter",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tag_subfields_project_id_projects_id_fk": {
+ "name": "tag_subfields_project_id_projects_id_fk",
+ "tableFrom": "tag_subfields",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_tag_type_attribute": {
+ "name": "uniq_tag_type_attribute",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "tag_type_code",
+ "attributes_id"
+ ]
+ },
+ "uniq_attribute_id_project": {
+ "name": "uniq_attribute_id_project",
+ "nullsNotDistinct": false,
+ "columns": [
+ "attributes_id",
+ "project_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_type_class_form_mappings": {
+ "name": "tag_type_class_form_mappings",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_type_label": {
+ "name": "tag_type_label",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "class_label": {
+ "name": "class_label",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_code": {
+ "name": "form_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_name": {
+ "name": "form_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ep": {
+ "name": "ep",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_mapping_in_project": {
+ "name": "uniq_mapping_in_project",
+ "nullsNotDistinct": false,
+ "columns": [
+ "project_id",
+ "tag_type_label",
+ "class_label",
+ "form_code",
+ "remark"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tag_types": {
+ "name": "tag_types",
+ "schema": "",
+ "columns": {
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tag_types_project_id_projects_id_fk": {
+ "name": "tag_types_project_id_projects_id_fk",
+ "tableFrom": "tag_types",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {
+ "tag_types_code_project_id_pk": {
+ "name": "tag_types_code_project_id_pk",
+ "columns": [
+ "code",
+ "project_id"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tags": {
+ "name": "tags",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "tags_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_item_id": {
+ "name": "contract_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_id": {
+ "name": "form_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tag_no": {
+ "name": "tag_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_type": {
+ "name": "tag_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "class": {
+ "name": "class",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tag_class_id": {
+ "name": "tag_class_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tags_contract_item_id_contract_items_id_fk": {
+ "name": "tags_contract_item_id_contract_items_id_fk",
+ "tableFrom": "tags",
+ "tableTo": "contract_items",
+ "columnsFrom": [
+ "contract_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tags_form_id_forms_id_fk": {
+ "name": "tags_form_id_forms_id_fk",
+ "tableFrom": "tags",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "form_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tags_tag_class_id_tag_classes_id_fk": {
+ "name": "tags_tag_class_id_tag_classes_id_fk",
+ "tableFrom": "tags",
+ "tableTo": "tag_classes",
+ "columnsFrom": [
+ "tag_class_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "contract_item_tag_no_unique": {
+ "name": "contract_item_tag_no_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "contract_item_id",
+ "tag_no"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.template_items": {
+ "name": "template_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "form_mapping_id": {
+ "name": "form_mapping_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tmpl_id": {
+ "name": "tmpl_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tmpl_type": {
+ "name": "tmpl_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "spr_lst_setup": {
+ "name": "spr_lst_setup",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "grd_lst_setup": {
+ "name": "grd_lst_setup",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "spr_itm_lst_setup": {
+ "name": "spr_itm_lst_setup",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "template_items_form_mapping_id_tag_type_class_form_mappings_id_fk": {
+ "name": "template_items_form_mapping_id_tag_type_class_form_mappings_id_fk",
+ "tableFrom": "template_items",
+ "tableTo": "tag_type_class_form_mappings",
+ "columnsFrom": [
+ "form_mapping_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "uniq_tmpl_in_form_mapping": {
+ "name": "uniq_tmpl_in_form_mapping",
+ "nullsNotDistinct": false,
+ "columns": [
+ "form_mapping_id",
+ "tmpl_id"
+ ]
+ },
+ "uniq_name_in_form_mapping": {
+ "name": "uniq_name_in_form_mapping",
+ "nullsNotDistinct": false,
+ "columns": [
+ "form_mapping_id",
+ "name"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_data_report_temps": {
+ "name": "vendor_data_report_temps",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contract_item_id": {
+ "name": "contract_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "form_id": {
+ "name": "form_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_data_report_temps_contract_item_id_contract_items_id_fk": {
+ "name": "vendor_data_report_temps_contract_item_id_contract_items_id_fk",
+ "tableFrom": "vendor_data_report_temps",
+ "tableTo": "contract_items",
+ "columnsFrom": [
+ "contract_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_data_report_temps_form_id_forms_id_fk": {
+ "name": "vendor_data_report_temps_form_id_forms_id_fk",
+ "tableFrom": "vendor_data_report_temps",
+ "tableTo": "forms",
+ "columnsFrom": [
+ "form_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.change_logs": {
+ "name": "change_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "entity_type": {
+ "name": "entity_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "entity_id": {
+ "name": "entity_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "changed_fields": {
+ "name": "changed_fields",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "old_values": {
+ "name": "old_values",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_values": {
+ "name": "new_values",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_name": {
+ "name": "user_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_synced": {
+ "name": "is_synced",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "sync_attempts": {
+ "name": "sync_attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "last_sync_error": {
+ "name": "last_sync_error",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "synced_at": {
+ "name": "synced_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "target_systems": {
+ "name": "target_systems",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'[]'::jsonb"
+ }
+ },
+ "indexes": {
+ "idx_change_logs_contract_synced": {
+ "name": "idx_change_logs_contract_synced",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "is_synced",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_change_logs_created_at": {
+ "name": "idx_change_logs_created_at",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_change_logs_entity": {
+ "name": "idx_change_logs_entity",
+ "columns": [
+ {
+ "expression": "entity_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "entity_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_change_logs_sync_attempts": {
+ "name": "idx_change_logs_sync_attempts",
+ "columns": [
+ {
+ "expression": "sync_attempts",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_attachments": {
+ "name": "document_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "document_attachments_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "revision_id": {
+ "name": "revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "upload_id": {
+ "name": "upload_id",
+ "type": "varchar(36)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_id": {
+ "name": "file_id",
+ "type": "varchar(36)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dolce_file_path": {
+ "name": "dolce_file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "document_attachments_revision_id_revisions_id_fk": {
+ "name": "document_attachments_revision_id_revisions_id_fk",
+ "tableFrom": "document_attachments",
+ "tableTo": "revisions",
+ "columnsFrom": [
+ "revision_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.documents": {
+ "name": "documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "documents_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "pic": {
+ "name": "pic",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_doc_number": {
+ "name": "vendor_doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "drawing_kind": {
+ "name": "drawing_kind",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "drawing_move_gbn": {
+ "name": "drawing_move_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discipline": {
+ "name": "discipline",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "external_document_id": {
+ "name": "external_document_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "external_system_type": {
+ "name": "external_system_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "external_synced_at": {
+ "name": "external_synced_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "c_gbn": {
+ "name": "c_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "d_gbn": {
+ "name": "d_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "degree_gbn": {
+ "name": "degree_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dept_gbn": {
+ "name": "dept_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "j_gbn": {
+ "name": "j_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "s_gbn": {
+ "name": "s_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shi_drawing_no": {
+ "name": "shi_drawing_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager": {
+ "name": "manager",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_enm": {
+ "name": "manager_enm",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_no": {
+ "name": "manager_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "register_group": {
+ "name": "register_group",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "register_group_id": {
+ "name": "register_group_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "create_user_no": {
+ "name": "create_user_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "create_user_id": {
+ "name": "create_user_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "create_user_enm": {
+ "name": "create_user_enm",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "unique_contract_doc_status": {
+ "name": "unique_contract_doc_status",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "doc_number",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "unique_contract_vendor_doc": {
+ "name": "unique_contract_vendor_doc",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "vendor_doc_number",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "where": "\"documents\".\"vendor_doc_number\" IS NOT NULL",
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "unique_external_doc": {
+ "name": "unique_external_doc",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "external_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "external_system_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "where": "\"documents\".\"external_document_id\" IS NOT NULL",
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "drawing_kind_idx": {
+ "name": "drawing_kind_idx",
+ "columns": [
+ {
+ "expression": "drawing_kind",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "documents_contract_id_contracts_id_fk": {
+ "name": "documents_contract_id_contracts_id_fk",
+ "tableFrom": "documents",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "contract_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.issue_stages": {
+ "name": "issue_stages",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "issue_stages_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stage_name": {
+ "name": "stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "plan_date": {
+ "name": "plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "actual_date": {
+ "name": "actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "stage_status": {
+ "name": "stage_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PLANNED'"
+ },
+ "stage_order": {
+ "name": "stage_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "priority": {
+ "name": "priority",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'MEDIUM'"
+ },
+ "assignee_id": {
+ "name": "assignee_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "assignee_name": {
+ "name": "assignee_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reminder_days": {
+ "name": "reminder_days",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 3
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "varchar(1000)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "unique_document_stage": {
+ "name": "unique_document_stage",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "stage_name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "document_stage_order": {
+ "name": "document_stage_order",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "stage_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "issue_stages_document_id_documents_id_fk": {
+ "name": "issue_stages_document_id_documents_id_fk",
+ "tableFrom": "issue_stages",
+ "tableTo": "documents",
+ "columnsFrom": [
+ "document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.revisions": {
+ "name": "revisions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "revisions_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "issue_stage_id": {
+ "name": "issue_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision": {
+ "name": "revision",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "uploader_type": {
+ "name": "uploader_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'vendor'"
+ },
+ "uploader_id": {
+ "name": "uploader_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploader_name": {
+ "name": "uploader_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "usage": {
+ "name": "usage",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "usage_type": {
+ "name": "usage_type",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_status": {
+ "name": "revision_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'SUBMITTED'"
+ },
+ "submitted_date": {
+ "name": "submitted_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_start_date": {
+ "name": "review_start_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approved_date": {
+ "name": "approved_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejected_date": {
+ "name": "rejected_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_id": {
+ "name": "reviewer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_name": {
+ "name": "reviewer_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_comments": {
+ "name": "review_comments",
+ "type": "varchar(1000)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "external_upload_id": {
+ "name": "external_upload_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "register_id": {
+ "name": "register_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "unique_stage_revision_usage": {
+ "name": "unique_stage_revision_usage",
+ "columns": [
+ {
+ "expression": "issue_stage_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "revision",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "usage",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "COALESCE(\"usage_type\", '')",
+ "asc": true,
+ "isExpression": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.sync_batches": {
+ "name": "sync_batches",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "target_system": {
+ "name": "target_system",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "batch_size": {
+ "name": "batch_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "started_at": {
+ "name": "started_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "error_message": {
+ "name": "error_message",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "retry_count": {
+ "name": "retry_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "change_log_ids": {
+ "name": "change_log_ids",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "success_count": {
+ "name": "success_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "failure_count": {
+ "name": "failure_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "sync_metadata": {
+ "name": "sync_metadata",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "idx_sync_batches_contract_system": {
+ "name": "idx_sync_batches_contract_system",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "target_system",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_sync_batches_status": {
+ "name": "idx_sync_batches_status",
+ "columns": [
+ {
+ "expression": "status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_sync_batches_created_at": {
+ "name": "idx_sync_batches_created_at",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.sync_configs": {
+ "name": "sync_configs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "target_system": {
+ "name": "target_system",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "sync_enabled": {
+ "name": "sync_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "sync_interval_minutes": {
+ "name": "sync_interval_minutes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 30
+ },
+ "last_successful_sync": {
+ "name": "last_successful_sync",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "last_sync_attempt": {
+ "name": "last_sync_attempt",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "endpoint_url": {
+ "name": "endpoint_url",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "auth_token": {
+ "name": "auth_token",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "api_version": {
+ "name": "api_version",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'v1'"
+ },
+ "max_batch_size": {
+ "name": "max_batch_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 100
+ },
+ "retry_max_attempts": {
+ "name": "retry_max_attempts",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 3
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "idx_sync_configs_contract_system": {
+ "name": "idx_sync_configs_contract_system",
+ "columns": [
+ {
+ "expression": "contract_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "target_system",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "sync_configs_contract_id_contracts_id_fk": {
+ "name": "sync_configs_contract_id_contracts_id_fk",
+ "tableFrom": "sync_configs",
+ "tableTo": "contracts",
+ "columnsFrom": [
+ "contract_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_attachments": {
+ "name": "vendor_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'GENERAL'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_attachments_vendor_id_vendors_id_fk": {
+ "name": "vendor_attachments_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_attachments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_candidates": {
+ "name": "vendor_candidates",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "company_name": {
+ "name": "company_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_email": {
+ "name": "contact_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_phone": {
+ "name": "contact_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source": {
+ "name": "source",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'COLLECTED'"
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "items": {
+ "name": "items",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_candidates_vendor_id_vendors_id_fk": {
+ "name": "vendor_candidates_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_candidates",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_contacts": {
+ "name": "vendor_contacts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_name": {
+ "name": "contact_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_position": {
+ "name": "contact_position",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_department": {
+ "name": "contact_department",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_task": {
+ "name": "contact_task",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_email": {
+ "name": "contact_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_phone": {
+ "name": "contact_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_primary": {
+ "name": "is_primary",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_contacts_vendor_id_vendors_id_fk": {
+ "name": "vendor_contacts_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_contacts",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_possible_items": {
+ "name": "vendor_possible_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_possible_items_vendor_id_vendors_id_fk": {
+ "name": "vendor_possible_items_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_possible_items",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_possible_items_item_code_items_item_code_fk": {
+ "name": "vendor_possible_items_item_code_items_item_code_fk",
+ "tableFrom": "vendor_possible_items",
+ "tableTo": "items",
+ "columnsFrom": [
+ "item_code"
+ ],
+ "columnsTo": [
+ "item_code"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_possible_materials": {
+ "name": "vendor_possible_materials",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_possible_materials_vendor_id_vendors_id_fk": {
+ "name": "vendor_possible_materials_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_possible_materials",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "vendor_possible_materials_item_code_materials_item_code_fk": {
+ "name": "vendor_possible_materials_item_code_materials_item_code_fk",
+ "tableFrom": "vendor_possible_materials",
+ "tableTo": "materials",
+ "columnsFrom": [
+ "item_code"
+ ],
+ "columnsTo": [
+ "item_code"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_types": {
+ "name": "vendor_types",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name_ko": {
+ "name": "name_ko",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name_en": {
+ "name": "name_en",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "vendor_types_code_unique": {
+ "name": "vendor_types_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendors": {
+ "name": "vendors",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "website": {
+ "name": "website",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING_REVIEW'"
+ },
+ "vendor_type_id": {
+ "name": "vendor_type_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_name": {
+ "name": "representative_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_birth": {
+ "name": "representative_birth",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_email": {
+ "name": "representative_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_phone": {
+ "name": "representative_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_work_expirence": {
+ "name": "representative_work_expirence",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "corporate_registration_number": {
+ "name": "corporate_registration_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "items": {
+ "name": "items",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "credit_agency": {
+ "name": "credit_agency",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "credit_rating": {
+ "name": "credit_rating",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cash_flow_rating": {
+ "name": "cash_flow_rating",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "business_size": {
+ "name": "business_size",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendors_vendor_type_id_vendor_types_id_fk": {
+ "name": "vendors_vendor_type_id_vendor_types_id_fk",
+ "tableFrom": "vendors",
+ "tableTo": "vendor_types",
+ "columnsFrom": [
+ "vendor_type_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tasks": {
+ "name": "tasks",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "varchar(30)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(128)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(128)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'todo'"
+ },
+ "label": {
+ "name": "label",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'bug'"
+ },
+ "priority": {
+ "name": "priority",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'low'"
+ },
+ "archived": {
+ "name": "archived",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "current_timestamp"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "tasks_code_unique": {
+ "name": "tasks_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_candidate_logs": {
+ "name": "vendor_candidate_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_candidate_id": {
+ "name": "vendor_candidate_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_status": {
+ "name": "old_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_status": {
+ "name": "new_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_candidate_logs_vendor_candidate_id_vendor_candidates_id_fk": {
+ "name": "vendor_candidate_logs_vendor_candidate_id_vendor_candidates_id_fk",
+ "tableFrom": "vendor_candidate_logs",
+ "tableTo": "vendor_candidates",
+ "columnsFrom": [
+ "vendor_candidate_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_candidate_logs_user_id_users_id_fk": {
+ "name": "vendor_candidate_logs_user_id_users_id_fk",
+ "tableFrom": "vendor_candidate_logs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendors_logs": {
+ "name": "vendors_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_status": {
+ "name": "old_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_status": {
+ "name": "new_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendors_logs_vendor_id_vendors_id_fk": {
+ "name": "vendors_logs_vendor_id_vendors_id_fk",
+ "tableFrom": "vendors_logs",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendors_logs_user_id_users_id_fk": {
+ "name": "vendors_logs_user_id_users_id_fk",
+ "tableFrom": "vendors_logs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.basic_contract": {
+ "name": "basic_contract",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "basic_contract_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "template_id": {
+ "name": "template_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_by": {
+ "name": "requested_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "basic_contract_template_id_basic_contract_templates_id_fk": {
+ "name": "basic_contract_template_id_basic_contract_templates_id_fk",
+ "tableFrom": "basic_contract",
+ "tableTo": "basic_contract_templates",
+ "columnsFrom": [
+ "template_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "basic_contract_vendor_id_vendors_id_fk": {
+ "name": "basic_contract_vendor_id_vendors_id_fk",
+ "tableFrom": "basic_contract",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "basic_contract_requested_by_users_id_fk": {
+ "name": "basic_contract_requested_by_users_id_fk",
+ "tableFrom": "basic_contract",
+ "tableTo": "users",
+ "columnsFrom": [
+ "requested_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.basic_contract_templates": {
+ "name": "basic_contract_templates",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "basic_contract_templates_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "template_name": {
+ "name": "template_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision": {
+ "name": "revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 1
+ },
+ "status": {
+ "name": "status",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "validity_period": {
+ "name": "validity_period",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "legal_review_required": {
+ "name": "legal_review_required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "shipbuilding_applicable": {
+ "name": "shipbuilding_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "wind_applicable": {
+ "name": "wind_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "pc_applicable": {
+ "name": "pc_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "nb_applicable": {
+ "name": "nb_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "rc_applicable": {
+ "name": "rc_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "gy_applicable": {
+ "name": "gy_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "sys_applicable": {
+ "name": "sys_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "infra_applicable": {
+ "name": "infra_applicable",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "now()"
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "disposed_at": {
+ "name": "disposed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "restored_at": {
+ "name": "restored_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "basic_contract_templates_created_by_users_id_fk": {
+ "name": "basic_contract_templates_created_by_users_id_fk",
+ "tableFrom": "basic_contract_templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "basic_contract_templates_updated_by_users_id_fk": {
+ "name": "basic_contract_templates_updated_by_users_id_fk",
+ "tableFrom": "basic_contract_templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "template_name_revision_unique": {
+ "name": "template_name_revision_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "template_name",
+ "revision"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.incoterms": {
+ "name": "incoterms",
+ "schema": "",
+ "columns": {
+ "code": {
+ "name": "code",
+ "type": "varchar(20)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "incoterms_created_by_users_id_fk": {
+ "name": "incoterms_created_by_users_id_fk",
+ "tableFrom": "incoterms",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.payment_terms": {
+ "name": "payment_terms",
+ "schema": "",
+ "columns": {
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "payment_terms_created_by_users_id_fk": {
+ "name": "payment_terms_created_by_users_id_fk",
+ "tableFrom": "payment_terms",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.pr_items": {
+ "name": "pr_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "procurement_rfqs_id": {
+ "name": "procurement_rfqs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_item": {
+ "name": "rfq_item",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pr_item": {
+ "name": "pr_item",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pr_no": {
+ "name": "pr_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_code": {
+ "name": "material_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_category": {
+ "name": "material_category",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "acc": {
+ "name": "acc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_description": {
+ "name": "material_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "size": {
+ "name": "size",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "uom": {
+ "name": "uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gross_weight": {
+ "name": "gross_weight",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "gw_uom": {
+ "name": "gw_uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "spec_no": {
+ "name": "spec_no",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "spec_url": {
+ "name": "spec_url",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tracking_no": {
+ "name": "tracking_no",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "major_yn": {
+ "name": "major_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "project_def": {
+ "name": "project_def",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_sc": {
+ "name": "project_sc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_kl": {
+ "name": "project_kl",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_lc": {
+ "name": "project_lc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_dl": {
+ "name": "project_dl",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "pr_items_procurement_rfqs_id_procurement_rfqs_id_fk": {
+ "name": "pr_items_procurement_rfqs_id_procurement_rfqs_id_fk",
+ "tableFrom": "pr_items",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "procurement_rfqs_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_attachments": {
+ "name": "procurement_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "procurement_rfqs_id": {
+ "name": "procurement_rfqs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "procurement_rfq_details_id": {
+ "name": "procurement_rfq_details_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_attachments_procurement_rfqs_id_procurement_rfqs_id_fk": {
+ "name": "procurement_attachments_procurement_rfqs_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_attachments",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "procurement_rfqs_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_attachments_procurement_rfq_details_id_procurement_rfq_details_id_fk": {
+ "name": "procurement_attachments_procurement_rfq_details_id_procurement_rfq_details_id_fk",
+ "tableFrom": "procurement_attachments",
+ "tableTo": "procurement_rfq_details",
+ "columnsFrom": [
+ "procurement_rfq_details_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_attachments_created_by_users_id_fk": {
+ "name": "procurement_attachments_created_by_users_id_fk",
+ "tableFrom": "procurement_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {
+ "attachment_type_check": {
+ "name": "attachment_type_check",
+ "value": "\"procurement_attachments\".\"procurement_rfqs_id\" IS NOT NULL OR \"procurement_attachments\".\"procurement_rfq_details_id\" IS NOT NULL"
+ }
+ },
+ "isRLSEnabled": false
+ },
+ "public.procurement_quotation_items": {
+ "name": "procurement_quotation_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pr_item_id": {
+ "name": "pr_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_code": {
+ "name": "material_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_description": {
+ "name": "material_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "uom": {
+ "name": "uom",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "unit_price": {
+ "name": "unit_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "total_price": {
+ "name": "total_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "vendor_material_code": {
+ "name": "vendor_material_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_material_description": {
+ "name": "vendor_material_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "lead_time_in_days": {
+ "name": "lead_time_in_days",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_rate": {
+ "name": "tax_rate",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_amount": {
+ "name": "tax_amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount_rate": {
+ "name": "discount_rate",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount_amount": {
+ "name": "discount_amount",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_alternative": {
+ "name": "is_alternative",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "is_recommended": {
+ "name": "is_recommended",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_quotation_items_quotation_id_procurement_vendor_quotations_id_fk": {
+ "name": "procurement_quotation_items_quotation_id_procurement_vendor_quotations_id_fk",
+ "tableFrom": "procurement_quotation_items",
+ "tableTo": "procurement_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_quotation_items_pr_item_id_pr_items_id_fk": {
+ "name": "procurement_quotation_items_pr_item_id_pr_items_id_fk",
+ "tableFrom": "procurement_quotation_items",
+ "tableTo": "pr_items",
+ "columnsFrom": [
+ "pr_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_rfq_attachments": {
+ "name": "procurement_rfq_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "comment_id": {
+ "name": "comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_vendor_upload": {
+ "name": "is_vendor_upload",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_rfq_attachments_rfq_id_procurement_rfqs_id_fk": {
+ "name": "procurement_rfq_attachments_rfq_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_attachments_comment_id_procurement_rfq_comments_id_fk": {
+ "name": "procurement_rfq_attachments_comment_id_procurement_rfq_comments_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "procurement_rfq_comments",
+ "columnsFrom": [
+ "comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_attachments_quotation_id_procurement_vendor_quotations_id_fk": {
+ "name": "procurement_rfq_attachments_quotation_id_procurement_vendor_quotations_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "procurement_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_attachments_uploaded_by_users_id_fk": {
+ "name": "procurement_rfq_attachments_uploaded_by_users_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_attachments_vendor_id_vendors_id_fk": {
+ "name": "procurement_rfq_attachments_vendor_id_vendors_id_fk",
+ "tableFrom": "procurement_rfq_attachments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_rfq_comments": {
+ "name": "procurement_rfq_comments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_vendor_comment": {
+ "name": "is_vendor_comment",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "is_read": {
+ "name": "is_read",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "parent_comment_id": {
+ "name": "parent_comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_rfq_comments_rfq_id_procurement_rfqs_id_fk": {
+ "name": "procurement_rfq_comments_rfq_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_rfq_comments",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_comments_vendor_id_vendors_id_fk": {
+ "name": "procurement_rfq_comments_vendor_id_vendors_id_fk",
+ "tableFrom": "procurement_rfq_comments",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_comments_user_id_users_id_fk": {
+ "name": "procurement_rfq_comments_user_id_users_id_fk",
+ "tableFrom": "procurement_rfq_comments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_comments_parent_comment_id_procurement_rfq_comments_id_fk": {
+ "name": "procurement_rfq_comments_parent_comment_id_procurement_rfq_comments_id_fk",
+ "tableFrom": "procurement_rfq_comments",
+ "tableTo": "procurement_rfq_comments",
+ "columnsFrom": [
+ "parent_comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_rfq_details": {
+ "name": "procurement_rfq_details",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "procurement_rfqs_id": {
+ "name": "procurement_rfqs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendors_id": {
+ "name": "vendors_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "payment_terms_code": {
+ "name": "payment_terms_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_detail": {
+ "name": "incoterms_detail",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tax_code": {
+ "name": "tax_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'VV'"
+ },
+ "place_of_shipping": {
+ "name": "place_of_shipping",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "place_of_destination": {
+ "name": "place_of_destination",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cancel_reason": {
+ "name": "cancel_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "material_price_related_yn": {
+ "name": "material_price_related_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_rfq_details_procurement_rfqs_id_procurement_rfqs_id_fk": {
+ "name": "procurement_rfq_details_procurement_rfqs_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "procurement_rfqs_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_details_vendors_id_vendors_id_fk": {
+ "name": "procurement_rfq_details_vendors_id_vendors_id_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendors_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_details_payment_terms_code_payment_terms_code_fk": {
+ "name": "procurement_rfq_details_payment_terms_code_payment_terms_code_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "payment_terms",
+ "columnsFrom": [
+ "payment_terms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_details_incoterms_code_incoterms_code_fk": {
+ "name": "procurement_rfq_details_incoterms_code_incoterms_code_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "incoterms",
+ "columnsFrom": [
+ "incoterms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfq_details_updated_by_users_id_fk": {
+ "name": "procurement_rfq_details_updated_by_users_id_fk",
+ "tableFrom": "procurement_rfq_details",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_rfqs": {
+ "name": "procurement_rfqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "series": {
+ "name": "series",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_send_date": {
+ "name": "rfq_send_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'RFQ Created'"
+ },
+ "rfq_sealed_yn": {
+ "name": "rfq_sealed_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sent_by": {
+ "name": "sent_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_rfqs_project_id_projects_id_fk": {
+ "name": "procurement_rfqs_project_id_projects_id_fk",
+ "tableFrom": "procurement_rfqs",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfqs_sent_by_users_id_fk": {
+ "name": "procurement_rfqs_sent_by_users_id_fk",
+ "tableFrom": "procurement_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "sent_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfqs_created_by_users_id_fk": {
+ "name": "procurement_rfqs_created_by_users_id_fk",
+ "tableFrom": "procurement_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_rfqs_updated_by_users_id_fk": {
+ "name": "procurement_rfqs_updated_by_users_id_fk",
+ "tableFrom": "procurement_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "procurement_rfqs_rfq_code_unique": {
+ "name": "procurement_rfqs_rfq_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "rfq_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.procurement_vendor_quotations": {
+ "name": "procurement_vendor_quotations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "quotation_code": {
+ "name": "quotation_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quotation_version": {
+ "name": "quotation_version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "total_items_count": {
+ "name": "total_items_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "sub_total": {
+ "name": "sub_total",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "tax_total": {
+ "name": "tax_total",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "discount_total": {
+ "name": "discount_total",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "total_price": {
+ "name": "total_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'USD'"
+ },
+ "valid_until": {
+ "name": "valid_until",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "estimated_delivery_date": {
+ "name": "estimated_delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payment_terms_code": {
+ "name": "payment_terms_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_detail": {
+ "name": "incoterms_detail",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Draft'"
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejection_reason": {
+ "name": "rejection_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "accepted_at": {
+ "name": "accepted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "procurement_vendor_quotations_rfq_id_procurement_rfqs_id_fk": {
+ "name": "procurement_vendor_quotations_rfq_id_procurement_rfqs_id_fk",
+ "tableFrom": "procurement_vendor_quotations",
+ "tableTo": "procurement_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "procurement_vendor_quotations_vendor_id_vendors_id_fk": {
+ "name": "procurement_vendor_quotations_vendor_id_vendors_id_fk",
+ "tableFrom": "procurement_vendor_quotations",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_vendor_quotations_payment_terms_code_payment_terms_code_fk": {
+ "name": "procurement_vendor_quotations_payment_terms_code_payment_terms_code_fk",
+ "tableFrom": "procurement_vendor_quotations",
+ "tableTo": "payment_terms",
+ "columnsFrom": [
+ "payment_terms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "procurement_vendor_quotations_incoterms_code_incoterms_code_fk": {
+ "name": "procurement_vendor_quotations_incoterms_code_incoterms_code_fk",
+ "tableFrom": "procurement_vendor_quotations",
+ "tableTo": "incoterms",
+ "columnsFrom": [
+ "incoterms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.preset_shares": {
+ "name": "preset_shares",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "preset_id": {
+ "name": "preset_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "shared_with_user_id": {
+ "name": "shared_with_user_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "permission": {
+ "name": "permission",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'read'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "preset_shares_preset_id_table_presets_id_fk": {
+ "name": "preset_shares_preset_id_table_presets_id_fk",
+ "tableFrom": "preset_shares",
+ "tableTo": "table_presets",
+ "columnsFrom": [
+ "preset_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.table_presets": {
+ "name": "table_presets",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "table_id": {
+ "name": "table_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "settings": {
+ "name": "settings",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_default": {
+ "name": "is_default",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_shared": {
+ "name": "is_shared",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_attachments": {
+ "name": "tech_sales_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "tech_sales_rfq_id": {
+ "name": "tech_sales_rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_attachments_tech_sales_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_attachments_tech_sales_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_attachments",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "tech_sales_rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_attachments_created_by_users_id_fk": {
+ "name": "tech_sales_attachments_created_by_users_id_fk",
+ "tableFrom": "tech_sales_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_contact_possible_items": {
+ "name": "tech_sales_contact_possible_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "contact_id": {
+ "name": "contact_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_possible_item_id": {
+ "name": "vendor_possible_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_contact_possible_items_contact_id_tech_vendor_contacts_id_fk": {
+ "name": "tech_sales_contact_possible_items_contact_id_tech_vendor_contacts_id_fk",
+ "tableFrom": "tech_sales_contact_possible_items",
+ "tableTo": "tech_vendor_contacts",
+ "columnsFrom": [
+ "contact_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_contact_possible_items_vendor_possible_item_id_tech_vendor_possible_items_id_fk": {
+ "name": "tech_sales_contact_possible_items_vendor_possible_item_id_tech_vendor_possible_items_id_fk",
+ "tableFrom": "tech_sales_contact_possible_items",
+ "tableTo": "tech_vendor_possible_items",
+ "columnsFrom": [
+ "vendor_possible_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_rfq_comment_attachments": {
+ "name": "tech_sales_rfq_comment_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "comment_id": {
+ "name": "comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_vendor_upload": {
+ "name": "is_vendor_upload",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_rfq_comment_attachments_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comment_attachments_comment_id_tech_sales_rfq_comments_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_comment_id_tech_sales_rfq_comments_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "tech_sales_rfq_comments",
+ "columnsFrom": [
+ "comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comment_attachments_quotation_id_tech_sales_vendor_quotations_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_quotation_id_tech_sales_vendor_quotations_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "tech_sales_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comment_attachments_uploaded_by_users_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_uploaded_by_users_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comment_attachments_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_sales_rfq_comment_attachments_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_sales_rfq_comment_attachments",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_rfq_comments": {
+ "name": "tech_sales_rfq_comments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_vendor_comment": {
+ "name": "is_vendor_comment",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "is_read": {
+ "name": "is_read",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "parent_comment_id": {
+ "name": "parent_comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_rfq_comments_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_rfq_comments_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_rfq_comments",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comments_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_sales_rfq_comments_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_sales_rfq_comments",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comments_user_id_users_id_fk": {
+ "name": "tech_sales_rfq_comments_user_id_users_id_fk",
+ "tableFrom": "tech_sales_rfq_comments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_comments_parent_comment_id_tech_sales_rfq_comments_id_fk": {
+ "name": "tech_sales_rfq_comments_parent_comment_id_tech_sales_rfq_comments_id_fk",
+ "tableFrom": "tech_sales_rfq_comments",
+ "tableTo": "tech_sales_rfq_comments",
+ "columnsFrom": [
+ "parent_comment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_rfq_items": {
+ "name": "tech_sales_rfq_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_shipbuilding_id": {
+ "name": "item_shipbuilding_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_offshore_top_id": {
+ "name": "item_offshore_top_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_offshore_hull_id": {
+ "name": "item_offshore_hull_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_type": {
+ "name": "item_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_rfq_items_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_rfq_items_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_rfq_items",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_items_item_shipbuilding_id_item_shipbuilding_id_fk": {
+ "name": "tech_sales_rfq_items_item_shipbuilding_id_item_shipbuilding_id_fk",
+ "tableFrom": "tech_sales_rfq_items",
+ "tableTo": "item_shipbuilding",
+ "columnsFrom": [
+ "item_shipbuilding_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_items_item_offshore_top_id_item_offshore_top_id_fk": {
+ "name": "tech_sales_rfq_items_item_offshore_top_id_item_offshore_top_id_fk",
+ "tableFrom": "tech_sales_rfq_items",
+ "tableTo": "item_offshore_top",
+ "columnsFrom": [
+ "item_offshore_top_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfq_items_item_offshore_hull_id_item_offshore_hull_id_fk": {
+ "name": "tech_sales_rfq_items_item_offshore_hull_id_item_offshore_hull_id_fk",
+ "tableFrom": "tech_sales_rfq_items",
+ "tableTo": "item_offshore_hull",
+ "columnsFrom": [
+ "item_offshore_hull_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_rfqs": {
+ "name": "tech_sales_rfqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "bidding_project_id": {
+ "name": "bidding_project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_code": {
+ "name": "material_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_send_date": {
+ "name": "rfq_send_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'RFQ Created'"
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sent_by": {
+ "name": "sent_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "cancel_reason": {
+ "name": "cancel_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'SHIP'"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_rfqs_bidding_project_id_bidding_projects_id_fk": {
+ "name": "tech_sales_rfqs_bidding_project_id_bidding_projects_id_fk",
+ "tableFrom": "tech_sales_rfqs",
+ "tableTo": "bidding_projects",
+ "columnsFrom": [
+ "bidding_project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfqs_sent_by_users_id_fk": {
+ "name": "tech_sales_rfqs_sent_by_users_id_fk",
+ "tableFrom": "tech_sales_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "sent_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfqs_created_by_users_id_fk": {
+ "name": "tech_sales_rfqs_created_by_users_id_fk",
+ "tableFrom": "tech_sales_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_rfqs_updated_by_users_id_fk": {
+ "name": "tech_sales_rfqs_updated_by_users_id_fk",
+ "tableFrom": "tech_sales_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "tech_sales_rfqs_rfq_code_unique": {
+ "name": "tech_sales_rfqs_rfq_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "rfq_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_vendor_quotation_attachments": {
+ "name": "tech_sales_vendor_quotation_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision_id": {
+ "name": "revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_vendor_upload": {
+ "name": "is_vendor_upload",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_vendor_quotation_attachments_quotation_id_tech_sales_vendor_quotations_id_fk": {
+ "name": "tech_sales_vendor_quotation_attachments_quotation_id_tech_sales_vendor_quotations_id_fk",
+ "tableFrom": "tech_sales_vendor_quotation_attachments",
+ "tableTo": "tech_sales_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_vendor_quotation_attachments_uploaded_by_users_id_fk": {
+ "name": "tech_sales_vendor_quotation_attachments_uploaded_by_users_id_fk",
+ "tableFrom": "tech_sales_vendor_quotation_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "tech_sales_vendor_quotation_attachments_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_sales_vendor_quotation_attachments_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_sales_vendor_quotation_attachments",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_vendor_quotation_contacts": {
+ "name": "tech_sales_vendor_quotation_contacts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_id": {
+ "name": "contact_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_vendor_quotation_revisions": {
+ "name": "tech_sales_vendor_quotation_revisions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "quotation_id": {
+ "name": "quotation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "snapshot": {
+ "name": "snapshot",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "change_reason": {
+ "name": "change_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_note": {
+ "name": "revision_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revised_by": {
+ "name": "revised_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revised_at": {
+ "name": "revised_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "tech_sales_quotation_revisions_quotation_version_idx": {
+ "name": "tech_sales_quotation_revisions_quotation_version_idx",
+ "columns": [
+ {
+ "expression": "quotation_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "version",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "tech_sales_vendor_quotation_revisions_quotation_id_tech_sales_vendor_quotations_id_fk": {
+ "name": "tech_sales_vendor_quotation_revisions_quotation_id_tech_sales_vendor_quotations_id_fk",
+ "tableFrom": "tech_sales_vendor_quotation_revisions",
+ "tableTo": "tech_sales_vendor_quotations",
+ "columnsFrom": [
+ "quotation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_sales_vendor_quotations": {
+ "name": "tech_sales_vendor_quotations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "quotation_code": {
+ "name": "quotation_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quotation_version": {
+ "name": "quotation_version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_price": {
+ "name": "total_price",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "valid_until": {
+ "name": "valid_until",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Assigned'"
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rejection_reason": {
+ "name": "rejection_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "accepted_at": {
+ "name": "accepted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_sales_vendor_quotations_rfq_id_tech_sales_rfqs_id_fk": {
+ "name": "tech_sales_vendor_quotations_rfq_id_tech_sales_rfqs_id_fk",
+ "tableFrom": "tech_sales_vendor_quotations",
+ "tableTo": "tech_sales_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "tech_sales_vendor_quotations_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_sales_vendor_quotations_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_sales_vendor_quotations",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ocr_rotation_attempts": {
+ "name": "ocr_rotation_attempts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rotation": {
+ "name": "rotation",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "confidence": {
+ "name": "confidence",
+ "type": "numeric(5, 4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tables_found": {
+ "name": "tables_found",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "text_quality": {
+ "name": "text_quality",
+ "type": "numeric(5, 4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "keyword_count": {
+ "name": "keyword_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "score": {
+ "name": "score",
+ "type": "numeric(5, 4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "extracted_rows_count": {
+ "name": "extracted_rows_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "ocr_rotation_attempts_session_id_ocr_sessions_id_fk": {
+ "name": "ocr_rotation_attempts_session_id_ocr_sessions_id_fk",
+ "tableFrom": "ocr_rotation_attempts",
+ "tableTo": "ocr_sessions",
+ "columnsFrom": [
+ "session_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ocr_rows": {
+ "name": "ocr_rows",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "table_id": {
+ "name": "table_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "row_index": {
+ "name": "row_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "report_no": {
+ "name": "report_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "inspection_date": {
+ "name": "inspection_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "no": {
+ "name": "no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "identification_no": {
+ "name": "identification_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tag_no": {
+ "name": "tag_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "joint_no": {
+ "name": "joint_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "joint_type": {
+ "name": "joint_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "welding_date": {
+ "name": "welding_date",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confidence": {
+ "name": "confidence",
+ "type": "numeric(5, 4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source_table": {
+ "name": "source_table",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source_row": {
+ "name": "source_row",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "idx_ocr_report_no_unique": {
+ "name": "idx_ocr_report_no_unique",
+ "columns": [
+ {
+ "expression": "report_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "tag_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "joint_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "joint_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "ocr_rows_table_id_ocr_tables_id_fk": {
+ "name": "ocr_rows_table_id_ocr_tables_id_fk",
+ "tableFrom": "ocr_rows",
+ "tableTo": "ocr_tables",
+ "columnsFrom": [
+ "table_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "ocr_rows_session_id_ocr_sessions_id_fk": {
+ "name": "ocr_rows_session_id_ocr_sessions_id_fk",
+ "tableFrom": "ocr_rows",
+ "tableTo": "ocr_sessions",
+ "columnsFrom": [
+ "session_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "ocr_rows_user_id_users_id_fk": {
+ "name": "ocr_rows_user_id_users_id_fk",
+ "tableFrom": "ocr_rows",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ocr_sessions": {
+ "name": "ocr_sessions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "processing_time": {
+ "name": "processing_time",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "best_rotation": {
+ "name": "best_rotation",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "total_tables": {
+ "name": "total_tables",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "total_rows": {
+ "name": "total_rows",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "image_enhanced": {
+ "name": "image_enhanced",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "pdf_converted": {
+ "name": "pdf_converted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "success": {
+ "name": "success",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "error_message": {
+ "name": "error_message",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "warnings": {
+ "name": "warnings",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.ocr_tables": {
+ "name": "ocr_tables",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "table_index": {
+ "name": "table_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "row_count": {
+ "name": "row_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "ocr_tables_session_id_ocr_sessions_id_fk": {
+ "name": "ocr_tables_session_id_ocr_sessions_id_fk",
+ "tableFrom": "ocr_tables",
+ "tableTo": "ocr_sessions",
+ "columnsFrom": [
+ "session_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.b_rfq_attachment_revisions": {
+ "name": "b_rfq_attachment_revisions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision_no": {
+ "name": "revision_no",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "revision_comment": {
+ "name": "revision_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_latest": {
+ "name": "is_latest",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "latest_revision_idx": {
+ "name": "latest_revision_idx",
+ "columns": [
+ {
+ "expression": "attachment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "is_latest",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "where": "\"b_rfq_attachment_revisions\".\"is_latest\" = $1",
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "attachment_revision_idx": {
+ "name": "attachment_revision_idx",
+ "columns": [
+ {
+ "expression": "attachment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "revision_no",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "b_rfq_attachment_revisions_attachment_id_b_rfq_attachments_id_fk": {
+ "name": "b_rfq_attachment_revisions_attachment_id_b_rfq_attachments_id_fk",
+ "tableFrom": "b_rfq_attachment_revisions",
+ "tableTo": "b_rfq_attachments",
+ "columnsFrom": [
+ "attachment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "b_rfq_attachment_revisions_created_by_users_id_fk": {
+ "name": "b_rfq_attachment_revisions_created_by_users_id_fk",
+ "tableFrom": "b_rfq_attachment_revisions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.b_rfqs": {
+ "name": "b_rfqs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'DRAFT'"
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_name": {
+ "name": "pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "eng_pic_name": {
+ "name": "eng_pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_company": {
+ "name": "project_company",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_flag": {
+ "name": "project_flag",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_site": {
+ "name": "project_site",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_no": {
+ "name": "package_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_name": {
+ "name": "package_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "b_rfqs_project_id_projects_id_fk": {
+ "name": "b_rfqs_project_id_projects_id_fk",
+ "tableFrom": "b_rfqs",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "b_rfqs_created_by_users_id_fk": {
+ "name": "b_rfqs_created_by_users_id_fk",
+ "tableFrom": "b_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "b_rfqs_updated_by_users_id_fk": {
+ "name": "b_rfqs_updated_by_users_id_fk",
+ "tableFrom": "b_rfqs",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "b_rfqs_rfq_code_unique": {
+ "name": "b_rfqs_rfq_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "rfq_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.b_rfq_attachments": {
+ "name": "b_rfq_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Rev.0'"
+ },
+ "latest_revision_id": {
+ "name": "latest_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "b_rfq_attachments_rfq_id_b_rfqs_id_fk": {
+ "name": "b_rfq_attachments_rfq_id_b_rfqs_id_fk",
+ "tableFrom": "b_rfq_attachments",
+ "tableTo": "b_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "b_rfq_attachments_created_by_users_id_fk": {
+ "name": "b_rfq_attachments_created_by_users_id_fk",
+ "tableFrom": "b_rfq_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.final_rfq": {
+ "name": "final_rfq",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "final_rfq_status": {
+ "name": "final_rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'DRAFT'"
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "valid_date": {
+ "name": "valid_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc": {
+ "name": "gtc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc_valid_date": {
+ "name": "gtc_valid_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sparepart": {
+ "name": "sparepart",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "short_list": {
+ "name": "short_list",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "return_yn": {
+ "name": "return_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "cp_request_yn": {
+ "name": "cp_request_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "prject_gtc_yn": {
+ "name": "prject_gtc_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "return_revision": {
+ "name": "return_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "payment_terms_code": {
+ "name": "payment_terms_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_code": {
+ "name": "tax_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'VV'"
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "place_of_shipping": {
+ "name": "place_of_shipping",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "place_of_destination": {
+ "name": "place_of_destination",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "firsttime_yn": {
+ "name": "firsttime_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "material_price_related_yn": {
+ "name": "material_price_related_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_remark": {
+ "name": "vendor_remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "final_rfq_rfq_id_b_rfqs_id_fk": {
+ "name": "final_rfq_rfq_id_b_rfqs_id_fk",
+ "tableFrom": "final_rfq",
+ "tableTo": "b_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "final_rfq_vendor_id_vendors_id_fk": {
+ "name": "final_rfq_vendor_id_vendors_id_fk",
+ "tableFrom": "final_rfq",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "final_rfq_incoterms_code_incoterms_code_fk": {
+ "name": "final_rfq_incoterms_code_incoterms_code_fk",
+ "tableFrom": "final_rfq",
+ "tableTo": "incoterms",
+ "columnsFrom": [
+ "incoterms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "final_rfq_payment_terms_code_payment_terms_code_fk": {
+ "name": "final_rfq_payment_terms_code_payment_terms_code_fk",
+ "tableFrom": "final_rfq",
+ "tableTo": "payment_terms",
+ "columnsFrom": [
+ "payment_terms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.initial_rfq": {
+ "name": "initial_rfq",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "initial_rfq_status": {
+ "name": "initial_rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'DRAFT'"
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "valid_date": {
+ "name": "valid_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc": {
+ "name": "gtc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc_valid_date": {
+ "name": "gtc_valid_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sparepart": {
+ "name": "sparepart",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "short_list": {
+ "name": "short_list",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "return_yn": {
+ "name": "return_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "cp_request_yn": {
+ "name": "cp_request_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "prject_gtc_yn": {
+ "name": "prject_gtc_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "return_revision": {
+ "name": "return_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "rfq_revision": {
+ "name": "rfq_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "initial_rfq_rfq_id_b_rfqs_id_fk": {
+ "name": "initial_rfq_rfq_id_b_rfqs_id_fk",
+ "tableFrom": "initial_rfq",
+ "tableTo": "b_rfqs",
+ "columnsFrom": [
+ "rfq_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "initial_rfq_vendor_id_vendors_id_fk": {
+ "name": "initial_rfq_vendor_id_vendors_id_fk",
+ "tableFrom": "initial_rfq",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "initial_rfq_incoterms_code_incoterms_code_fk": {
+ "name": "initial_rfq_incoterms_code_incoterms_code_fk",
+ "tableFrom": "initial_rfq",
+ "tableTo": "incoterms",
+ "columnsFrom": [
+ "incoterms_code"
+ ],
+ "columnsTo": [
+ "code"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_attachment_responses": {
+ "name": "vendor_attachment_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rfq_record_id": {
+ "name": "rfq_record_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'NOT_RESPONDED'"
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'Rev.0'"
+ },
+ "responded_revision": {
+ "name": "responded_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_comment": {
+ "name": "response_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_comment": {
+ "name": "vendor_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_request_comment": {
+ "name": "revision_request_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "responded_at": {
+ "name": "responded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_requested_at": {
+ "name": "revision_requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "vendor_response_idx": {
+ "name": "vendor_response_idx",
+ "columns": [
+ {
+ "expression": "attachment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "rfq_type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "vendor_attachment_responses_attachment_id_b_rfq_attachments_id_fk": {
+ "name": "vendor_attachment_responses_attachment_id_b_rfq_attachments_id_fk",
+ "tableFrom": "vendor_attachment_responses",
+ "tableTo": "b_rfq_attachments",
+ "columnsFrom": [
+ "attachment_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_attachment_responses_vendor_id_vendors_id_fk": {
+ "name": "vendor_attachment_responses_vendor_id_vendors_id_fk",
+ "tableFrom": "vendor_attachment_responses",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_attachment_responses_created_by_users_id_fk": {
+ "name": "vendor_attachment_responses_created_by_users_id_fk",
+ "tableFrom": "vendor_attachment_responses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "vendor_attachment_responses_updated_by_users_id_fk": {
+ "name": "vendor_attachment_responses_updated_by_users_id_fk",
+ "tableFrom": "vendor_attachment_responses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_response_attachments_b": {
+ "name": "vendor_response_attachments_b",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_response_id": {
+ "name": "vendor_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_response_attachments_b_vendor_response_id_vendor_attachment_responses_id_fk": {
+ "name": "vendor_response_attachments_b_vendor_response_id_vendor_attachment_responses_id_fk",
+ "tableFrom": "vendor_response_attachments_b",
+ "tableTo": "vendor_attachment_responses",
+ "columnsFrom": [
+ "vendor_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_response_attachments_b_uploaded_by_users_id_fk": {
+ "name": "vendor_response_attachments_b_uploaded_by_users_id_fk",
+ "tableFrom": "vendor_response_attachments_b",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_response_history": {
+ "name": "vendor_response_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_response_id": {
+ "name": "vendor_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "previous_status": {
+ "name": "previous_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_status": {
+ "name": "new_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "action_by": {
+ "name": "action_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "action_at": {
+ "name": "action_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_response_history_vendor_response_id_vendor_attachment_responses_id_fk": {
+ "name": "vendor_response_history_vendor_response_id_vendor_attachment_responses_id_fk",
+ "tableFrom": "vendor_response_history",
+ "tableTo": "vendor_attachment_responses",
+ "columnsFrom": [
+ "vendor_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_response_history_action_by_users_id_fk": {
+ "name": "vendor_response_history_action_by_users_id_fk",
+ "tableFrom": "vendor_response_history",
+ "tableTo": "users",
+ "columnsFrom": [
+ "action_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_vendor_attachments": {
+ "name": "tech_vendor_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'GENERAL'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_vendor_attachments_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_vendor_attachments_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_vendor_attachments",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_vendor_contacts": {
+ "name": "tech_vendor_contacts",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_name": {
+ "name": "contact_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_position": {
+ "name": "contact_position",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_title": {
+ "name": "contact_title",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_email": {
+ "name": "contact_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_phone": {
+ "name": "contact_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_country": {
+ "name": "contact_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_primary": {
+ "name": "is_primary",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_vendor_contacts_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_vendor_contacts_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_vendor_contacts",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_vendor_possible_items": {
+ "name": "tech_vendor_possible_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "shipbuilding_item_id": {
+ "name": "shipbuilding_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "offshore_top_item_id": {
+ "name": "offshore_top_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "offshore_hull_item_id": {
+ "name": "offshore_hull_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "tech_vendor_possible_items_vendor_id_tech_vendors_id_fk": {
+ "name": "tech_vendor_possible_items_vendor_id_tech_vendors_id_fk",
+ "tableFrom": "tech_vendor_possible_items",
+ "tableTo": "tech_vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "tech_vendor_possible_items_shipbuilding_item_id_item_shipbuilding_id_fk": {
+ "name": "tech_vendor_possible_items_shipbuilding_item_id_item_shipbuilding_id_fk",
+ "tableFrom": "tech_vendor_possible_items",
+ "tableTo": "item_shipbuilding",
+ "columnsFrom": [
+ "shipbuilding_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "tech_vendor_possible_items_offshore_top_item_id_item_offshore_top_id_fk": {
+ "name": "tech_vendor_possible_items_offshore_top_item_id_item_offshore_top_id_fk",
+ "tableFrom": "tech_vendor_possible_items",
+ "tableTo": "item_offshore_top",
+ "columnsFrom": [
+ "offshore_top_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "tech_vendor_possible_items_offshore_hull_item_id_item_offshore_hull_id_fk": {
+ "name": "tech_vendor_possible_items_offshore_hull_item_id_item_offshore_hull_id_fk",
+ "tableFrom": "tech_vendor_possible_items",
+ "tableTo": "item_offshore_hull",
+ "columnsFrom": [
+ "offshore_hull_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.tech_vendors": {
+ "name": "tech_vendors",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country_eng": {
+ "name": "country_eng",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country_fab": {
+ "name": "country_fab",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_name": {
+ "name": "agent_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_phone": {
+ "name": "agent_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_email": {
+ "name": "agent_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "address": {
+ "name": "address",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "website": {
+ "name": "website",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tech_vendor_type": {
+ "name": "tech_vendor_type",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "is_quote_comparison": {
+ "name": "is_quote_comparison",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "representative_name": {
+ "name": "representative_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_email": {
+ "name": "representative_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_phone": {
+ "name": "representative_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_birth": {
+ "name": "representative_birth",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "items": {
+ "name": "items",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.esg_answer_options": {
+ "name": "esg_answer_options",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "esg_evaluation_item_id": {
+ "name": "esg_evaluation_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "answer_text": {
+ "name": "answer_text",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "score": {
+ "name": "score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "order_index": {
+ "name": "order_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "esg_answer_options_esg_evaluation_item_id_esg_evaluation_items_id_fk": {
+ "name": "esg_answer_options_esg_evaluation_item_id_esg_evaluation_items_id_fk",
+ "tableFrom": "esg_answer_options",
+ "tableTo": "esg_evaluation_items",
+ "columnsFrom": [
+ "esg_evaluation_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.esg_evaluation_items": {
+ "name": "esg_evaluation_items",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "esg_evaluation_id": {
+ "name": "esg_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_item": {
+ "name": "evaluation_item",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_item_description": {
+ "name": "evaluation_item_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "order_index": {
+ "name": "order_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "esg_evaluation_items_esg_evaluation_id_esg_evaluations_id_fk": {
+ "name": "esg_evaluation_items_esg_evaluation_id_esg_evaluations_id_fk",
+ "tableFrom": "esg_evaluation_items",
+ "tableTo": "esg_evaluations",
+ "columnsFrom": [
+ "esg_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.esg_evaluation_responses": {
+ "name": "esg_evaluation_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "submission_id": {
+ "name": "submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "esg_evaluation_item_id": {
+ "name": "esg_evaluation_item_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "esg_answer_option_id": {
+ "name": "esg_answer_option_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "selected_score": {
+ "name": "selected_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "additional_comments": {
+ "name": "additional_comments",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "esg_evaluation_responses_submission_id_evaluation_submissions_id_fk": {
+ "name": "esg_evaluation_responses_submission_id_evaluation_submissions_id_fk",
+ "tableFrom": "esg_evaluation_responses",
+ "tableTo": "evaluation_submissions",
+ "columnsFrom": [
+ "submission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "esg_evaluation_responses_esg_evaluation_item_id_esg_evaluation_items_id_fk": {
+ "name": "esg_evaluation_responses_esg_evaluation_item_id_esg_evaluation_items_id_fk",
+ "tableFrom": "esg_evaluation_responses",
+ "tableTo": "esg_evaluation_items",
+ "columnsFrom": [
+ "esg_evaluation_item_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "esg_evaluation_responses_esg_answer_option_id_esg_answer_options_id_fk": {
+ "name": "esg_evaluation_responses_esg_answer_option_id_esg_answer_options_id_fk",
+ "tableFrom": "esg_evaluation_responses",
+ "tableTo": "esg_answer_options",
+ "columnsFrom": [
+ "esg_answer_option_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.esg_evaluations": {
+ "name": "esg_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "serial_number": {
+ "name": "serial_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "inspection_item": {
+ "name": "inspection_item",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "esg_evaluations_serial_number_unique": {
+ "name": "esg_evaluations_serial_number_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "serial_number"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.evaluation_submissions": {
+ "name": "evaluation_submissions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "submission_id": {
+ "name": "submission_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "periodic_evaluation_id": {
+ "name": "periodic_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "company_id": {
+ "name": "company_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_round": {
+ "name": "evaluation_round",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submission_status": {
+ "name": "submission_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'draft'"
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewed_at": {
+ "name": "reviewed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewed_by": {
+ "name": "reviewed_by",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_comments": {
+ "name": "review_comments",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "average_esg_score": {
+ "name": "average_esg_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_general_items": {
+ "name": "total_general_items",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "completed_general_items": {
+ "name": "completed_general_items",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "total_esg_items": {
+ "name": "total_esg_items",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "completed_esg_items": {
+ "name": "completed_esg_items",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "evaluation_submissions_periodic_evaluation_id_periodic_evaluations_id_fk": {
+ "name": "evaluation_submissions_periodic_evaluation_id_periodic_evaluations_id_fk",
+ "tableFrom": "evaluation_submissions",
+ "tableTo": "periodic_evaluations",
+ "columnsFrom": [
+ "periodic_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "evaluation_submissions_company_id_vendors_id_fk": {
+ "name": "evaluation_submissions_company_id_vendors_id_fk",
+ "tableFrom": "evaluation_submissions",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "company_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "evaluation_submissions_submission_id_unique": {
+ "name": "evaluation_submissions_submission_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "submission_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.general_evaluation_responses": {
+ "name": "general_evaluation_responses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "submission_id": {
+ "name": "submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "general_evaluation_id": {
+ "name": "general_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "response_text": {
+ "name": "response_text",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "has_attachments": {
+ "name": "has_attachments",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "review_comments": {
+ "name": "review_comments",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "general_evaluation_responses_submission_id_evaluation_submissions_id_fk": {
+ "name": "general_evaluation_responses_submission_id_evaluation_submissions_id_fk",
+ "tableFrom": "general_evaluation_responses",
+ "tableTo": "evaluation_submissions",
+ "columnsFrom": [
+ "submission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "general_evaluation_responses_general_evaluation_id_general_evaluations_id_fk": {
+ "name": "general_evaluation_responses_general_evaluation_id_general_evaluations_id_fk",
+ "tableFrom": "general_evaluation_responses",
+ "tableTo": "general_evaluations",
+ "columnsFrom": [
+ "general_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.general_evaluations": {
+ "name": "general_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "serial_number": {
+ "name": "serial_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "inspection_item": {
+ "name": "inspection_item",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "general_evaluations_serial_number_unique": {
+ "name": "general_evaluations_serial_number_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "serial_number"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.vendor_evaluation_attachments": {
+ "name": "vendor_evaluation_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "file_id": {
+ "name": "file_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "submission_id": {
+ "name": "submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "general_evaluation_response_id": {
+ "name": "general_evaluation_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stored_file_name": {
+ "name": "stored_file_name",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mime_type": {
+ "name": "mime_type",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "vendor_evaluation_attachments_submission_id_evaluation_submissions_id_fk": {
+ "name": "vendor_evaluation_attachments_submission_id_evaluation_submissions_id_fk",
+ "tableFrom": "vendor_evaluation_attachments",
+ "tableTo": "evaluation_submissions",
+ "columnsFrom": [
+ "submission_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "vendor_evaluation_attachments_general_evaluation_response_id_general_evaluation_responses_id_fk": {
+ "name": "vendor_evaluation_attachments_general_evaluation_response_id_general_evaluation_responses_id_fk",
+ "tableFrom": "vendor_evaluation_attachments",
+ "tableTo": "general_evaluation_responses",
+ "columnsFrom": [
+ "general_evaluation_response_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "vendor_evaluation_attachments_file_id_unique": {
+ "name": "vendor_evaluation_attachments_file_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "file_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.evaluation_target_reviewers": {
+ "name": "evaluation_target_reviewers",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_target_id": {
+ "name": "evaluation_target_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_name_from": {
+ "name": "department_name_from",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_user_id": {
+ "name": "reviewer_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assigned_at": {
+ "name": "assigned_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "assigned_by": {
+ "name": "assigned_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "evaluation_target_reviewers_evaluation_target_id_evaluation_targets_id_fk": {
+ "name": "evaluation_target_reviewers_evaluation_target_id_evaluation_targets_id_fk",
+ "tableFrom": "evaluation_target_reviewers",
+ "tableTo": "evaluation_targets",
+ "columnsFrom": [
+ "evaluation_target_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "evaluation_target_reviewers_reviewer_user_id_users_id_fk": {
+ "name": "evaluation_target_reviewers_reviewer_user_id_users_id_fk",
+ "tableFrom": "evaluation_target_reviewers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "reviewer_user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "evaluation_target_reviewers_assigned_by_users_id_fk": {
+ "name": "evaluation_target_reviewers_assigned_by_users_id_fk",
+ "tableFrom": "evaluation_target_reviewers",
+ "tableTo": "users",
+ "columnsFrom": [
+ "assigned_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_target_department": {
+ "name": "unique_target_department",
+ "nullsNotDistinct": false,
+ "columns": [
+ "evaluation_target_id",
+ "department_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.evaluation_target_reviews": {
+ "name": "evaluation_target_reviews",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_target_id": {
+ "name": "evaluation_target_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "reviewer_user_id": {
+ "name": "reviewer_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_approved": {
+ "name": "is_approved",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_comment": {
+ "name": "review_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewed_at": {
+ "name": "reviewed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "evaluation_target_reviews_evaluation_target_id_evaluation_targets_id_fk": {
+ "name": "evaluation_target_reviews_evaluation_target_id_evaluation_targets_id_fk",
+ "tableFrom": "evaluation_target_reviews",
+ "tableTo": "evaluation_targets",
+ "columnsFrom": [
+ "evaluation_target_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "evaluation_target_reviews_reviewer_user_id_users_id_fk": {
+ "name": "evaluation_target_reviews_reviewer_user_id_users_id_fk",
+ "tableFrom": "evaluation_target_reviews",
+ "tableTo": "users",
+ "columnsFrom": [
+ "reviewer_user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_target_reviewer": {
+ "name": "unique_target_reviewer",
+ "nullsNotDistinct": false,
+ "columns": [
+ "evaluation_target_id",
+ "reviewer_user_id",
+ "department_code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.evaluation_targets": {
+ "name": "evaluation_targets",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "division": {
+ "name": "division",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "admin_comment": {
+ "name": "admin_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "admin_user_id": {
+ "name": "admin_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consolidated_comment": {
+ "name": "consolidated_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consensus_status": {
+ "name": "consensus_status",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_by": {
+ "name": "confirmed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ld_claim_count": {
+ "name": "ld_claim_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "ld_claim_amount": {
+ "name": "ld_claim_amount",
+ "type": "numeric(15, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "ld_claim_currency": {
+ "name": "ld_claim_currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "evaluation_targets_vendor_id_vendors_id_fk": {
+ "name": "evaluation_targets_vendor_id_vendors_id_fk",
+ "tableFrom": "evaluation_targets",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "evaluation_targets_admin_user_id_users_id_fk": {
+ "name": "evaluation_targets_admin_user_id_users_id_fk",
+ "tableFrom": "evaluation_targets",
+ "tableTo": "users",
+ "columnsFrom": [
+ "admin_user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "evaluation_targets_confirmed_by_users_id_fk": {
+ "name": "evaluation_targets_confirmed_by_users_id_fk",
+ "tableFrom": "evaluation_targets",
+ "tableTo": "users",
+ "columnsFrom": [
+ "confirmed_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.periodic_evaluations": {
+ "name": "periodic_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_target_id": {
+ "name": "evaluation_target_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_period": {
+ "name": "evaluation_period",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "documents_submitted": {
+ "name": "documents_submitted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "submission_date": {
+ "name": "submission_date",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submission_deadline": {
+ "name": "submission_deadline",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_score": {
+ "name": "final_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_grade": {
+ "name": "final_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_score": {
+ "name": "evaluation_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_grade": {
+ "name": "evaluation_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "review_completed_at": {
+ "name": "review_completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_at": {
+ "name": "finalized_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_by": {
+ "name": "finalized_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_note": {
+ "name": "evaluation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "periodic_evaluations_evaluation_target_id_evaluation_targets_id_fk": {
+ "name": "periodic_evaluations_evaluation_target_id_evaluation_targets_id_fk",
+ "tableFrom": "periodic_evaluations",
+ "tableTo": "evaluation_targets",
+ "columnsFrom": [
+ "evaluation_target_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "periodic_evaluations_finalized_by_users_id_fk": {
+ "name": "periodic_evaluations_finalized_by_users_id_fk",
+ "tableFrom": "periodic_evaluations",
+ "tableTo": "users",
+ "columnsFrom": [
+ "finalized_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_evaluation_target": {
+ "name": "unique_evaluation_target",
+ "nullsNotDistinct": false,
+ "columns": [
+ "evaluation_target_id",
+ "evaluation_period"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reviewer_evaluation_attachments": {
+ "name": "reviewer_evaluation_attachments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "reviewer_evaluation_detail_id": {
+ "name": "reviewer_evaluation_detail_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stored_file_name": {
+ "name": "stored_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "public_path": {
+ "name": "public_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "mime_type": {
+ "name": "mime_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_extension": {
+ "name": "file_extension",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_by": {
+ "name": "uploaded_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "reviewer_evaluation_detail_id_idx": {
+ "name": "reviewer_evaluation_detail_id_idx",
+ "columns": [
+ {
+ "expression": "reviewer_evaluation_detail_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "reviewer_evaluation_attachments_reviewer_evaluation_detail_id_reviewer_evaluation_details_id_fk": {
+ "name": "reviewer_evaluation_attachments_reviewer_evaluation_detail_id_reviewer_evaluation_details_id_fk",
+ "tableFrom": "reviewer_evaluation_attachments",
+ "tableTo": "reviewer_evaluation_details",
+ "columnsFrom": [
+ "reviewer_evaluation_detail_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "reviewer_evaluation_attachments_uploaded_by_users_id_fk": {
+ "name": "reviewer_evaluation_attachments_uploaded_by_users_id_fk",
+ "tableFrom": "reviewer_evaluation_attachments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "uploaded_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reviewer_evaluation_details": {
+ "name": "reviewer_evaluation_details",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "reviewer_evaluation_id": {
+ "name": "reviewer_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "reg_eval_criteria_details_id": {
+ "name": "reg_eval_criteria_details_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score": {
+ "name": "score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "reviewer_evaluation_details_reviewer_evaluation_id_reviewer_evaluations_id_fk": {
+ "name": "reviewer_evaluation_details_reviewer_evaluation_id_reviewer_evaluations_id_fk",
+ "tableFrom": "reviewer_evaluation_details",
+ "tableTo": "reviewer_evaluations",
+ "columnsFrom": [
+ "reviewer_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "reviewer_evaluation_details_reg_eval_criteria_details_id_reg_eval_criteria_details_id_fk": {
+ "name": "reviewer_evaluation_details_reg_eval_criteria_details_id_reg_eval_criteria_details_id_fk",
+ "tableFrom": "reviewer_evaluation_details",
+ "tableTo": "reg_eval_criteria_details",
+ "columnsFrom": [
+ "reg_eval_criteria_details_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_reviewer_criteria": {
+ "name": "unique_reviewer_criteria",
+ "nullsNotDistinct": false,
+ "columns": [
+ "reviewer_evaluation_id",
+ "reg_eval_criteria_details_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reviewer_evaluations": {
+ "name": "reviewer_evaluations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "periodic_evaluation_id": {
+ "name": "periodic_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_target_reviewer_id": {
+ "name": "evaluation_target_reviewer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_completed": {
+ "name": "is_completed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_comment": {
+ "name": "reviewer_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "reviewer_evaluations_periodic_evaluation_id_periodic_evaluations_id_fk": {
+ "name": "reviewer_evaluations_periodic_evaluation_id_periodic_evaluations_id_fk",
+ "tableFrom": "reviewer_evaluations",
+ "tableTo": "periodic_evaluations",
+ "columnsFrom": [
+ "periodic_evaluation_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "reviewer_evaluations_evaluation_target_reviewer_id_evaluation_target_reviewers_id_fk": {
+ "name": "reviewer_evaluations_evaluation_target_reviewer_id_evaluation_target_reviewers_id_fk",
+ "tableFrom": "reviewer_evaluations",
+ "tableTo": "evaluation_target_reviewers",
+ "columnsFrom": [
+ "evaluation_target_reviewer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "unique_reviewer_evaluation": {
+ "name": "unique_reviewer_evaluation",
+ "nullsNotDistinct": false,
+ "columns": [
+ "periodic_evaluation_id",
+ "evaluation_target_reviewer_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reg_eval_criteria": {
+ "name": "reg_eval_criteria",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'quality'"
+ },
+ "category2": {
+ "name": "category2",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'processScore'"
+ },
+ "item": {
+ "name": "item",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'quality'"
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "range": {
+ "name": "range",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "variable_score_min ": {
+ "name": "variable_score_min ",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variable_score_max ": {
+ "name": "variable_score_max ",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variable_score_unit ": {
+ "name": "variable_score_unit ",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_type": {
+ "name": "score_type",
+ "type": "score_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'fixed'"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "reg_eval_criteria_created_by_users_id_fk": {
+ "name": "reg_eval_criteria_created_by_users_id_fk",
+ "tableFrom": "reg_eval_criteria",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "reg_eval_criteria_updated_by_users_id_fk": {
+ "name": "reg_eval_criteria_updated_by_users_id_fk",
+ "tableFrom": "reg_eval_criteria",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.reg_eval_criteria_details": {
+ "name": "reg_eval_criteria_details",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "criteria_id": {
+ "name": "criteria_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "detail": {
+ "name": "detail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "order_index": {
+ "name": "order_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "score_equip_ship": {
+ "name": "score_equip_ship",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_equip_marine": {
+ "name": "score_equip_marine",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_bulk_ship": {
+ "name": "score_bulk_ship",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_bulk_marine": {
+ "name": "score_bulk_marine",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "reg_eval_criteria_details_criteria_id_reg_eval_criteria_id_fk": {
+ "name": "reg_eval_criteria_details_criteria_id_reg_eval_criteria_id_fk",
+ "tableFrom": "reg_eval_criteria_details",
+ "tableTo": "reg_eval_criteria",
+ "columnsFrom": [
+ "criteria_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.project_gtc_files": {
+ "name": "project_gtc_files",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mime_type": {
+ "name": "mime_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "project_gtc_files_project_id_projects_id_fk": {
+ "name": "project_gtc_files_project_id_projects_id_fk",
+ "tableFrom": "project_gtc_files",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.menu_assignments": {
+ "name": "menu_assignments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "menu_assignments_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "menu_path": {
+ "name": "menu_path",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "menu_title": {
+ "name": "menu_title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "menu_description": {
+ "name": "menu_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "menu_group": {
+ "name": "menu_group",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "section_title": {
+ "name": "section_title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "domain": {
+ "name": "domain",
+ "type": "user_domain",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'evcp'"
+ },
+ "manager1_id": {
+ "name": "manager1_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager2_id": {
+ "name": "manager2_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "menu_assignments_path_idx": {
+ "name": "menu_assignments_path_idx",
+ "columns": [
+ {
+ "expression": "menu_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_assignments_manager1_idx": {
+ "name": "menu_assignments_manager1_idx",
+ "columns": [
+ {
+ "expression": "manager1_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_assignments_manager2_idx": {
+ "name": "menu_assignments_manager2_idx",
+ "columns": [
+ {
+ "expression": "manager2_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_assignments_domain_idx": {
+ "name": "menu_assignments_domain_idx",
+ "columns": [
+ {
+ "expression": "domain",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "menu_assignments_manager1_id_users_id_fk": {
+ "name": "menu_assignments_manager1_id_users_id_fk",
+ "tableFrom": "menu_assignments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "manager1_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "menu_assignments_manager2_id_users_id_fk": {
+ "name": "menu_assignments_manager2_id_users_id_fk",
+ "tableFrom": "menu_assignments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "manager2_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "menu_assignments_menu_path_unique": {
+ "name": "menu_assignments_menu_path_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "menu_path"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.page_information": {
+ "name": "page_information",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "page_path": {
+ "name": "page_path",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "page_name": {
+ "name": "page_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "information_content": {
+ "name": "information_content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attachment_file_name": {
+ "name": "attachment_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_file_path": {
+ "name": "attachment_file_path",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_file_size": {
+ "name": "attachment_file_size",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "page_information_page_path_unique": {
+ "name": "page_information_page_path_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "page_path"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.qna": {
+ "name": "qna",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "qna_category",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "deleted_at": {
+ "name": "deleted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "idx_qna_author": {
+ "name": "idx_qna_author",
+ "columns": [
+ {
+ "expression": "author",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "qna_author_users_id_fk": {
+ "name": "qna_author_users_id_fk",
+ "tableFrom": "qna",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.qna_answer": {
+ "name": "qna_answer",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "qna_id": {
+ "name": "qna_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "deleted_at": {
+ "name": "deleted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "idx_answer_qna": {
+ "name": "idx_answer_qna",
+ "columns": [
+ {
+ "expression": "qna_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_answer_author": {
+ "name": "idx_answer_author",
+ "columns": [
+ {
+ "expression": "author",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "qna_answer_qna_id_qna_id_fk": {
+ "name": "qna_answer_qna_id_qna_id_fk",
+ "tableFrom": "qna_answer",
+ "tableTo": "qna",
+ "columnsFrom": [
+ "qna_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "qna_answer_author_users_id_fk": {
+ "name": "qna_answer_author_users_id_fk",
+ "tableFrom": "qna_answer",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.qna_comments": {
+ "name": "qna_comments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "answer_id": {
+ "name": "answer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_comment_id": {
+ "name": "parent_comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "deleted_at": {
+ "name": "deleted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "idx_comment_answer": {
+ "name": "idx_comment_answer",
+ "columns": [
+ {
+ "expression": "answer_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_comment_parent": {
+ "name": "idx_comment_parent",
+ "columns": [
+ {
+ "expression": "parent_comment_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "qna_comments_author_users_id_fk": {
+ "name": "qna_comments_author_users_id_fk",
+ "tableFrom": "qna_comments",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "qna_comments_answer_id_qna_answer_id_fk": {
+ "name": "qna_comments_answer_id_qna_answer_id_fk",
+ "tableFrom": "qna_comments",
+ "tableTo": "qna_answer",
+ "columnsFrom": [
+ "answer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.notice": {
+ "name": "notice",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "page_path": {
+ "name": "page_path",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author_id": {
+ "name": "author_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "notice_author_id_users_id_fk": {
+ "name": "notice_author_id_users_id_fk",
+ "tableFrom": "notice",
+ "tableTo": "users",
+ "columnsFrom": [
+ "author_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.daily_access_stats": {
+ "name": "daily_access_stats",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "date": {
+ "name": "date",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "total_visits": {
+ "name": "total_visits",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "unique_users": {
+ "name": "unique_users",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "total_sessions": {
+ "name": "total_sessions",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "avg_session_duration": {
+ "name": "avg_session_duration",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.file_download_logs": {
+ "name": "file_download_logs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "file_id": {
+ "name": "file_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_email": {
+ "name": "user_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_name": {
+ "name": "user_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_role": {
+ "name": "user_role",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_ip": {
+ "name": "user_ip",
+ "type": "inet",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_agent": {
+ "name": "user_agent",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "downloaded_at": {
+ "name": "downloaded_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "success": {
+ "name": "success",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "error_message": {
+ "name": "error_message",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "request_id": {
+ "name": "request_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "referer": {
+ "name": "referer",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "download_duration_ms": {
+ "name": "download_duration_ms",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.login_sessions": {
+ "name": "login_sessions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "login_at": {
+ "name": "login_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "logout_at": {
+ "name": "logout_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ip_address": {
+ "name": "ip_address",
+ "type": "inet",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_agent": {
+ "name": "user_agent",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "session_token": {
+ "name": "session_token",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "nextauth_session_id": {
+ "name": "nextauth_session_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "auth_method": {
+ "name": "auth_method",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "last_activity_at": {
+ "name": "last_activity_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "session_expired_at": {
+ "name": "session_expired_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "login_sessions_user_id_users_id_fk": {
+ "name": "login_sessions_user_id_users_id_fk",
+ "tableFrom": "login_sessions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "login_sessions_session_token_unique": {
+ "name": "login_sessions_session_token_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "session_token"
+ ]
+ },
+ "login_sessions_nextauth_session_id_unique": {
+ "name": "login_sessions_nextauth_session_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "nextauth_session_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.page_visits": {
+ "name": "page_visits",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "session_id": {
+ "name": "session_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "route": {
+ "name": "route",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "page_title": {
+ "name": "page_title",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "referrer": {
+ "name": "referrer",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ip_address": {
+ "name": "ip_address",
+ "type": "inet",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_agent": {
+ "name": "user_agent",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "visited_at": {
+ "name": "visited_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "duration": {
+ "name": "duration",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "query_params": {
+ "name": "query_params",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "device_type": {
+ "name": "device_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "browser_name": {
+ "name": "browser_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "os_name": {
+ "name": "os_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "page_visits_user_id_users_id_fk": {
+ "name": "page_visits_user_id_users_id_fk",
+ "tableFrom": "page_visits",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "page_visits_session_id_login_sessions_id_fk": {
+ "name": "page_visits_session_id_login_sessions_id_fk",
+ "tableFrom": "page_visits",
+ "tableTo": "login_sessions",
+ "columnsFrom": [
+ "session_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.temp_auth_sessions": {
+ "name": "temp_auth_sessions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "temp_auth_key": {
+ "name": "temp_auth_key",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "auth_method": {
+ "name": "auth_method",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "expires_at": {
+ "name": "expires_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_used": {
+ "name": "is_used",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "temp_auth_sessions_user_id_users_id_fk": {
+ "name": "temp_auth_sessions_user_id_users_id_fk",
+ "tableFrom": "temp_auth_sessions",
+ "tableTo": "users",
+ "columnsFrom": [
+ "user_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "temp_auth_sessions_temp_auth_key_unique": {
+ "name": "temp_auth_sessions_temp_auth_key_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "temp_auth_key"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.user_download_stats": {
+ "name": "user_download_stats",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "date": {
+ "name": "date",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "total_downloads": {
+ "name": "total_downloads",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "total_bytes": {
+ "name": "total_bytes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "unique_files": {
+ "name": "unique_files",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "last_download_at": {
+ "name": "last_download_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.notifications": {
+ "name": "notifications",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "message": {
+ "name": "message",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "related_record_id": {
+ "name": "related_record_id",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "related_record_type": {
+ "name": "related_record_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_read": {
+ "name": "is_read",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "read_at": {
+ "name": "read_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "idx_notifications_user_id": {
+ "name": "idx_notifications_user_id",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_notifications_created_at": {
+ "name": "idx_notifications_created_at",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": false,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_notifications_is_read": {
+ "name": "idx_notifications_is_read",
+ "columns": [
+ {
+ "expression": "is_read",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "idx_notifications_user_read": {
+ "name": "idx_notifications_user_read",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "is_read",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.template_history": {
+ "name": "template_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "template_id": {
+ "name": "template_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "change_description": {
+ "name": "change_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "changed_by": {
+ "name": "changed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "template_history_template_id_templates_id_fk": {
+ "name": "template_history_template_id_templates_id_fk",
+ "tableFrom": "template_history",
+ "tableTo": "templates",
+ "columnsFrom": [
+ "template_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "template_history_changed_by_users_id_fk": {
+ "name": "template_history_changed_by_users_id_fk",
+ "tableFrom": "template_history",
+ "tableTo": "users",
+ "columnsFrom": [
+ "changed_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.template_variables": {
+ "name": "template_variables",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "template_id": {
+ "name": "template_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "variable_name": {
+ "name": "variable_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "variable_type": {
+ "name": "variable_type",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "default_value": {
+ "name": "default_value",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_required": {
+ "name": "is_required",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "validation_rule": {
+ "name": "validation_rule",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "display_order": {
+ "name": "display_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "template_variables_template_id_templates_id_fk": {
+ "name": "template_variables_template_id_templates_id_fk",
+ "tableFrom": "template_variables",
+ "tableTo": "templates",
+ "columnsFrom": [
+ "template_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.templates": {
+ "name": "templates",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "category": {
+ "name": "category",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sample_data": {
+ "name": "sample_data",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'{}'::jsonb"
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "templates_created_by_users_id_fk": {
+ "name": "templates_created_by_users_id_fk",
+ "tableFrom": "templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "templates_slug_unique": {
+ "name": "templates_slug_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "slug"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_clauses": {
+ "name": "gtc_clauses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_number": {
+ "name": "item_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "subtitle": {
+ "name": "subtitle",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "depth": {
+ "name": "depth",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "full_path": {
+ "name": "full_path",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "images": {
+ "name": "images",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "gtc_clauses_document_item_number_idx": {
+ "name": "gtc_clauses_document_item_number_idx",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "item_number",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_clauses_document_idx": {
+ "name": "gtc_clauses_document_idx",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_clauses_parent_idx": {
+ "name": "gtc_clauses_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_clauses_full_path_idx": {
+ "name": "gtc_clauses_full_path_idx",
+ "columns": [
+ {
+ "expression": "full_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_clauses_document_id_gtc_documents_id_fk": {
+ "name": "gtc_clauses_document_id_gtc_documents_id_fk",
+ "tableFrom": "gtc_clauses",
+ "tableTo": "gtc_documents",
+ "columnsFrom": [
+ "document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_clauses_created_by_id_users_id_fk": {
+ "name": "gtc_clauses_created_by_id_users_id_fk",
+ "tableFrom": "gtc_clauses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_clauses_updated_by_id_users_id_fk": {
+ "name": "gtc_clauses_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_clauses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_documents": {
+ "name": "gtc_documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "gtc_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision": {
+ "name": "revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ }
+ },
+ "indexes": {
+ "gtc_project_revision_idx": {
+ "name": "gtc_project_revision_idx",
+ "columns": [
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "revision",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_type_idx": {
+ "name": "gtc_type_idx",
+ "columns": [
+ {
+ "expression": "type",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_project_idx": {
+ "name": "gtc_project_idx",
+ "columns": [
+ {
+ "expression": "project_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_created_at_idx": {
+ "name": "gtc_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_updated_at_idx": {
+ "name": "gtc_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_documents_project_id_projects_id_fk": {
+ "name": "gtc_documents_project_id_projects_id_fk",
+ "tableFrom": "gtc_documents",
+ "tableTo": "projects",
+ "columnsFrom": [
+ "project_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_documents_created_by_id_users_id_fk": {
+ "name": "gtc_documents_created_by_id_users_id_fk",
+ "tableFrom": "gtc_documents",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_documents_updated_by_id_users_id_fk": {
+ "name": "gtc_documents_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_documents",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_negotiation_history": {
+ "name": "gtc_negotiation_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_clause_id": {
+ "name": "vendor_clause_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "previous_status": {
+ "name": "previous_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_status": {
+ "name": "new_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "changed_fields": {
+ "name": "changed_fields",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "comment": {
+ "name": "comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachments": {
+ "name": "attachments",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "actor_type": {
+ "name": "actor_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "actor_id": {
+ "name": "actor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "actor_name": {
+ "name": "actor_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "actor_email": {
+ "name": "actor_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "gtc_negotiation_history_vendor_clause_idx": {
+ "name": "gtc_negotiation_history_vendor_clause_idx",
+ "columns": [
+ {
+ "expression": "vendor_clause_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_negotiation_history_action_idx": {
+ "name": "gtc_negotiation_history_action_idx",
+ "columns": [
+ {
+ "expression": "action",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_negotiation_history_created_at_idx": {
+ "name": "gtc_negotiation_history_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_negotiation_history_vendor_clause_id_gtc_vendor_clauses_id_fk": {
+ "name": "gtc_negotiation_history_vendor_clause_id_gtc_vendor_clauses_id_fk",
+ "tableFrom": "gtc_negotiation_history",
+ "tableTo": "gtc_vendor_clauses",
+ "columnsFrom": [
+ "vendor_clause_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_negotiation_history_actor_id_users_id_fk": {
+ "name": "gtc_negotiation_history_actor_id_users_id_fk",
+ "tableFrom": "gtc_negotiation_history",
+ "tableTo": "users",
+ "columnsFrom": [
+ "actor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_templates": {
+ "name": "gtc_templates",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'1.0'"
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variable_metadata": {
+ "name": "variable_metadata",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "is_default": {
+ "name": "is_default",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "gtc_templates_name_idx": {
+ "name": "gtc_templates_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_templates_is_default_idx": {
+ "name": "gtc_templates_is_default_idx",
+ "columns": [
+ {
+ "expression": "is_default",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_templates_document_id_gtc_documents_id_fk": {
+ "name": "gtc_templates_document_id_gtc_documents_id_fk",
+ "tableFrom": "gtc_templates",
+ "tableTo": "gtc_documents",
+ "columnsFrom": [
+ "document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_templates_created_by_id_users_id_fk": {
+ "name": "gtc_templates_created_by_id_users_id_fk",
+ "tableFrom": "gtc_templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_templates_updated_by_id_users_id_fk": {
+ "name": "gtc_templates_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_templates",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_vendor_clauses": {
+ "name": "gtc_vendor_clauses",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_document_id": {
+ "name": "vendor_document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "base_clause_id": {
+ "name": "base_clause_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "modified_item_number": {
+ "name": "modified_item_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "modified_category": {
+ "name": "modified_category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "modified_subtitle": {
+ "name": "modified_subtitle",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "modified_content": {
+ "name": "modified_content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "depth": {
+ "name": "depth",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "full_path": {
+ "name": "full_path",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_number_modified": {
+ "name": "is_number_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_category_modified": {
+ "name": "is_category_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_subtitle_modified": {
+ "name": "is_subtitle_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_content_modified": {
+ "name": "is_content_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "review_status": {
+ "name": "review_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'draft'"
+ },
+ "negotiation_note": {
+ "name": "negotiation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "is_excluded": {
+ "name": "is_excluded",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "gtc_vendor_clauses_vendor_base_idx": {
+ "name": "gtc_vendor_clauses_vendor_base_idx",
+ "columns": [
+ {
+ "expression": "vendor_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "base_clause_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_clauses_vendor_document_idx": {
+ "name": "gtc_vendor_clauses_vendor_document_idx",
+ "columns": [
+ {
+ "expression": "vendor_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_clauses_base_clause_idx": {
+ "name": "gtc_vendor_clauses_base_clause_idx",
+ "columns": [
+ {
+ "expression": "base_clause_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_clauses_parent_idx": {
+ "name": "gtc_vendor_clauses_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_clauses_review_status_idx": {
+ "name": "gtc_vendor_clauses_review_status_idx",
+ "columns": [
+ {
+ "expression": "review_status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_vendor_clauses_vendor_document_id_gtc_vendor_documents_id_fk": {
+ "name": "gtc_vendor_clauses_vendor_document_id_gtc_vendor_documents_id_fk",
+ "tableFrom": "gtc_vendor_clauses",
+ "tableTo": "gtc_vendor_documents",
+ "columnsFrom": [
+ "vendor_document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_clauses_base_clause_id_gtc_clauses_id_fk": {
+ "name": "gtc_vendor_clauses_base_clause_id_gtc_clauses_id_fk",
+ "tableFrom": "gtc_vendor_clauses",
+ "tableTo": "gtc_clauses",
+ "columnsFrom": [
+ "base_clause_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_clauses_created_by_id_users_id_fk": {
+ "name": "gtc_vendor_clauses_created_by_id_users_id_fk",
+ "tableFrom": "gtc_vendor_clauses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_clauses_updated_by_id_users_id_fk": {
+ "name": "gtc_vendor_clauses_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_vendor_clauses",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.gtc_vendor_documents": {
+ "name": "gtc_vendor_documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "base_document_id": {
+ "name": "base_document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'1.0'"
+ },
+ "review_status": {
+ "name": "review_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'draft'"
+ },
+ "negotiation_start_date": {
+ "name": "negotiation_start_date",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "negotiation_end_date": {
+ "name": "negotiation_end_date",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approval_date": {
+ "name": "approval_date",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_file_name": {
+ "name": "final_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_file_path": {
+ "name": "final_file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_file_size": {
+ "name": "final_file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "gtc_vendor_documents_base_vendor_idx": {
+ "name": "gtc_vendor_documents_base_vendor_idx",
+ "columns": [
+ {
+ "expression": "base_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_documents_vendor_idx": {
+ "name": "gtc_vendor_documents_vendor_idx",
+ "columns": [
+ {
+ "expression": "vendor_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_documents_base_document_idx": {
+ "name": "gtc_vendor_documents_base_document_idx",
+ "columns": [
+ {
+ "expression": "base_document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "gtc_vendor_documents_review_status_idx": {
+ "name": "gtc_vendor_documents_review_status_idx",
+ "columns": [
+ {
+ "expression": "review_status",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "gtc_vendor_documents_base_document_id_gtc_documents_id_fk": {
+ "name": "gtc_vendor_documents_base_document_id_gtc_documents_id_fk",
+ "tableFrom": "gtc_vendor_documents",
+ "tableTo": "gtc_documents",
+ "columnsFrom": [
+ "base_document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_documents_vendor_id_vendors_id_fk": {
+ "name": "gtc_vendor_documents_vendor_id_vendors_id_fk",
+ "tableFrom": "gtc_vendor_documents",
+ "tableTo": "vendors",
+ "columnsFrom": [
+ "vendor_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_documents_created_by_id_users_id_fk": {
+ "name": "gtc_vendor_documents_created_by_id_users_id_fk",
+ "tableFrom": "gtc_vendor_documents",
+ "tableTo": "users",
+ "columnsFrom": [
+ "created_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "gtc_vendor_documents_updated_by_id_users_id_fk": {
+ "name": "gtc_vendor_documents_updated_by_id_users_id_fk",
+ "tableFrom": "gtc_vendor_documents",
+ "tableTo": "users",
+ "columnsFrom": [
+ "updated_by_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.code_groups": {
+ "name": "code_groups",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "group_id": {
+ "name": "group_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code_format": {
+ "name": "code_format",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "expressions": {
+ "name": "expressions",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "control_type": {
+ "name": "control_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "code_groups_group_id_unique": {
+ "name": "code_groups_group_id_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "group_id"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.combo_box_options": {
+ "name": "combo_box_options",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "combo_box_setting_id": {
+ "name": "combo_box_setting_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "combo_box_options_combo_box_setting_id_combo_box_settings_id_fk": {
+ "name": "combo_box_options_combo_box_setting_id_combo_box_settings_id_fk",
+ "tableFrom": "combo_box_options",
+ "tableTo": "combo_box_settings",
+ "columnsFrom": [
+ "combo_box_setting_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.combo_box_settings": {
+ "name": "combo_box_settings",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code_group_id": {
+ "name": "code_group_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "combo_box_settings_code_group_id_code_groups_id_fk": {
+ "name": "combo_box_settings_code_group_id_code_groups_id_fk",
+ "tableFrom": "combo_box_settings",
+ "tableTo": "code_groups",
+ "columnsFrom": [
+ "code_group_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_class_options_new": {
+ "name": "document_class_options_new",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_class_id": {
+ "name": "document_class_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "option_value": {
+ "name": "option_value",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "option_code": {
+ "name": "option_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "document_class_options_new_document_class_id_document_classes_id_fk": {
+ "name": "document_class_options_new_document_class_id_document_classes_id_fk",
+ "tableFrom": "document_class_options_new",
+ "tableTo": "document_classes",
+ "columnsFrom": [
+ "document_class_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_classes": {
+ "name": "document_classes",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "value": {
+ "name": "value",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code_group_id": {
+ "name": "code_group_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "document_classes_code_group_id_code_groups_id_fk": {
+ "name": "document_classes_code_group_id_code_groups_id_fk",
+ "tableFrom": "document_classes",
+ "tableTo": "code_groups",
+ "columnsFrom": [
+ "code_group_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "document_classes_code_unique": {
+ "name": "document_classes_code_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "code"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_number_type_configs": {
+ "name": "document_number_type_configs",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_number_type_id": {
+ "name": "document_number_type_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code_group_id": {
+ "name": "code_group_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "document_class_id": {
+ "name": "document_class_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sdq": {
+ "name": "sdq",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "document_number_type_configs_document_number_type_id_document_number_types_id_fk": {
+ "name": "document_number_type_configs_document_number_type_id_document_number_types_id_fk",
+ "tableFrom": "document_number_type_configs",
+ "tableTo": "document_number_types",
+ "columnsFrom": [
+ "document_number_type_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "document_number_type_configs_code_group_id_code_groups_id_fk": {
+ "name": "document_number_type_configs_code_group_id_code_groups_id_fk",
+ "tableFrom": "document_number_type_configs",
+ "tableTo": "code_groups",
+ "columnsFrom": [
+ "code_group_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ },
+ "document_number_type_configs_document_class_id_document_classes_id_fk": {
+ "name": "document_number_type_configs_document_class_id_document_classes_id_fk",
+ "tableFrom": "document_number_type_configs",
+ "tableTo": "document_classes",
+ "columnsFrom": [
+ "document_class_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.document_number_types": {
+ "name": "document_number_types",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "document_number_types_name_unique": {
+ "name": "document_number_types_name_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "name"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.department_domain_assignment_history": {
+ "name": "department_domain_assignment_history",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "department_domain_assignment_history_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "assignment_id": {
+ "name": "assignment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "action": {
+ "name": "action",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "previous_values": {
+ "name": "previous_values",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_values": {
+ "name": "new_values",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "changed_by": {
+ "name": "changed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "change_reason": {
+ "name": "change_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.department_domain_assignments": {
+ "name": "department_domain_assignments",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "department_domain_assignments_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "company_code": {
+ "name": "company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_name": {
+ "name": "department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assigned_domain": {
+ "name": "assigned_domain",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by": {
+ "name": "updated_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.department_domain_mappings": {
+ "name": "department_domain_mappings",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "department_domain_mappings_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "assignment_id": {
+ "name": "assignment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_company_code": {
+ "name": "old_company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_department_code": {
+ "name": "old_department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "old_department_name": {
+ "name": "old_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_company_code": {
+ "name": "new_company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_department_code": {
+ "name": "new_department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "new_department_name": {
+ "name": "new_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mapping_status": {
+ "name": "mapping_status",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'pending'"
+ },
+ "mapped_by": {
+ "name": "mapped_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mapped_at": {
+ "name": "mapped_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER": {
+ "name": "CUSTOMER_MASTER_BP_HEADER",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_HEADER_unique": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_HEADER_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "BP_HEADER"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADDRNO": {
+ "name": "ADDRNO",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CONSNUMBER": {
+ "name": "CONSNUMBER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DATE_FROM": {
+ "name": "DATE_FROM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SMTP_ADDR": {
+ "name": "SMTP_ADDR",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_EMAIL",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CONSNUMBER": {
+ "name": "CONSNUMBER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "COUNTRY": {
+ "name": "COUNTRY",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATE_FROM": {
+ "name": "DATE_FROM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "FAX_EXTENS": {
+ "name": "FAX_EXTENS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAX_NUMBER": {
+ "name": "FAX_NUMBER",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_FAX",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CITY1": {
+ "name": "CITY1",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CITY2": {
+ "name": "CITY2",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COUNTRY": {
+ "name": "COUNTRY",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOUSE_NUM1": {
+ "name": "HOUSE_NUM1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANGU": {
+ "name": "LANGU",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME1": {
+ "name": "NAME1",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME2": {
+ "name": "NAME2",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME3": {
+ "name": "NAME3",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME4": {
+ "name": "NAME4",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NATION": {
+ "name": "NATION",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POST_CODE1": {
+ "name": "POST_CODE1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POST_CODE2": {
+ "name": "POST_CODE2",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PO_BOX": {
+ "name": "PO_BOX",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGION": {
+ "name": "REGION",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SORT1": {
+ "name": "SORT1",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SORT2": {
+ "name": "SORT2",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STREET": {
+ "name": "STREET",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAXJURCODE": {
+ "name": "TAXJURCODE",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TIME_ZONE": {
+ "name": "TIME_ZONE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TITLE": {
+ "name": "TITLE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRANSPZONE": {
+ "name": "TRANSPZONE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_POSTAL",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CONSNUMBER": {
+ "name": "CONSNUMBER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "COUNTRY": {
+ "name": "COUNTRY",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATE_FROM": {
+ "name": "DATE_FROM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "R3_USER": {
+ "name": "R3_USER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TEL_EXTENS": {
+ "name": "TEL_EXTENS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TEL_NUMBER": {
+ "name": "TEL_NUMBER",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_TEL",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CONSNUMBER": {
+ "name": "CONSNUMBER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DATE_FROM": {
+ "name": "DATE_FROM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "URI_ADDR": {
+ "name": "URI_ADDR",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_ADDRESS_AD_URL",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ANRED": {
+ "name": "ANRED",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AUFSD": {
+ "name": "AUFSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAKSD": {
+ "name": "FAKSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GFORM": {
+ "name": "GFORM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JMJAH": {
+ "name": "JMJAH",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JMZAH": {
+ "name": "JMZAH",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "J_1KFREPRE": {
+ "name": "J_1KFREPRE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "J_1KFTBUS": {
+ "name": "J_1KFTBUS",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "J_1KFTIND": {
+ "name": "J_1KFTIND",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KATR1": {
+ "name": "KATR1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KDKG1": {
+ "name": "KDKG1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KTOKD": {
+ "name": "KTOKD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KUNNR": {
+ "name": "KUNNR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "LIFNR": {
+ "name": "LIFNR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LIFSD": {
+ "name": "LIFSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOEVM": {
+ "name": "LOEVM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NIELS": {
+ "name": "NIELS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NODEL": {
+ "name": "NODEL",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUGRP": {
+ "name": "PUGRP",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPERR": {
+ "name": "SPERR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCD1": {
+ "name": "STCD1",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCD2": {
+ "name": "STCD2",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCD3": {
+ "name": "STCD3",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCD4": {
+ "name": "STCD4",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STCEG": {
+ "name": "STCEG",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMJAH": {
+ "name": "UMJAH",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UWAER": {
+ "name": "UWAER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VBUND": {
+ "name": "VBUND",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPDT_C": {
+ "name": "ZZAPPDT_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPTM_C": {
+ "name": "ZZAPPTM_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPUS_C": {
+ "name": "ZZAPPUS_C",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZBA": {
+ "name": "ZZBA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZBRSCH_C": {
+ "name": "ZZBRSCH_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZCRMCD": {
+ "name": "ZZCRMCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKAR_C": {
+ "name": "ZZDOKAR_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKNR_C": {
+ "name": "ZZDOKNR_C",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKTL_C": {
+ "name": "ZZDOKTL_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKVR_C": {
+ "name": "ZZDOKVR_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDUNS": {
+ "name": "ZZDUNS",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTBU": {
+ "name": "ZZFTBU",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTBUNM": {
+ "name": "ZZFTBUNM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTDT": {
+ "name": "ZZFTDT",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTDTNM": {
+ "name": "ZZFTDTNM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTGT": {
+ "name": "ZZFTGT",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFTGTNM": {
+ "name": "ZZFTGTNM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZINBFLGC": {
+ "name": "ZZINBFLGC",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT_C": {
+ "name": "ZZLAMDT_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM_C": {
+ "name": "ZZLAMTM_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS_C": {
+ "name": "ZZLAMUS_C",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZORT01_C": {
+ "name": "ZZORT01_C",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZORT02_C": {
+ "name": "ZZORT02_C",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREASON": {
+ "name": "ZZREASON",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT_C": {
+ "name": "ZZREGDT_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM_C": {
+ "name": "ZZREGTM_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS_C": {
+ "name": "ZZREGUS_C",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSTCDT_C": {
+ "name": "ZZSTCDT_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSTRAS_C": {
+ "name": "ZZSTRAS_C",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSUBSEQ_C": {
+ "name": "ZZSUBSEQ_C",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "AKONT": {
+ "name": "AKONT",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BUKRS": {
+ "name": "BUKRS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "FDGRV": {
+ "name": "FDGRV",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOEVM": {
+ "name": "LOEVM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPERR": {
+ "name": "SPERR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZAHLS": {
+ "name": "ZAHLS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZTERM": {
+ "name": "ZTERM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZUAWA": {
+ "name": "ZUAWA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZWELS": {
+ "name": "ZWELS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZCOMPANY",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "AUFSD": {
+ "name": "AUFSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AWAHR": {
+ "name": "AWAHR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BZIRK": {
+ "name": "BZIRK",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAKSD": {
+ "name": "FAKSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO1": {
+ "name": "INCO1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO2": {
+ "name": "INCO2",
+ "type": "varchar(28)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KALKS": {
+ "name": "KALKS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KDGRP": {
+ "name": "KDGRP",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KONDA": {
+ "name": "KONDA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KTGRD": {
+ "name": "KTGRD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KURST": {
+ "name": "KURST",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KZAZU": {
+ "name": "KZAZU",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LIFSD": {
+ "name": "LIFSD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOEVM": {
+ "name": "LOEVM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LPRIO": {
+ "name": "LPRIO",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLTYP": {
+ "name": "PLTYP",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPART": {
+ "name": "SPART",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VERSG": {
+ "name": "VERSG",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VKBUR": {
+ "name": "VKBUR",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VKGRP": {
+ "name": "VKGRP",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VKORG": {
+ "name": "VKORG",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VSBED": {
+ "name": "VSBED",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VTWEG": {
+ "name": "VTWEG",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VWERK": {
+ "name": "VWERK",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WAERS": {
+ "name": "WAERS",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZTERM": {
+ "name": "ZTERM",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEFPA": {
+ "name": "DEFPA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KUNN2": {
+ "name": "KUNN2",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PARVW": {
+ "name": "PARVW",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PARZA": {
+ "name": "PARZA",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZSALES_ZCPFN",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ALAND": {
+ "name": "ALAND",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TATYP": {
+ "name": "TATYP",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TAXKD": {
+ "name": "TAXKD",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZTAXIND",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LAND1": {
+ "name": "LAND1",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "STCEG": {
+ "name": "STCEG",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_CUSGEN_ZVATREG",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM",
+ "schema": "mdg",
+ "columns": {
+ "BP_HEADER": {
+ "name": "BP_HEADER",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "TAXNUM": {
+ "name": "TAXNUM",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAXTYPE": {
+ "name": "TAXTYPE",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk": {
+ "name": "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM_BP_HEADER_CUSTOMER_MASTER_BP_HEADER_BP_HEADER_fk",
+ "tableFrom": "CUSTOMER_MASTER_BP_HEADER_BP_TAXNUM",
+ "tableTo": "CUSTOMER_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "BP_HEADER"
+ ],
+ "columnsTo": [
+ "BP_HEADER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.DEPARTMENT_CODE_CMCTB_DEPT_MDG": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BICD": {
+ "name": "BICD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZAREA": {
+ "name": "BIZAREA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CCCD": {
+ "name": "CCCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COMPCD": {
+ "name": "COMPCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CORPCD": {
+ "name": "CORPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DEPTLVL": {
+ "name": "DEPTLVL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEPTPOSNO": {
+ "name": "DEPTPOSNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DHEMPID": {
+ "name": "DHEMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GNCD": {
+ "name": "GNCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PCCD": {
+ "name": "PCCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDEPTCD": {
+ "name": "PDEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALIDFROMDT": {
+ "name": "VALIDFROMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALIDTODT": {
+ "name": "VALIDTODT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_unique": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "DEPTCD"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM",
+ "schema": "mdg",
+ "columns": {
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "COMPNM": {
+ "name": "COMPNM",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk",
+ "tableFrom": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_COMPNM",
+ "tableTo": "DEPARTMENT_CODE_CMCTB_DEPT_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "DEPTCD"
+ ],
+ "columnsTo": [
+ "DEPTCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM",
+ "schema": "mdg",
+ "columns": {
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CORPNM": {
+ "name": "CORPNM",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk",
+ "tableFrom": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_CORPNM",
+ "tableTo": "DEPARTMENT_CODE_CMCTB_DEPT_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "DEPTCD"
+ ],
+ "columnsTo": [
+ "DEPTCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM",
+ "schema": "mdg",
+ "columns": {
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk": {
+ "name": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM_DEPTCD_DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTCD_fk",
+ "tableFrom": "DEPARTMENT_CODE_CMCTB_DEPT_MDG_DEPTNM",
+ "tableTo": "DEPARTMENT_CODE_CMCTB_DEPT_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "DEPTCD"
+ ],
+ "columnsTo": [
+ "DEPTCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADDRCNTRY": {
+ "name": "ADDRCNTRY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AEDAT": {
+ "name": "AEDAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AENAM": {
+ "name": "AENAM",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AEZET": {
+ "name": "AEZET",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BICD": {
+ "name": "BICD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZAREA": {
+ "name": "BIZAREA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BSCADDR": {
+ "name": "BSCADDR",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COMPCD": {
+ "name": "COMPCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CORPCD": {
+ "name": "CORPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COUNTRYCD": {
+ "name": "COUNTRYCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSFROMDT": {
+ "name": "CSFROMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTODT": {
+ "name": "CSTODT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CTIROLE": {
+ "name": "CTIROLE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL": {
+ "name": "DEL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEPENDDT": {
+ "name": "DEPENDDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEPTCD": {
+ "name": "DEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DHJOBGRDCD": {
+ "name": "DHJOBGRDCD",
+ "type": "varchar(29)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DHNAME": {
+ "name": "DHNAME",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DHSINGLID": {
+ "name": "DHSINGLID",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DISPATCH": {
+ "name": "DISPATCH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DPSTARTDT": {
+ "name": "DPSTARTDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DTLADDR": {
+ "name": "DTLADDR",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DTLADDR2": {
+ "name": "DTLADDR2",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EMAIL": {
+ "name": "EMAIL",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EMPADR": {
+ "name": "EMPADR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "EMPTYPE": {
+ "name": "EMPTYPE",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ENGNAME": {
+ "name": "ENGNAME",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EPID": {
+ "name": "EPID",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ERDAT": {
+ "name": "ERDAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ERNAM": {
+ "name": "ERNAM",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ERZET": {
+ "name": "ERZET",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FORIGNFLG": {
+ "name": "FORIGNFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GJOBCD": {
+ "name": "GJOBCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GJOBDUTYCD": {
+ "name": "GJOBDUTYCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GJOBGRDCD": {
+ "name": "GJOBGRDCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GNCD": {
+ "name": "GNCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HRMANAGE": {
+ "name": "HRMANAGE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IDNO": {
+ "name": "IDNO",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBCD": {
+ "name": "JOBCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBCLASS": {
+ "name": "JOBCLASS",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBDUTYCD": {
+ "name": "JOBDUTYCD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBGRDCD": {
+ "name": "JOBGRDCD",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KTL_EMP": {
+ "name": "KTL_EMP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LVABSENCE": {
+ "name": "LVABSENCE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MBPHONE": {
+ "name": "MBPHONE",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME": {
+ "name": "NAME",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OKTL_EMPL": {
+ "name": "OKTL_EMPL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGBICD": {
+ "name": "ORGBICD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGCOMPCD": {
+ "name": "ORGCOMPCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGCORPCD": {
+ "name": "ORGCORPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGDEPTCD": {
+ "name": "ORGDEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORGPDEPCD": {
+ "name": "ORGPDEPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PAYPLC": {
+ "name": "PAYPLC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDEPTCD": {
+ "name": "PDEPTCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSTLCODE": {
+ "name": "PSTLCODE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RETIRE": {
+ "name": "RETIRE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SEX": {
+ "name": "SEX",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SINGLEID": {
+ "name": "SINGLEID",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SINGLRQ": {
+ "name": "SINGLRQ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SOCIALID": {
+ "name": "SOCIALID",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SOCIALID_DECR": {
+ "name": "SOCIALID_DECR",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SOJRNEMP": {
+ "name": "SOJRNEMP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELNUM": {
+ "name": "TELNUM",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TMPJDIV": {
+ "name": "TMPJDIV",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USEDSYS": {
+ "name": "USEDSYS",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALFROMDT": {
+ "name": "VALFROMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALTODT": {
+ "name": "VALTODT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WFREQUIRE": {
+ "name": "WFREQUIRE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WORKPLC": {
+ "name": "WORKPLC",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZPRFLG": {
+ "name": "ZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZBUKRS": {
+ "name": "ZZBUKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_unique": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "EMPID"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GTEXT": {
+ "name": "GTEXT",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BANM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BINM": {
+ "name": "BINM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_BINM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "COMPNM": {
+ "name": "COMPNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COMPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CORPNM": {
+ "name": "CORPNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_CORPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "COUNTRYNM": {
+ "name": "COUNTRYNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_COUNTRYNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "PCCD": {
+ "name": "PCCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "KTEXT": {
+ "name": "KTEXT",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTEXT": {
+ "name": "LTEXT",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTCODE_PCCDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DEPTNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "JOBGRDNM": {
+ "name": "JOBGRDNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_DHJOBGDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GJOBDUTYNM": {
+ "name": "GJOBDUTYNM",
+ "type": "varchar(21)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBDUTYNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GJOBGRDNM": {
+ "name": "GJOBGRDNM",
+ "type": "varchar(21)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ISEXECUT": {
+ "name": "ISEXECUT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBGRDTYPE": {
+ "name": "JOBGRDTYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBGRDTYPE",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GJOBNM": {
+ "name": "GJOBNM",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GJOBNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GNNM": {
+ "name": "GNNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_GNNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "JOBDUTYNM": {
+ "name": "JOBDUTYNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBDUTYNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ISEXECUT": {
+ "name": "ISEXECUT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBGRDNM": {
+ "name": "JOBGRDNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JOBGRDTYPE": {
+ "name": "JOBGRDTYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBGRDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "JOBNM": {
+ "name": "JOBNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_JOBNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LTEXT": {
+ "name": "LTEXT",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_KTLNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LTEXT": {
+ "name": "LTEXT",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_OKTLNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BINM": {
+ "name": "BINM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGBICDNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "COMPNM": {
+ "name": "COMPNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCOMPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CORPNM": {
+ "name": "CORPNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGCORPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGDEPTNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_ORGPDEPNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM",
+ "schema": "mdg",
+ "columns": {
+ "EMPID": {
+ "name": "EMPID",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DEPTNM": {
+ "name": "DEPTNM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk": {
+ "name": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM_EMPID_EMPLOYEE_MASTER_CMCTB_EMP_MDG_EMPID_fk",
+ "tableFrom": "EMPLOYEE_MASTER_CMCTB_EMP_MDG_PDEPTNM",
+ "tableTo": "EMPLOYEE_MASTER_CMCTB_EMP_MDG",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "EMPID"
+ ],
+ "columnsTo": [
+ "EMPID"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF": {
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADTL_01": {
+ "name": "ADTL_01",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADTL_02": {
+ "name": "ADTL_02",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CORPCD": {
+ "name": "CORPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "GRPCD": {
+ "name": "GRPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MAINCD": {
+ "name": "MAINCD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VALIDFROMDT": {
+ "name": "VALIDFROMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VALIDTODT": {
+ "name": "VALIDTODT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_GRPCD_unique": {
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_GRPCD_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "GRPCD"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME": {
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME",
+ "schema": "mdg",
+ "columns": {
+ "GRPCD": {
+ "name": "GRPCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "NAME": {
+ "name": "NAME",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME_GRPCD_EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_GRPCD_fk": {
+ "name": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME_GRPCD_EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_GRPCD_fk",
+ "tableFrom": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF_NAME",
+ "tableTo": "EMPLOYEE_REFERENCE_MASTER_CMCTB_EMP_REF_MDG_IF",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "GRPCD"
+ ],
+ "columnsTo": [
+ "GRPCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL": {
+ "name": "EQUP_MASTER_MATL",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BISMT": {
+ "name": "BISMT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GROES": {
+ "name": "GROES",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAGRV": {
+ "name": "MAGRV",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATKL": {
+ "name": "MATKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MBRSH": {
+ "name": "MBRSH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINS": {
+ "name": "MEINS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTAE": {
+ "name": "MSTAE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTDE": {
+ "name": "MSTDE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MTART": {
+ "name": "MTART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTGEW": {
+ "name": "NTGEW",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRDHA": {
+ "name": "PRDHA",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPART": {
+ "name": "SPART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VHART": {
+ "name": "VHART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPDT": {
+ "name": "ZZAPPDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPTM": {
+ "name": "ZZAPPTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPUS": {
+ "name": "ZZAPPUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDESC": {
+ "name": "ZZDESC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME": {
+ "name": "ZZNAME",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSPEC": {
+ "name": "ZZSPEC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "EQUP_MASTER_MATL_MATNR_unique": {
+ "name": "EQUP_MASTER_MATL_MATNR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "MATNR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_CHARASGN": {
+ "name": "EQUP_MASTER_MATL_CHARASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_CHARASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ATAW1": {
+ "name": "ATAW1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATAWE": {
+ "name": "ATAWE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATBEZ": {
+ "name": "ATBEZ",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLB": {
+ "name": "ATFLB",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLV": {
+ "name": "ATFLV",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATNAM": {
+ "name": "ATNAM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWRT": {
+ "name": "ATWRT",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWTB": {
+ "name": "ATWTB",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_CHARASGN_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_CHARASGN_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_CHARASGN",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_CLASSASGN": {
+ "name": "EQUP_MASTER_MATL_CLASSASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_CLASSASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_CLASSASGN_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_CLASSASGN_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_CLASSASGN",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_DESC": {
+ "name": "EQUP_MASTER_MATL_DESC",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_DESC_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "MAKTX": {
+ "name": "MAKTX",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_DESC_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_DESC_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_DESC",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_PLNT": {
+ "name": "EQUP_MASTER_MATL_PLNT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_PLNT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTA": {
+ "name": "MMSTA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTD": {
+ "name": "MMSTD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMTARP": {
+ "name": "ZZMTARP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_PLNT_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_PLNT_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_PLNT",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.EQUP_MASTER_MATL_UNIT": {
+ "name": "EQUP_MASTER_MATL_UNIT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "EQUP_MASTER_MATL_UNIT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINH": {
+ "name": "MEINH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREN": {
+ "name": "UMREN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREZ": {
+ "name": "UMREZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "EQUP_MASTER_MATL_UNIT_MATNR_EQUP_MASTER_MATL_MATNR_fk": {
+ "name": "EQUP_MASTER_MATL_UNIT_MATNR_EQUP_MASTER_MATL_MATNR_fk",
+ "tableFrom": "EQUP_MASTER_MATL_UNIT",
+ "tableTo": "EQUP_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL": {
+ "name": "MATERIAL_MASTER_PART_MATL",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BISMT": {
+ "name": "BISMT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GROES": {
+ "name": "GROES",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAGRV": {
+ "name": "MAGRV",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATKL": {
+ "name": "MATKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MBRSH": {
+ "name": "MBRSH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINS": {
+ "name": "MEINS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTAE": {
+ "name": "MSTAE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTDE": {
+ "name": "MSTDE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MTART": {
+ "name": "MTART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTGEW": {
+ "name": "NTGEW",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRDHA": {
+ "name": "PRDHA",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPART": {
+ "name": "SPART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VHART": {
+ "name": "VHART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZACT": {
+ "name": "ZZACT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPDT": {
+ "name": "ZZAPPDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPTM": {
+ "name": "ZZAPPTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPUS": {
+ "name": "ZZAPPUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZCERT": {
+ "name": "ZZCERT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDESC": {
+ "name": "ZZDESC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZINSP": {
+ "name": "ZZINSP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMMTYP": {
+ "name": "ZZMMTYP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMRC": {
+ "name": "ZZMRC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME": {
+ "name": "ZZNAME",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPJT": {
+ "name": "ZZPJT",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPLMID": {
+ "name": "ZZPLMID",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRCD_SCV_CTLP": {
+ "name": "ZZPRCD_SCV_CTLP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREPMAT": {
+ "name": "ZZREPMAT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREP_DIA": {
+ "name": "ZZREP_DIA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREP_DIA_UOM": {
+ "name": "ZZREP_DIA_UOM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREP_ITM_MATL": {
+ "name": "ZZREP_ITM_MATL",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSMID": {
+ "name": "ZZSMID",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSPEC": {
+ "name": "ZZSPEC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSTL": {
+ "name": "ZZSTL",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "MATERIAL_MASTER_PART_MATL_MATNR_unique": {
+ "name": "MATERIAL_MASTER_PART_MATL_MATNR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "MATNR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_CHARASGN": {
+ "name": "MATERIAL_MASTER_PART_MATL_CHARASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_CHARASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ATAW1": {
+ "name": "ATAW1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATAWE": {
+ "name": "ATAWE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATBEZ": {
+ "name": "ATBEZ",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLB": {
+ "name": "ATFLB",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLV": {
+ "name": "ATFLV",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATNAM": {
+ "name": "ATNAM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ATWRT": {
+ "name": "ATWRT",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWTB": {
+ "name": "ATWTB",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_CHARASGN_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_CHARASGN_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_CHARASGN",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_CLASSASGN": {
+ "name": "MATERIAL_MASTER_PART_MATL_CLASSASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_CLASSASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_CLASSASGN_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_CLASSASGN_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_CLASSASGN",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_DESC": {
+ "name": "MATERIAL_MASTER_PART_MATL_DESC",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_DESC_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "MAKTX": {
+ "name": "MAKTX",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_DESC_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_DESC_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_DESC",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_PLNT": {
+ "name": "MATERIAL_MASTER_PART_MATL_PLNT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_PLNT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTA": {
+ "name": "MMSTA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTD": {
+ "name": "MMSTD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMTARP": {
+ "name": "ZZMTARP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_PLNT_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_PLNT_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_PLNT",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_MATL_UNIT": {
+ "name": "MATERIAL_MASTER_PART_MATL_UNIT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_MATL_UNIT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BREIT": {
+ "name": "BREIT",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOEHE": {
+ "name": "HOEHE",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LAENG": {
+ "name": "LAENG",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINH": {
+ "name": "MEINH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "UMREN": {
+ "name": "UMREN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREZ": {
+ "name": "UMREZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLUM": {
+ "name": "VOLUM",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MATERIAL_MASTER_PART_MATL_UNIT_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk": {
+ "name": "MATERIAL_MASTER_PART_MATL_UNIT_MATNR_MATERIAL_MASTER_PART_MATL_MATNR_fk",
+ "tableFrom": "MATERIAL_MASTER_PART_MATL_UNIT",
+ "tableTo": "MATERIAL_MASTER_PART_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE": {
+ "name": "MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_CD": {
+ "name": "MAT_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MAT_ID": {
+ "name": "MAT_ID",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE_MAT_CD_unique": {
+ "name": "MATERIAL_MASTER_PART_RETURN_CMCTB_MAT_BSE_MAT_CD_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "MAT_CD"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL": {
+ "name": "MODEL_MASTER_MATL",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BISMT": {
+ "name": "BISMT",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GROES": {
+ "name": "GROES",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAGRV": {
+ "name": "MAGRV",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATKL": {
+ "name": "MATKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MBRSH": {
+ "name": "MBRSH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINS": {
+ "name": "MEINS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTAE": {
+ "name": "MSTAE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSTDE": {
+ "name": "MSTDE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MTART": {
+ "name": "MTART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTGEW": {
+ "name": "NTGEW",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRDHA": {
+ "name": "PRDHA",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPART": {
+ "name": "SPART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VHART": {
+ "name": "VHART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPDT": {
+ "name": "ZZAPPDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPTM": {
+ "name": "ZZAPPTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZAPPUS": {
+ "name": "ZZAPPUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDESC": {
+ "name": "ZZDESC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKAR": {
+ "name": "ZZDOKAR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKNR": {
+ "name": "ZZDOKNR",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKTL": {
+ "name": "ZZDOKTL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDOKVR": {
+ "name": "ZZDOKVR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMMTYP": {
+ "name": "ZZMMTYP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME": {
+ "name": "ZZNAME",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSPEC": {
+ "name": "ZZSPEC",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "MODEL_MASTER_MATL_MATNR_unique": {
+ "name": "MODEL_MASTER_MATL_MATNR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "MATNR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_CHARASGN": {
+ "name": "MODEL_MASTER_MATL_CHARASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_CHARASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ATAW1": {
+ "name": "ATAW1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATAWE": {
+ "name": "ATAWE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATBEZ": {
+ "name": "ATBEZ",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLB": {
+ "name": "ATFLB",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATFLV": {
+ "name": "ATFLV",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATNAM": {
+ "name": "ATNAM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWRT": {
+ "name": "ATWRT",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATWTB": {
+ "name": "ATWTB",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_CHARASGN_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_CHARASGN_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_CHARASGN",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_CLASSASGN": {
+ "name": "MODEL_MASTER_MATL_CLASSASGN",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_CLASSASGN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CLASS": {
+ "name": "CLASS",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KLART": {
+ "name": "KLART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_CLASSASGN_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_CLASSASGN_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_CLASSASGN",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_DESC": {
+ "name": "MODEL_MASTER_MATL_DESC",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_DESC_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "MAKTX": {
+ "name": "MAKTX",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_DESC_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_DESC_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_DESC",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_PLNT": {
+ "name": "MODEL_MASTER_MATL_PLNT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_PLNT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LVORM": {
+ "name": "LVORM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTA": {
+ "name": "MMSTA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMSTD": {
+ "name": "MMSTD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMDT": {
+ "name": "ZZLAMDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMTM": {
+ "name": "ZZLAMTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAMUS": {
+ "name": "ZZLAMUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZMTARP": {
+ "name": "ZZMTARP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZPRFLG": {
+ "name": "ZZPRFLG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGDT": {
+ "name": "ZZREGDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGTM": {
+ "name": "ZZREGTM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZREGUS": {
+ "name": "ZZREGUS",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_PLNT_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_PLNT_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_PLNT",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.MODEL_MASTER_MATL_UNIT": {
+ "name": "MODEL_MASTER_MATL_UNIT",
+ "schema": "mdg",
+ "columns": {
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "MODEL_MASTER_MATL_UNIT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BREIT": {
+ "name": "BREIT",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOEHE": {
+ "name": "HOEHE",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LAENG": {
+ "name": "LAENG",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEABM": {
+ "name": "MEABM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINH": {
+ "name": "MEINH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREN": {
+ "name": "UMREN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UMREZ": {
+ "name": "UMREZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLEH": {
+ "name": "VOLEH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VOLUM": {
+ "name": "VOLUM",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "MODEL_MASTER_MATL_UNIT_MATNR_MODEL_MASTER_MATL_MATNR_fk": {
+ "name": "MODEL_MASTER_MATL_UNIT_MATNR_MODEL_MASTER_MATL_MATNR_fk",
+ "tableFrom": "MODEL_MASTER_MATL_UNIT",
+ "tableTo": "MODEL_MASTER_MATL",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "MATNR"
+ ],
+ "columnsTo": [
+ "MATNR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_CCTR": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ABTEI": {
+ "name": "ABTEI",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ANRED": {
+ "name": "ANRED",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BKZER": {
+ "name": "BKZER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BKZKP": {
+ "name": "BKZKP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BKZKS": {
+ "name": "BKZKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BKZOB": {
+ "name": "BKZOB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BUKRS": {
+ "name": "BUKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CCTR": {
+ "name": "CCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DATAB": {
+ "name": "DATAB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATBI": {
+ "name": "DATBI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DATLT": {
+ "name": "DATLT",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DRNAM": {
+ "name": "DRNAM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FUNC_AREA": {
+ "name": "FUNC_AREA",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GSBER": {
+ "name": "GSBER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KHINR": {
+ "name": "KHINR",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KOKRS": {
+ "name": "KOKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "KOSAR": {
+ "name": "KOSAR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LAND1": {
+ "name": "LAND1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MGEFL": {
+ "name": "MGEFL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME1": {
+ "name": "NAME1",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME2": {
+ "name": "NAME2",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME3": {
+ "name": "NAME3",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NAME4": {
+ "name": "NAME4",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORT01": {
+ "name": "ORT01",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORT02": {
+ "name": "ORT02",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PFACH": {
+ "name": "PFACH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PKZER": {
+ "name": "PKZER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PKZKP": {
+ "name": "PKZKP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PKZKS": {
+ "name": "PKZKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCTR": {
+ "name": "PRCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSTL2": {
+ "name": "PSTL2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSTLZ": {
+ "name": "PSTLZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGIO": {
+ "name": "REGIO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRAS": {
+ "name": "SPRAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STRAS": {
+ "name": "STRAS",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELBX": {
+ "name": "TELBX",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELF1": {
+ "name": "TELF1",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELF2": {
+ "name": "TELF2",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELFX": {
+ "name": "TELFX",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELTX": {
+ "name": "TELTX",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELX1": {
+ "name": "TELX1",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TXJCD": {
+ "name": "TXJCD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VERAK": {
+ "name": "VERAK",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VERAK_USE": {
+ "name": "VERAK_USE",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VMETH": {
+ "name": "VMETH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WAERS": {
+ "name": "WAERS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZBRANCH": {
+ "name": "ZZBRANCH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFCTRI": {
+ "name": "ZZFCTRI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSECCODE": {
+ "name": "ZZSECCODE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSEGMENT": {
+ "name": "ZZSEGMENT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_CCTR_CCTR_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_CCTR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "CCTR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT",
+ "schema": "mdg",
+ "columns": {
+ "CCTR": {
+ "name": "CCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "KTEXT": {
+ "name": "KTEXT",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTEXT": {
+ "name": "LTEXT",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_CCTR_ORGANIZATION_MASTER_HRHMTB_CCTR_CCTR_fk": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_CCTR_ORGANIZATION_MASTER_HRHMTB_CCTR_CCTR_fk",
+ "tableFrom": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT",
+ "tableTo": "ORGANIZATION_MASTER_HRHMTB_CCTR",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "CCTR"
+ ],
+ "columnsTo": [
+ "CCTR"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_CCTR_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_CCTR_TEXT_CCTR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "CCTR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_PCTR": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_PCTR",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_PCTR_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ABTEI": {
+ "name": "ABTEI",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATAB": {
+ "name": "DATAB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATBI": {
+ "name": "DATBI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "KHINR": {
+ "name": "KHINR",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KOKRS": {
+ "name": "KOKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "LOCK_IND": {
+ "name": "LOCK_IND",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PCTR": {
+ "name": "PCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SEGMENT": {
+ "name": "SEGMENT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TXJCD": {
+ "name": "TXJCD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VERAK": {
+ "name": "VERAK",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VERAK_USE": {
+ "name": "VERAK_USE",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_PCTR_PCTR_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_PCTR_PCTR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "PCTR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZBUKRS": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZBUKRS",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZBUKRS_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CURR_BUKR": {
+ "name": "CURR_BUKR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZBUKRS": {
+ "name": "ZBUKRS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZBUTXT": {
+ "name": "ZZBUTXT",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZCITY": {
+ "name": "ZZCITY",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZCOUNTRY": {
+ "name": "ZZCOUNTRY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLANGU": {
+ "name": "ZZLANGU",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZBUKRS_ZBUKRS_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZBUKRS_ZBUKRS_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZBUKRS"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZEKGRP": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKGRP",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKGRP_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZEKGRP": {
+ "name": "ZEKGRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZEKNAM": {
+ "name": "ZZEKNAM",
+ "type": "varchar(36)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZEKTEL": {
+ "name": "ZZEKTEL",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZEMPNUM": {
+ "name": "ZZEMPNUM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZSINGLE": {
+ "name": "ZZSINGLE",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZTELFX": {
+ "name": "ZZTELFX",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZTEL_NUM": {
+ "name": "ZZTEL_NUM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZEKGRP_ZEKGRP_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKGRP_ZEKGRP_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZEKGRP"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZEKORG": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKORG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKORG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZEKORG": {
+ "name": "ZEKORG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZEKOTX": {
+ "name": "ZZEKOTX",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZEKORG_ZEKORG_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZEKORG_ZEKORG_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZEKORG"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZGSBER": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZGSBER": {
+ "name": "ZGSBER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZGSBER_ZGSBER_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_ZGSBER_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZGSBER"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT",
+ "schema": "mdg",
+ "columns": {
+ "ZGSBER": {
+ "name": "ZGSBER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "LANGU": {
+ "name": "LANGU",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TXTMI": {
+ "name": "TXTMI",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_ZGSBER_ORGANIZATION_MASTER_HRHMTB_ZGSBER_ZGSBER_fk": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_ZGSBER_ORGANIZATION_MASTER_HRHMTB_ZGSBER_ZGSBER_fk",
+ "tableFrom": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT",
+ "tableTo": "ORGANIZATION_MASTER_HRHMTB_ZGSBER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "ZGSBER"
+ ],
+ "columnsTo": [
+ "ZGSBER"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_ZGSBER_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZGSBER_TEXT_ZGSBER_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZGSBER"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZLGORT": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZLGORT",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZLGORT_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZLGORT": {
+ "name": "ZLGORT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZWERKS": {
+ "name": "ZWERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLGOBE": {
+ "name": "ZZLGOBE",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZLGORT_ZLGORT_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZLGORT_ZLGORT_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZLGORT"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZSPART": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZSPART",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZSPART_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZSPART": {
+ "name": "ZSPART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZSPART_ZSPART_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZSPART_ZSPART_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZSPART"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVKBUR": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKBUR",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKBUR_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CTRY_SOFF": {
+ "name": "CTRY_SOFF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_SOFF": {
+ "name": "LANG_SOFF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZVKBUR": {
+ "name": "ZVKBUR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVKBUR_ZVKBUR_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKBUR_ZVKBUR_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVKBUR"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVKGRP": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKGRP",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKGRP_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZVKGRP": {
+ "name": "ZVKGRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVKGRP_ZVKGRP_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKGRP_ZVKGRP_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVKGRP"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVKORG": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKORG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKORG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZVKORG": {
+ "name": "ZVKORG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZBOAVO": {
+ "name": "ZZBOAVO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZKUNNR": {
+ "name": "ZZKUNNR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZVKOKL": {
+ "name": "ZZVKOKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZWAERS": {
+ "name": "ZZWAERS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVKORG_ZVKORG_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVKORG_ZVKORG_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVKORG"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVSTEL": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVSTEL",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVSTEL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ALAN_VSTE": {
+ "name": "ALAN_VSTE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AZON_VSTE": {
+ "name": "AZON_VSTE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CTRY_SHPT": {
+ "name": "CTRY_SHPT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_SHPT": {
+ "name": "LANG_SHPT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZVSTEL": {
+ "name": "ZVSTEL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFABKL": {
+ "name": "ZZFABKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZLAZBS": {
+ "name": "ZZLAZBS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZRIZBS": {
+ "name": "ZZRIZBS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVSTEL_ZVSTEL_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVSTEL_ZVSTEL_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVSTEL"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZVTWEG": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVTWEG",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVTWEG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ZVTWEG": {
+ "name": "ZVTWEG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZVTWEG_ZVTWEG_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZVTWEG_ZVTWEG_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZVTWEG"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.ORGANIZATION_MASTER_HRHMTB_ZWERKS": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZWERKS",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZWERKS_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "CTRY_PLNT": {
+ "name": "CTRY_PLNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_PLNT": {
+ "name": "LANG_PLNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZWERKS": {
+ "name": "ZWERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZZDELETE": {
+ "name": "ZZDELETE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZFABKL": {
+ "name": "ZZFABKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME1": {
+ "name": "ZZNAME1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZZNAME2": {
+ "name": "ZZNAME2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "ORGANIZATION_MASTER_HRHMTB_ZWERKS_ZWERKS_unique": {
+ "name": "ORGANIZATION_MASTER_HRHMTB_ZWERKS_ZWERKS_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "ZWERKS"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.PROJECT_MASTER_CMCTB_PROJ_MAST": {
+ "name": "PROJECT_MASTER_CMCTB_PROJ_MAST",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "PROJECT_MASTER_CMCTB_PROJ_MAST_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "AS_GRNT_PRD": {
+ "name": "AS_GRNT_PRD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCLS": {
+ "name": "BIZCLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZLOC_CD": {
+ "name": "BIZLOC_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_DMN": {
+ "name": "BIZ_DMN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BP_DL_DT": {
+ "name": "BP_DL_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHN_PROJ_TP": {
+ "name": "CHN_PROJ_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_1": {
+ "name": "CLS_1",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_2": {
+ "name": "CLS_2",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_CNTN_YN": {
+ "name": "CNRT_CNTN_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_DL_DT": {
+ "name": "CNRT_DL_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_DT": {
+ "name": "CNRT_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_RESV_YN": {
+ "name": "CNRT_RESV_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_PO_NO": {
+ "name": "CSTM_PO_NO",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DIGT_PDT_GRP": {
+ "name": "DIGT_PDT_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DIST_PATH": {
+ "name": "DIST_PATH",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_BF_PROJ_NM": {
+ "name": "DL_BF_PROJ_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_CSTM_CD": {
+ "name": "DL_CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOCK_CD": {
+ "name": "DOCK_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSN_CHRGR": {
+ "name": "DSN_CHRGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_GRNT_FN_DT": {
+ "name": "FIN_GRNT_FN_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GENT_CNT": {
+ "name": "GENT_CNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GOV": {
+ "name": "GOV",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRNT_STDT": {
+ "name": "GRNT_STDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IMO_NO": {
+ "name": "IMO_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INQY_NO": {
+ "name": "INQY_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INQY_SEQ": {
+ "name": "INQY_SEQ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IO_GB": {
+ "name": "IO_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MNG_ACOT_DMN": {
+ "name": "MNG_ACOT_DMN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MN_ENGN_TP_CD": {
+ "name": "MN_ENGN_TP_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MSHIP_NO": {
+ "name": "MSHIP_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NEW_MC_YN": {
+ "name": "NEW_MC_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTTP": {
+ "name": "NTTP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORDR_GRNT_FN_DT": {
+ "name": "ORDR_GRNT_FN_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORDR_GRNT_PRD": {
+ "name": "ORDR_GRNT_PRD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_1": {
+ "name": "OWN_1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_AB": {
+ "name": "OWN_AB",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_NM": {
+ "name": "OWN_NM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDT_LVL_4": {
+ "name": "PDT_LVL_4",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLNT_CD": {
+ "name": "PLNT_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCTR": {
+ "name": "PRCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRGS_STAT": {
+ "name": "PRGS_STAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_CRTE_REQ_DT": {
+ "name": "PROJ_CRTE_REQ_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_CRTE_REQ_EMPNO": {
+ "name": "PROJ_CRTE_REQ_EMPNO",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DL_PLN_DT": {
+ "name": "PROJ_DL_PLN_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DL_RT_DT": {
+ "name": "PROJ_DL_RT_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DSC": {
+ "name": "PROJ_DSC",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DTL_TP": {
+ "name": "PROJ_DTL_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_ETC_TP": {
+ "name": "PROJ_ETC_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_GB": {
+ "name": "PROJ_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PROJ_PRGS_YN": {
+ "name": "PROJ_PRGS_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_PROF": {
+ "name": "PROJ_PROF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_SCP": {
+ "name": "PROJ_SCP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_WBS_TP": {
+ "name": "PROJ_WBS_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRO_PROJ_NO": {
+ "name": "PRO_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QM_CLS": {
+ "name": "QM_CLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REF_NO": {
+ "name": "REF_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RLTD_PROJ": {
+ "name": "RLTD_PROJ",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RL_DL_DT": {
+ "name": "RL_DL_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_GRP": {
+ "name": "SALE_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_ORG_CD": {
+ "name": "SALE_ORG_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SA_DT": {
+ "name": "SA_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_NO": {
+ "name": "SERS_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_YN": {
+ "name": "SERS_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE": {
+ "name": "SHTYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_CD": {
+ "name": "SHTYPE_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_GRP": {
+ "name": "SHTYPE_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_UOM": {
+ "name": "SHTYPE_UOM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SKND": {
+ "name": "SKND",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRC_SYS_ID": {
+ "name": "SRC_SYS_ID",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STDT": {
+ "name": "STDT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SYS_ACOT_CLSD_DT": {
+ "name": "SYS_ACOT_CLSD_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TOT_CNRT_CNT": {
+ "name": "TOT_CNRT_CNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TYPE": {
+ "name": "TYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WP_PROJ_TP": {
+ "name": "WP_PROJ_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "PROJECT_MASTER_CMCTB_PROJ_MAST_PROJ_NO_unique": {
+ "name": "PROJECT_MASTER_CMCTB_PROJ_MAST_PROJ_NO_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "PROJ_NO"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER": {
+ "name": "VENDOR_MASTER_BP_HEADER",
+ "schema": "mdg",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {
+ "VENDOR_MASTER_BP_HEADER_VNDRCD_unique": {
+ "name": "VENDOR_MASTER_BP_HEADER_VNDRCD_unique",
+ "nullsNotDistinct": false,
+ "columns": [
+ "VNDRCD"
+ ]
+ }
+ },
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADDRNO": {
+ "name": "ADDRNO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "EMAIL_ADR": {
+ "name": "EMAIL_ADR",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_EMAIL",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "FAXNO": {
+ "name": "FAXNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAX_ETS_NO": {
+ "name": "FAX_ETS_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_FAX",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(190)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_TMZ": {
+ "name": "ADR_TMZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CITY_ZIP_NO": {
+ "name": "CITY_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_1": {
+ "name": "ETC_ADR_1",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_2": {
+ "name": "ETC_ADR_2",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INTL_ADR_VER_ID": {
+ "name": "INTL_ADR_VER_ID",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX": {
+ "name": "POBX",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX_ZIP_NO": {
+ "name": "POBX_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGN_CD": {
+ "name": "REGN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAX_JRDT_ZONE_CD": {
+ "name": "TAX_JRDT_ZONE_CD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRANS_ZONE": {
+ "name": "TRANS_ZONE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_2": {
+ "name": "VNDRNM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_3": {
+ "name": "VNDRNM_3",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_4": {
+ "name": "VNDRNM_4",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_1": {
+ "name": "VNDRNM_ABRV_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_2": {
+ "name": "VNDRNM_ABRV_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_POSTAL",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ETX_NO": {
+ "name": "ETX_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HP_ORDR": {
+ "name": "HP_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TELNO": {
+ "name": "TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_TEL",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "URL": {
+ "name": "URL",
+ "type": "varchar(2000)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_ADDRESS_AD_URL",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_TAXNUM": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_TAXNUM",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_TAXNUM_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BIZ_PTNR_TX_NO": {
+ "name": "BIZ_PTNR_TX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_CTG": {
+ "name": "TX_NO_CTG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_TAXNUM_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_TAXNUM_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_TAXNUM",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ACNT_GRP": {
+ "name": "ACNT_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACNT_GRP_TP": {
+ "name": "ACNT_GRP_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_DT": {
+ "name": "AGR_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_R_ID": {
+ "name": "AGR_R_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_TM": {
+ "name": "AGR_TM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCON": {
+ "name": "BIZCON",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZR_NO": {
+ "name": "BIZR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZTP": {
+ "name": "BIZTP",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_UOM_CD": {
+ "name": "BIZ_UOM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_UOM_NM": {
+ "name": "BIZ_UOM_NM",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR_ID": {
+ "name": "CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_ID": {
+ "name": "CO_ID",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_REG_NO": {
+ "name": "CO_REG_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_VLM": {
+ "name": "CO_VLM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_HOLD_ORDR": {
+ "name": "DEL_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DMST_TOP_CD": {
+ "name": "DMST_TOP_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DMST_TOP_NM": {
+ "name": "DMST_TOP_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DNS_NO": {
+ "name": "DNS_NO",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_NO": {
+ "name": "DOC_NO",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_TP": {
+ "name": "DOC_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_VER": {
+ "name": "DOC_VER",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIR_NM": {
+ "name": "FIR_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GBL_TOP_CD": {
+ "name": "GBL_TOP_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GBL_TOP_NM": {
+ "name": "GBL_TOP_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GIRO_VNDR_ORDR": {
+ "name": "GIRO_VNDR_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_CAUS": {
+ "name": "HOLD_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INB_FLAG": {
+ "name": "INB_FLAG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INTL_LCTN_CHK_NUM": {
+ "name": "INTL_LCTN_CHK_NUM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_CAUS_CD": {
+ "name": "OVLAP_CAUS_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTNT_VNDRCD": {
+ "name": "PTNT_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTN_DOC": {
+ "name": "PTN_DOC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_DT": {
+ "name": "PUR_HOLD_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_ORDR": {
+ "name": "PUR_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_EMAIL": {
+ "name": "QLT_CHRGR_EMAIL",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_NM": {
+ "name": "QLT_CHRGR_NM",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_TELNO": {
+ "name": "QLT_CHRGR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGR_ID": {
+ "name": "REGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DT": {
+ "name": "REG_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_TM": {
+ "name": "REG_TM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_NM": {
+ "name": "REPR_NM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_RESNO": {
+ "name": "REPR_RESNO",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_TEL_NO": {
+ "name": "REP_TEL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SB_WKA_SEQ": {
+ "name": "SB_WKA_SEQ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCETX_RP_SEX_KEY": {
+ "name": "SRCETX_RP_SEX_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_CD_4": {
+ "name": "TX_CD_4",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VAT_REG_NO": {
+ "name": "VAT_REG_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNO": {
+ "name": "VNDRNO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ACOT_CHRGR_FAXNO": {
+ "name": "ACOT_CHRGR_FAXNO",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACOT_CHRGR_TELNO": {
+ "name": "ACOT_CHRGR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AUTH_GRP": {
+ "name": "AUTH_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BF_VNDRCD": {
+ "name": "BF_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CSTM_VNDR_CLR_ORDR": {
+ "name": "CSTM_VNDR_CLR_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CTL_ACNT": {
+ "name": "CTL_ACNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_IR_ACT_DT": {
+ "name": "FIN_IR_ACT_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_IR_CALC_DT": {
+ "name": "FIN_IR_CALC_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IATA_BIC_GB": {
+ "name": "IATA_BIC_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOGST_VNDR_TP": {
+ "name": "LOGST_VNDR_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEMO": {
+ "name": "MEMO",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MIN_ORDR": {
+ "name": "MIN_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MK_CHRGR_EMAIL": {
+ "name": "MK_CHRGR_EMAIL",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MOFFC_ACNT_NO": {
+ "name": "MOFFC_ACNT_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_INVC_ORDR": {
+ "name": "OVLAP_INVC_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLN_GRP": {
+ "name": "PLN_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_TP": {
+ "name": "REP_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_HOLD_ORDR": {
+ "name": "SPLY_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_MTHD": {
+ "name": "SPLY_MTHD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRT_SPLY_ORDR": {
+ "name": "SPRT_SPLY_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_CD": {
+ "name": "SRCE_TX_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_NTN_CD": {
+ "name": "SRCE_TX_NTN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRT_KEY": {
+ "name": "SRT_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRD_BANK_SHRT_KEY": {
+ "name": "TRD_BANK_SHRT_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_ACNT_NO": {
+ "name": "VNDR_ACNT_NO",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_CHRGR_NM": {
+ "name": "VNDR_CHRGR_NM",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "DCHAG_CAUS": {
+ "name": "DCHAG_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_CERT_NO": {
+ "name": "DCHAG_CERT_NO",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_ED_DT": {
+ "name": "DCHAG_ED_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_ST_DT": {
+ "name": "DCHAG_ST_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RECIP_TP": {
+ "name": "RECIP_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_IDENT_NO": {
+ "name": "SRCE_TX_IDENT_NO",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_NO": {
+ "name": "SRCE_TX_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_REL_ORDR": {
+ "name": "SRCE_TX_REL_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_TP": {
+ "name": "SRCE_TX_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_COMPNY_BP_WHTAX",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "AT_PUR_ORD_ORDR": {
+ "name": "AT_PUR_ORD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CALC_SHM_GRP": {
+ "name": "CALC_SHM_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNFM_CTL_KEY": {
+ "name": "CNFM_CTL_KEY",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_1": {
+ "name": "DL_COND_1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_2": {
+ "name": "DL_COND_2",
+ "type": "varchar(28)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GR_BSE_INVC_VR": {
+ "name": "GR_BSE_INVC_VR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORD_CNFM_REQ_ORDR": {
+ "name": "ORD_CNFM_REQ_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_CAUS": {
+ "name": "PUR_HOLD_CAUS",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_DT": {
+ "name": "PUR_HOLD_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_ORDR": {
+ "name": "PUR_HOLD_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_ORD_CUR": {
+ "name": "PUR_ORD_CUR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_ORG_CD": {
+ "name": "PUR_ORG_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SALE_CHRGR_NM": {
+ "name": "SALE_CHRGR_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_TELNO": {
+ "name": "VNDR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "mdg.VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN",
+ "schema": "mdg",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN_id_seq",
+ "schema": "mdg",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "BSE_PTNR_ORDR": {
+ "name": "BSE_PTNR_ORDR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_REF_VNDRCD": {
+ "name": "ETC_REF_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLNT_NO": {
+ "name": "PLNT_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTNR_CNT": {
+ "name": "PTNR_CNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_SKL": {
+ "name": "PTNR_SKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VNDR_SUB_NO": {
+ "name": "VNDR_SUB_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {
+ "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk": {
+ "name": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN_VNDRCD_VENDOR_MASTER_BP_HEADER_VNDRCD_fk",
+ "tableFrom": "VENDOR_MASTER_BP_HEADER_BP_VENGEN_BP_PORG_ZVPFN",
+ "tableTo": "VENDOR_MASTER_BP_HEADER",
+ "schemaTo": "mdg",
+ "columnsFrom": [
+ "VNDRCD"
+ ],
+ "columnsTo": [
+ "VNDRCD"
+ ],
+ "onDelete": "no action",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "soap.soap_logs": {
+ "name": "soap_logs",
+ "schema": "soap",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "direction": {
+ "name": "direction",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "system": {
+ "name": "system",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "interface": {
+ "name": "interface",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "startedAt": {
+ "name": "startedAt",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "endedAt": {
+ "name": "endedAt",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "isSuccess": {
+ "name": "isSuccess",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "requestData": {
+ "name": "requestData",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responseData": {
+ "name": "responseData",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "errorMessage": {
+ "name": "errorMessage",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_cd": {
+ "name": "cmctb_cd",
+ "schema": "nonsap",
+ "columns": {
+ "CD_CLF": {
+ "name": "CD_CLF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD": {
+ "name": "CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD2": {
+ "name": "CD2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD3": {
+ "name": "CD3",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "USR_DF_CHAR_1": {
+ "name": "USR_DF_CHAR_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_2": {
+ "name": "USR_DF_CHAR_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_3": {
+ "name": "USR_DF_CHAR_3",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_4": {
+ "name": "USR_DF_CHAR_4",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_5": {
+ "name": "USR_DF_CHAR_5",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_6": {
+ "name": "USR_DF_CHAR_6",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_7": {
+ "name": "USR_DF_CHAR_7",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_8": {
+ "name": "USR_DF_CHAR_8",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_9": {
+ "name": "USR_DF_CHAR_9",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_10": {
+ "name": "USR_DF_CHAR_10",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_11": {
+ "name": "USR_DF_CHAR_11",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_12": {
+ "name": "USR_DF_CHAR_12",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_13": {
+ "name": "USR_DF_CHAR_13",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_14": {
+ "name": "USR_DF_CHAR_14",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_15": {
+ "name": "USR_DF_CHAR_15",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_16": {
+ "name": "USR_DF_CHAR_16",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_17": {
+ "name": "USR_DF_CHAR_17",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_18": {
+ "name": "USR_DF_CHAR_18",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_19": {
+ "name": "USR_DF_CHAR_19",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR_20": {
+ "name": "USR_DF_CHAR_20",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_1": {
+ "name": "USR_DF_CHK_1",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_2": {
+ "name": "USR_DF_CHK_2",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_3": {
+ "name": "USR_DF_CHK_3",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_4": {
+ "name": "USR_DF_CHK_4",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_5": {
+ "name": "USR_DF_CHK_5",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_6": {
+ "name": "USR_DF_CHK_6",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_7": {
+ "name": "USR_DF_CHK_7",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHK_8": {
+ "name": "USR_DF_CHK_8",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_DT_1": {
+ "name": "USR_DF_DT_1",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_DT_2": {
+ "name": "USR_DF_DT_2",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_DT_3": {
+ "name": "USR_DF_DT_3",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_DT_4": {
+ "name": "USR_DF_DT_4",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_TM_1": {
+ "name": "USR_DF_TM_1",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_TM_2": {
+ "name": "USR_DF_TM_2",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_TM_3": {
+ "name": "USR_DF_TM_3",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_TM_4": {
+ "name": "USR_DF_TM_4",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTER": {
+ "name": "CRTER",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR": {
+ "name": "CHGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_cd_clf": {
+ "name": "cmctb_cd_clf",
+ "schema": "nonsap",
+ "columns": {
+ "CD_CLF": {
+ "name": "CD_CLF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CRTER": {
+ "name": "CRTER",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR": {
+ "name": "CHGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XSTAT": {
+ "name": "XSTAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XMSGS": {
+ "name": "XMSGS",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XDATS": {
+ "name": "XDATS",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XTIMS": {
+ "name": "XTIMS",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_cd_clf_nm": {
+ "name": "cmctb_cd_clf_nm",
+ "schema": "nonsap",
+ "columns": {
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD_CLF": {
+ "name": "CD_CLF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD_CLF_NM": {
+ "name": "CD_CLF_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRP_DSC": {
+ "name": "GRP_DSC",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTER": {
+ "name": "CRTER",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR": {
+ "name": "CHGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_cdnm": {
+ "name": "cmctb_cdnm",
+ "schema": "nonsap",
+ "columns": {
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD_CLF": {
+ "name": "CD_CLF",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD": {
+ "name": "CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD2": {
+ "name": "CD2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CD3": {
+ "name": "CD3",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CDNM": {
+ "name": "CDNM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRP_DSC": {
+ "name": "GRP_DSC",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTER": {
+ "name": "CRTER",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR": {
+ "name": "CHGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_addr": {
+ "name": "cmctb_customer_addr",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "INTL_ADR_VER_ID": {
+ "name": "INTL_ADR_VER_ID",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CITY_ZIP_NO": {
+ "name": "CITY_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX_ZIP_NO": {
+ "name": "POBX_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGN_CD": {
+ "name": "REGN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_1": {
+ "name": "ETC_ADR_1",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_2": {
+ "name": "ETC_ADR_2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOUSE_NR1": {
+ "name": "HOUSE_NR1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX": {
+ "name": "POBX",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_2": {
+ "name": "VNDRNM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRANS_ZONE": {
+ "name": "TRANS_ZONE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_cfpn": {
+ "name": "cmctb_customer_cfpn",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SALE_ORG_CD": {
+ "name": "SALE_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DIST_PATH": {
+ "name": "DIST_PATH",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PDT_GRP": {
+ "name": "PDT_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_SKL": {
+ "name": "PTNR_SKL",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_CNT": {
+ "name": "PTNR_CNT",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BSE_PTNR_ORDR": {
+ "name": "BSE_PTNR_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_compny": {
+ "name": "cmctb_customer_compny",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CO_ID": {
+ "name": "CO_ID",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "AR_ACNT_HDL_GB": {
+ "name": "AR_ACNT_HDL_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRT_KEY": {
+ "name": "SRT_KEY",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AMT_RNE_GB": {
+ "name": "AMT_RNE_GB",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_PAY_FRM": {
+ "name": "VNDR_PAY_FRM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BILL_PAY_COND_CD": {
+ "name": "BILL_PAY_COND_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BILL_PAY_BLOC_CD": {
+ "name": "BILL_PAY_BLOC_CD",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_general": {
+ "name": "cmctb_customer_general",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACNT_GRP": {
+ "name": "ACNT_GRP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_CAUS": {
+ "name": "OVLAP_CAUS",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_TP": {
+ "name": "CSTM_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_BLOCK": {
+ "name": "DEL_BLOCK",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_ID": {
+ "name": "CO_ID",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "COND_GRP_1": {
+ "name": "COND_GRP_1",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_GRP_NM": {
+ "name": "CSTM_GRP_NM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_NM": {
+ "name": "REPR_NM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZTP": {
+ "name": "BIZTP",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCON": {
+ "name": "BIZCON",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_2": {
+ "name": "TX_NO_2",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_3": {
+ "name": "TX_NO_3",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_4": {
+ "name": "TX_NO_4",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_REG_NO": {
+ "name": "TX_REG_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BA_CD": {
+ "name": "BA_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCH_COND_1": {
+ "name": "SRCH_COND_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCH_COND_2": {
+ "name": "SRCH_COND_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CITY_DISP_NM": {
+ "name": "CITY_DISP_NM",
+ "type": "varchar(105)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRM_CD": {
+ "name": "CRM_CD",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IN_FLAG": {
+ "name": "IN_FLAG",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INDST_CD": {
+ "name": "INDST_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_NO_TP": {
+ "name": "TX_NO_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DT": {
+ "name": "REG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DTM": {
+ "name": "REG_DTM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGR_ID": {
+ "name": "REGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_DT": {
+ "name": "AGR_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_TM": {
+ "name": "AGR_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_R_ID": {
+ "name": "AGR_R_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR_ID": {
+ "name": "CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTGT_CD": {
+ "name": "FTGT_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTGT_NM": {
+ "name": "FTGT_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTDT_CD": {
+ "name": "FTDT_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTDT_NM": {
+ "name": "FTDT_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTBU_CD": {
+ "name": "FTBU_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FTBU_NM": {
+ "name": "FTBU_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_repremail": {
+ "name": "cmctb_customer_repremail",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "EMAIL_ADR": {
+ "name": "EMAIL_ADR",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_reprfax": {
+ "name": "cmctb_customer_reprfax",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAXNO": {
+ "name": "FAXNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAX_ETS_NO": {
+ "name": "FAX_ETS_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_reprtel": {
+ "name": "cmctb_customer_reprtel",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELNO": {
+ "name": "TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETX_NO": {
+ "name": "ETX_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HP_ORDR": {
+ "name": "HP_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_reprurl": {
+ "name": "cmctb_customer_reprurl",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "URL": {
+ "name": "URL",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_sorg": {
+ "name": "cmctb_customer_sorg",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SALE_ORG_CD": {
+ "name": "SALE_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DIST_PATH": {
+ "name": "DIST_PATH",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PDT_GRP": {
+ "name": "PDT_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SALE_REGN": {
+ "name": "SALE_REGN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_OFC": {
+ "name": "SALE_OFC",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_GRP": {
+ "name": "SALE_GRP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_GRP": {
+ "name": "CSTM_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSBL": {
+ "name": "PSBL",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRD_CUR": {
+ "name": "TRD_CUR",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EXRAT_TP": {
+ "name": "EXRAT_TP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRC_PRCS_DSC_CD": {
+ "name": "PRC_PRCS_DSC_CD",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_STAT_GRP": {
+ "name": "CSTM_STAT_GRP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHIPMT_COND": {
+ "name": "SHIPMT_COND",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAX_TRD_QTY": {
+ "name": "MAX_TRD_QTY",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_1": {
+ "name": "DL_COND_1",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_2": {
+ "name": "DL_COND_2",
+ "type": "varchar(84)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACNT_ASGN_GRP": {
+ "name": "ACNT_ASGN_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_taxcd": {
+ "name": "cmctb_customer_taxcd",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DPRT_NTN": {
+ "name": "DPRT_NTN",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TX_CTG": {
+ "name": "TX_CTG",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CSTM_TX_CLF": {
+ "name": "CSTM_TX_CLF",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_customer_taxnum": {
+ "name": "cmctb_customer_taxnum",
+ "schema": "nonsap",
+ "columns": {
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TX_NO_CTG": {
+ "name": "TX_NO_CTG",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BIZ_PTNR_TX_NO": {
+ "name": "BIZ_PTNR_TX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_bse": {
+ "name": "cmctb_mat_bse",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SM_CD": {
+ "name": "SM_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_ID": {
+ "name": "MAT_ID",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLAS_CD": {
+ "name": "CLAS_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_TP": {
+ "name": "MAT_TP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_GB": {
+ "name": "MAT_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_DTL": {
+ "name": "MAT_DTL",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_DTL_SPEC": {
+ "name": "MAT_DTL_SPEC",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATL": {
+ "name": "MATL",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OLD_MAT_NO": {
+ "name": "OLD_MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SBST_MAT_NO": {
+ "name": "SBST_MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UOM": {
+ "name": "UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDT_GRP": {
+ "name": "PDT_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MRC": {
+ "name": "MRC",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STOR_MAT_ORDR": {
+ "name": "STOR_MAT_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STYPE": {
+ "name": "STYPE",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS": {
+ "name": "CLS",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WGT": {
+ "name": "WGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NET_WGT": {
+ "name": "NET_WGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WGT_UOM": {
+ "name": "WGT_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTH": {
+ "name": "LTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTH_2": {
+ "name": "LTH_2",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WTH": {
+ "name": "WTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WTH_2": {
+ "name": "WTH_2",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "THK": {
+ "name": "THK",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STD": {
+ "name": "STD",
+ "type": "varchar(70)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROF_STD": {
+ "name": "PROF_STD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CBL_OUT_DIA": {
+ "name": "CBL_OUT_DIA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTRM_MAT_YN": {
+ "name": "LTRM_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNT_AREA": {
+ "name": "PNT_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTIN_AREA": {
+ "name": "PNTIN_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTIN_SPEC": {
+ "name": "PNTIN_SPEC",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_AREA": {
+ "name": "PNTOUT_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_SPEC_1": {
+ "name": "PNTOUT_SPEC_1",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_SPEC_2": {
+ "name": "PNTOUT_SPEC_2",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_SPEC_3": {
+ "name": "PNTOUT_SPEC_3",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RT_INSPEC": {
+ "name": "RT_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UT_INSPEC": {
+ "name": "UT_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MT_INSPEC": {
+ "name": "MT_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PT_INSPEC": {
+ "name": "PT_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MK_DWG_NO": {
+ "name": "MK_DWG_NO",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CUT_DWG_NO": {
+ "name": "CUT_DWG_NO",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PIPE_SPL_NO": {
+ "name": "PIPE_SPL_NO",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PIPE_LINE_NO": {
+ "name": "PIPE_LINE_NO",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PIPE_CLAS": {
+ "name": "PIPE_CLAS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FLUID_KND": {
+ "name": "FLUID_KND",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_ITM_MATL": {
+ "name": "REP_ITM_MATL",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_DIA": {
+ "name": "REP_DIA",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_DIA_UOM": {
+ "name": "REP_DIA_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_SCH": {
+ "name": "REP_SCH",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_DIA_LTH": {
+ "name": "REP_DIA_LTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DBLN_GB": {
+ "name": "DBLN_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PIPE_GRD": {
+ "name": "PIPE_GRD",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HTRET_YN": {
+ "name": "HTRET_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BA_GALV_SPEC": {
+ "name": "BA_GALV_SPEC",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SSIDE_YN": {
+ "name": "SSIDE_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTR_PIPE_YN": {
+ "name": "PNTR_PIPE_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UBOLT_YN": {
+ "name": "UBOLT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CTLP_PRCD_PNT": {
+ "name": "CTLP_PRCD_PNT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCD_SCV_CTLP": {
+ "name": "PRCD_SCV_CTLP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PMI_INSPEC": {
+ "name": "PMI_INSPEC",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WTRPRS": {
+ "name": "WTRPRS",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VLV_FIT_NO": {
+ "name": "VLV_FIT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAG_NO": {
+ "name": "TAG_NO",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAG_SB_NO": {
+ "name": "TAG_SB_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NM_PLATE_TP": {
+ "name": "NM_PLATE_TP",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NM_PLATE_SVC_NM": {
+ "name": "NM_PLATE_SVC_NM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VRCS_MAT_NO": {
+ "name": "VRCS_MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRSM_FIT_NO": {
+ "name": "TRSM_FIT_NO",
+ "type": "varchar(7)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VLV_OPT_CD_LIST": {
+ "name": "VLV_OPT_CD_LIST",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_REQ_NO": {
+ "name": "PUR_REQ_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ITM_NO": {
+ "name": "ITM_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MDL_NO": {
+ "name": "MDL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BL_NO": {
+ "name": "BL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_EQP_NO": {
+ "name": "VNDR_EQP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BOX_NO": {
+ "name": "BOX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MMT_NO": {
+ "name": "MMT_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INSTL_LOC": {
+ "name": "INSTL_LOC",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MN_EQP_YN": {
+ "name": "MN_EQP_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIXED_MAT_YN": {
+ "name": "FIXED_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRE_YN": {
+ "name": "SPRE_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TOOL_YN": {
+ "name": "TOOL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CBL_YN": {
+ "name": "CBL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_INSTL_MAT_YN": {
+ "name": "OWN_INSTL_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NONINSTL_MAT_YN": {
+ "name": "NONINSTL_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BLK_NO": {
+ "name": "BLK_NO",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GYEL": {
+ "name": "GYEL",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LNK_PTLST_NO": {
+ "name": "LNK_PTLST_NO",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AREA": {
+ "name": "AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STOR_LOC": {
+ "name": "STOR_LOC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SGUB_WGT": {
+ "name": "SGUB_WGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DGUB_WGT": {
+ "name": "DGUB_WGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSN_SKL": {
+ "name": "DSN_SKL",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RMK": {
+ "name": "RMK",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_DT": {
+ "name": "DEL_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_STAT": {
+ "name": "MAT_STAT",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_SYS_NO": {
+ "name": "IF_SYS_NO",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GLAND_SPEC_1": {
+ "name": "GLAND_SPEC_1",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GLAND_SPEC_2": {
+ "name": "GLAND_SPEC_2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GLAND_SPEC_3": {
+ "name": "GLAND_SPEC_3",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MCT_MDLE_STD_1": {
+ "name": "MCT_MDLE_STD_1",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MCT_MDLE_STD_2": {
+ "name": "MCT_MDLE_STD_2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BEELE_RISE": {
+ "name": "BEELE_RISE",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAX_DRUM_LTH": {
+ "name": "MAX_DRUM_LTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_DTM": {
+ "name": "AGR_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_R_ID": {
+ "name": "AGR_R_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DISPLN": {
+ "name": "DISPLN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LRG_KWK": {
+ "name": "LRG_KWK",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DTL_KWK": {
+ "name": "DTL_KWK",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SP_INSP_GB": {
+ "name": "SP_INSP_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PNTOUT_SPEC_4": {
+ "name": "PNTOUT_SPEC_4",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OFE_MAT_NO": {
+ "name": "OFE_MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OFE_CAB_YN": {
+ "name": "OFE_CAB_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INSTL_PSB_CNT": {
+ "name": "INSTL_PSB_CNT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CUTL_ML_GB": {
+ "name": "CUTL_ML_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FCM_INSP": {
+ "name": "FCM_INSP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_NO": {
+ "name": "DOC_NO",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_CAUS": {
+ "name": "HOLD_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_DT": {
+ "name": "HOLD_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_LIFT_DT": {
+ "name": "HOLD_LIFT_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_KND_GB": {
+ "name": "MAT_KND_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BATCH_MNG_ORDR": {
+ "name": "BATCH_MNG_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FS_INPR_ID": {
+ "name": "FS_INPR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FS_INP_DTM": {
+ "name": "FS_INP_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_CHGR_ID": {
+ "name": "FIN_CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_CHG_DTM": {
+ "name": "FIN_CHG_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DWG_FILE_NM": {
+ "name": "DWG_FILE_NM",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAG_NO_CHG_DT": {
+ "name": "TAG_NO_CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SUB_EQP_YN": {
+ "name": "SUB_EQP_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ATT_MAT_YN": {
+ "name": "ATT_MAT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSN_REV_NO": {
+ "name": "DSN_REV_NO",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR1": {
+ "name": "USR_DF_CHAR1",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR2": {
+ "name": "USR_DF_CHAR2",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR3": {
+ "name": "USR_DF_CHAR3",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR4": {
+ "name": "USR_DF_CHAR4",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "USR_DF_CHAR5": {
+ "name": "USR_DF_CHAR5",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_clas": {
+ "name": "cmctb_mat_clas",
+ "schema": "nonsap",
+ "columns": {
+ "CLAS_CD": {
+ "name": "CLAS_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CLAS_NM": {
+ "name": "CLAS_NM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLAS_DTL": {
+ "name": "CLAS_DTL",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRNT_CLAS_CD": {
+ "name": "PRNT_CLAS_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLAS_LVL": {
+ "name": "CLAS_LVL",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UOM": {
+ "name": "UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STYPE": {
+ "name": "STYPE",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRD_MATL": {
+ "name": "GRD_MATL",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BSE_UOM": {
+ "name": "BSE_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_clas_spchar": {
+ "name": "cmctb_mat_clas_spchar",
+ "schema": "nonsap",
+ "columns": {
+ "CLAS_CD": {
+ "name": "CLAS_CD",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_CD": {
+ "name": "SPCHAR_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_SEQ": {
+ "name": "SPCHAR_SEQ",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MNDT_YN": {
+ "name": "MNDT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "cmctb_mat_clas_spchar_CLAS_CD_SPCHAR_CD_pk": {
+ "name": "cmctb_mat_clas_spchar_CLAS_CD_SPCHAR_CD_pk",
+ "columns": [
+ "CLAS_CD",
+ "SPCHAR_CD"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_dsc": {
+ "name": "cmctb_mat_dsc",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MAT_DTL": {
+ "name": "MAT_DTL",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_plnt": {
+ "name": "cmctb_mat_plnt",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PLNT": {
+ "name": "PLNT",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "DELV_UOM": {
+ "name": "DELV_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EA_BTCH_ND_GB": {
+ "name": "EA_BTCH_ND_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCR_CLF": {
+ "name": "PRCR_CLF",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_CHRGR_CD": {
+ "name": "PUR_CHRGR_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCR_CHRGR_CD": {
+ "name": "PRCR_CHRGR_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GOODS_CHRGR_CD": {
+ "name": "GOODS_CHRGR_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_LT": {
+ "name": "PUR_LT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MRP_TP": {
+ "name": "MRP_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MAT_STAT": {
+ "name": "MAT_STAT",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BULK_MAT_ORDR": {
+ "name": "BULK_MAT_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCR_TP": {
+ "name": "PRCR_TP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SFTY_STCK_QTY": {
+ "name": "SFTY_STCK_QTY",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SER_PROF": {
+ "name": "SER_PROF",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BATCH_MNG_ORDR": {
+ "name": "BATCH_MNG_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SP_PRCR_TP": {
+ "name": "SP_PRCR_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_spchar": {
+ "name": "cmctb_mat_spchar",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_CD": {
+ "name": "SPCHAR_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_DTL": {
+ "name": "SPCHAR_DTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_CD": {
+ "name": "SPCHAR_VAL_CD",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_DTL": {
+ "name": "SPCHAR_VAL_DTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_NUM": {
+ "name": "SPCHAR_VAL_NUM",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_UOM": {
+ "name": "SPCHAR_VAL_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_spchar_mast": {
+ "name": "cmctb_mat_spchar_mast",
+ "schema": "nonsap",
+ "columns": {
+ "SPCHAR_CD": {
+ "name": "SPCHAR_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_DTL": {
+ "name": "SPCHAR_DTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_TP": {
+ "name": "SPCHAR_TP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_UOM": {
+ "name": "SPCHAR_VAL_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_VAL_YN": {
+ "name": "SPCHAR_VAL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPCHAR_GRP": {
+ "name": "SPCHAR_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "cmctb_mat_spchar_mast_SPCHAR_CD_pk": {
+ "name": "cmctb_mat_spchar_mast_SPCHAR_CD_pk",
+ "columns": [
+ "SPCHAR_CD"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_spchar_val": {
+ "name": "cmctb_mat_spchar_val",
+ "schema": "nonsap",
+ "columns": {
+ "SPCHAR_CD": {
+ "name": "SPCHAR_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_VAL_CD": {
+ "name": "SPCHAR_VAL_CD",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SPCHAR_VAL_DTL": {
+ "name": "SPCHAR_VAL_DTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "cmctb_mat_spchar_val_SPCHAR_CD_SPCHAR_VAL_CD_pk": {
+ "name": "cmctb_mat_spchar_val_SPCHAR_CD_SPCHAR_VAL_CD_pk",
+ "columns": [
+ "SPCHAR_CD",
+ "SPCHAR_VAL_CD"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_mat_uom": {
+ "name": "cmctb_mat_uom",
+ "schema": "nonsap",
+ "columns": {
+ "MAT_NO": {
+ "name": "MAT_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SBST_UOM": {
+ "name": "SBST_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CNVRT_FCTR_1": {
+ "name": "CNVRT_FCTR_1",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNVRT_FCTR_2": {
+ "name": "CNVRT_FCTR_2",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LTH": {
+ "name": "LTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WTH": {
+ "name": "WTH",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HGT": {
+ "name": "HGT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SZ_UOM": {
+ "name": "SZ_UOM",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_proj_bizcls": {
+ "name": "cmctb_proj_bizcls",
+ "schema": "nonsap",
+ "columns": {
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TYPE": {
+ "name": "TYPE",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BIZCLS": {
+ "name": "BIZCLS",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QM_CLS": {
+ "name": "QM_CLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NEW_MC_YN": {
+ "name": "NEW_MC_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_proj_mast": {
+ "name": "cmctb_proj_mast",
+ "schema": "nonsap",
+ "columns": {
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "MSHIP_NO": {
+ "name": "MSHIP_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_NO": {
+ "name": "SERS_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REF_NO": {
+ "name": "REF_NO",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SKND": {
+ "name": "SKND",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE": {
+ "name": "SHTYPE",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_UOM": {
+ "name": "SHTYPE_UOM",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOCK_CD": {
+ "name": "DOCK_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_1": {
+ "name": "OWN_1",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_1": {
+ "name": "CLS_1",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_DT": {
+ "name": "CNRT_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_DL_DT": {
+ "name": "CNRT_DL_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DSC": {
+ "name": "PROJ_DSC",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_GB": {
+ "name": "PROJ_GB",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_NM": {
+ "name": "OWN_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NEW_SKND2": {
+ "name": "NEW_SKND2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWN_AB": {
+ "name": "OWN_AB",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHINA_YN": {
+ "name": "CHINA_YN",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DTL_TP": {
+ "name": "PROJ_DTL_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_PROF": {
+ "name": "PROJ_PROF",
+ "type": "varchar(7)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INQY_NO": {
+ "name": "INQY_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INQY_SEQ": {
+ "name": "INQY_SEQ",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTTP": {
+ "name": "NTTP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RLTD_PROJ": {
+ "name": "RLTD_PROJ",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DIGT_PDT_GRP": {
+ "name": "DIGT_PDT_GRP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WP_PROJ_TP": {
+ "name": "WP_PROJ_TP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TOT_CNRT_CNT": {
+ "name": "TOT_CNRT_CNT",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_ETC_TP": {
+ "name": "PROJ_ETC_TP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRC_SYS_ID": {
+ "name": "SRC_SYS_ID",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRGS_STAT": {
+ "name": "PRGS_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_YN": {
+ "name": "DEL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_CSTM_CD": {
+ "name": "DL_CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PDT_LVL_4": {
+ "name": "PDT_LVL_4",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AS_GRNT_PRD": {
+ "name": "AS_GRNT_PRD",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RL_DL_DT": {
+ "name": "RL_DL_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SA_DT": {
+ "name": "SA_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GOV": {
+ "name": "GOV",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_BF_PROJ_NM": {
+ "name": "DL_BF_PROJ_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IMO_NO": {
+ "name": "IMO_NO",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DIST_PATH": {
+ "name": "DIST_PATH",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_ORG_CD": {
+ "name": "SALE_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_GRP": {
+ "name": "SALE_GRP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZLOC_CD": {
+ "name": "BIZLOC_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MNG_ACOT_DMN": {
+ "name": "MNG_ACOT_DMN",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_DMN": {
+ "name": "BIZ_DMN",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLNT_CD": {
+ "name": "PLNT_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRCTR": {
+ "name": "PRCTR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_CNTN_YN": {
+ "name": "CNRT_CNTN_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_RESV_YN": {
+ "name": "CNRT_RESV_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_PRGS_YN": {
+ "name": "PROJ_PRGS_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SYS_ACOT_CLSD_DT": {
+ "name": "SYS_ACOT_CLSD_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_SCP": {
+ "name": "PROJ_SCP",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOA": {
+ "name": "LOA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MN_ENGN_TP_CD": {
+ "name": "MN_ENGN_TP_CD",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPD": {
+ "name": "SPD",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GT": {
+ "name": "GT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BP_DL_DT": {
+ "name": "BP_DL_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_GRP": {
+ "name": "SHTYPE_GRP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_CRTE_REQ_EMPNO": {
+ "name": "PROJ_CRTE_REQ_EMPNO",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_CRTE_REQ_DT": {
+ "name": "PROJ_CRTE_REQ_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IO_GB": {
+ "name": "IO_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_PO_NO": {
+ "name": "CSTM_PO_NO",
+ "type": "varchar(35)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GENT_CNT": {
+ "name": "GENT_CNT",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORDR_GRNT_PRD": {
+ "name": "ORDR_GRNT_PRD",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORDR_GRNT_FN_DT": {
+ "name": "ORDR_GRNT_FN_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSN_CHRGR": {
+ "name": "DSN_CHRGR",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_PROJ_NM": {
+ "name": "DL_AF_PROJ_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_RL_CLNT": {
+ "name": "DL_AF_RL_CLNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_SHPSRV_SCP": {
+ "name": "DL_AF_SHPSRV_SCP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_NTTP": {
+ "name": "DL_AF_NTTP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_CLS": {
+ "name": "DL_AF_CLS",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_CALL_SIGN": {
+ "name": "DL_AF_CALL_SIGN",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_TEL_NO": {
+ "name": "DL_AF_TEL_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_FAX_NO": {
+ "name": "DL_AF_FAX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_AF_EMAIL_ADR": {
+ "name": "DL_AF_EMAIL_ADR",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_WBS_TP": {
+ "name": "PROJ_WBS_TP",
+ "type": "varchar(7)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XSTAT": {
+ "name": "XSTAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XMSGS": {
+ "name": "XMSGS",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XDATS": {
+ "name": "XDATS",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XTIMS": {
+ "name": "XTIMS",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHN_PROJ_TP": {
+ "name": "CHN_PROJ_TP",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_GRNT_FN_DT": {
+ "name": "FIN_GRNT_FN_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "STDT": {
+ "name": "STDT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_YN": {
+ "name": "SERS_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TYPE": {
+ "name": "TYPE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRO_PROJ_NO": {
+ "name": "PRO_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PBSD_PROJ_NO": {
+ "name": "PBSD_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PBSD_SHIP_NM": {
+ "name": "PBSD_SHIP_NM",
+ "type": "varchar(150)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCLS": {
+ "name": "BIZCLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_2": {
+ "name": "CLS_2",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_CD": {
+ "name": "SHTYPE_CD",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DL_PLN_DT": {
+ "name": "PROJ_DL_PLN_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PROJ_DL_RT_DT": {
+ "name": "PROJ_DL_RT_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TOT_AREA": {
+ "name": "TOT_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EXMPT_AREA": {
+ "name": "EXMPT_AREA",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EXMPT_RAT": {
+ "name": "EXMPT_RAT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QM_CLS": {
+ "name": "QM_CLS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNCT_PROJ_NO": {
+ "name": "CNCT_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EQP_DTL_YN": {
+ "name": "EQP_DTL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EXP_YN": {
+ "name": "EXP_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACT_MH_YN": {
+ "name": "ACT_MH_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPEC": {
+ "name": "SPEC",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DSGN_LIFE": {
+ "name": "DSGN_LIFE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NEW_MC_YN": {
+ "name": "NEW_MC_YN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WK_ENV_WT_VAL_YN": {
+ "name": "WK_ENV_WT_VAL_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GRNT_STDT": {
+ "name": "GRNT_STDT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TMH_ADPT_YN": {
+ "name": "TMH_ADPT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZV_YN": {
+ "name": "ZV_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SEC_YN": {
+ "name": "SEC_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_proj_wbs": {
+ "name": "cmctb_proj_wbs",
+ "schema": "nonsap",
+ "columns": {
+ "PROJ_NO": {
+ "name": "PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "WBS_ELMT": {
+ "name": "WBS_ELMT",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "WBS_ELMT_NM": {
+ "name": "WBS_ELMT_NM",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_LVL": {
+ "name": "WBS_LVL",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FLAG": {
+ "name": "FLAG",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_INSD_ELMT": {
+ "name": "WBS_INSD_ELMT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HGRK_WBS_ELMT": {
+ "name": "HGRK_WBS_ELMT",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XSTAT": {
+ "name": "XSTAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XMSGS": {
+ "name": "XMSGS",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XDATS": {
+ "name": "XDATS",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "XTIMS": {
+ "name": "XTIMS",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SYS_STAT": {
+ "name": "SYS_STAT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_1": {
+ "name": "WBS_ELMT_1",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_2": {
+ "name": "WBS_ELMT_2",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_3": {
+ "name": "WBS_ELMT_3",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_4": {
+ "name": "WBS_ELMT_4",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_5": {
+ "name": "WBS_ELMT_5",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_6": {
+ "name": "WBS_ELMT_6",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_7": {
+ "name": "WBS_ELMT_7",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_8": {
+ "name": "WBS_ELMT_8",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_9": {
+ "name": "WBS_ELMT_9",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WBS_ELMT_10": {
+ "name": "WBS_ELMT_10",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_addr": {
+ "name": "cmctb_vendor_addr",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INTL_ADR_VER_ID": {
+ "name": "INTL_ADR_VER_ID",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CITY_ZIP_NO": {
+ "name": "CITY_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX_ZIP_NO": {
+ "name": "POBX_ZIP_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGN_CD": {
+ "name": "REGN_CD",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_1": {
+ "name": "VNDRNM_ABRV_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_2": {
+ "name": "VNDRNM_ABRV_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_2": {
+ "name": "VNDRNM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LANG_KEY": {
+ "name": "LANG_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_1": {
+ "name": "ETC_ADR_1",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETC_ADR_2": {
+ "name": "ETC_ADR_2",
+ "type": "varchar(180)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX": {
+ "name": "POBX",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRANS_ZONE": {
+ "name": "TRANS_ZONE",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_3": {
+ "name": "VNDRNM_3",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_4": {
+ "name": "VNDRNM_4",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TAX_JRDT_ZONE_CD": {
+ "name": "TAX_JRDT_ZONE_CD",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_TMZ": {
+ "name": "ADR_TMZ",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_compny": {
+ "name": "cmctb_vendor_compny",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CTL_ACNT": {
+ "name": "CTL_ACNT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRT_KEY": {
+ "name": "SRT_KEY",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PLN_GRP": {
+ "name": "PLN_GRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BF_VNDRCD": {
+ "name": "BF_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_INVC_ORDR": {
+ "name": "OVLAP_INVC_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_MTHD": {
+ "name": "SPLY_MTHD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_HOLD_ORDR": {
+ "name": "SPLY_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TRD_BANK_SHRT_KEY": {
+ "name": "TRD_BANK_SHRT_KEY",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_CAUS": {
+ "name": "HOLD_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_NTN_CD": {
+ "name": "SRCE_TX_NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MIN_ORDR": {
+ "name": "MIN_ORDR",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPRT_SPLY_ORDR": {
+ "name": "SPRT_SPLY_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_VNDR_CLR_ORDR": {
+ "name": "CSTM_VNDR_CLR_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_CD": {
+ "name": "SRCE_TX_CD",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IATA_BIC_GB": {
+ "name": "IATA_BIC_GB",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_TP": {
+ "name": "REP_TP",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LOGST_VNDR_TP": {
+ "name": "LOGST_VNDR_TP",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_ACNT_NO": {
+ "name": "VNDR_ACNT_NO",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_CHRGR_NM": {
+ "name": "VNDR_CHRGR_NM",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACOT_CHRGR_TELNO": {
+ "name": "ACOT_CHRGR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AUTH_GRP": {
+ "name": "AUTH_GRP",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_IR_CALC_DT": {
+ "name": "FIN_IR_CALC_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_IR_ACT_DT": {
+ "name": "FIN_IR_ACT_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACOT_CHRGR_FAXNO": {
+ "name": "ACOT_CHRGR_FAXNO",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MK_CHRGR_EMAIL": {
+ "name": "MK_CHRGR_EMAIL",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEMO": {
+ "name": "MEMO",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MOFFC_ACNT_NO": {
+ "name": "MOFFC_ACNT_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "cmctb_vendor_compny_VNDRCD_CO_CD_pk": {
+ "name": "cmctb_vendor_compny_VNDRCD_CO_CD_pk",
+ "columns": [
+ "VNDRCD",
+ "CO_CD"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_general": {
+ "name": "cmctb_vendor_general",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ACNT_GRP": {
+ "name": "ACNT_GRP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ACNT_GRP_TP": {
+ "name": "ACNT_GRP_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CSTM_CD": {
+ "name": "CSTM_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PST_HOLD_ORDR": {
+ "name": "PST_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_ORDR": {
+ "name": "PUR_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HOLD_CAUS": {
+ "name": "HOLD_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_ID": {
+ "name": "CO_ID",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_NM": {
+ "name": "REPR_NM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZTP": {
+ "name": "BIZTP",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZCON": {
+ "name": "BIZCON",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DT": {
+ "name": "REG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REG_DTM": {
+ "name": "REG_DTM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REGR_ID": {
+ "name": "REGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_DT": {
+ "name": "AGR_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_TM": {
+ "name": "AGR_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AGR_R_ID": {
+ "name": "AGR_R_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR_ID": {
+ "name": "CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_TEL_NO": {
+ "name": "REP_TEL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_FAX_NO": {
+ "name": "REP_FAX_NO",
+ "type": "varchar(31)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZR_NO": {
+ "name": "BIZR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_REG_NO": {
+ "name": "CO_REG_NO",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TX_CD_4": {
+ "name": "TX_CD_4",
+ "type": "varchar(54)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_INST_DT": {
+ "name": "CO_INST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_TP": {
+ "name": "VNDR_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GBL_TOP_CD": {
+ "name": "GBL_TOP_CD",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GBL_TOP_NM": {
+ "name": "GBL_TOP_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DMST_TOP_CD": {
+ "name": "DMST_TOP_CD",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DMST_TOP_NM": {
+ "name": "DMST_TOP_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_UOM_CD": {
+ "name": "BIZ_UOM_CD",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_UOM_NM": {
+ "name": "BIZ_UOM_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DNS_NO": {
+ "name": "DNS_NO",
+ "type": "varchar(11)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TTL": {
+ "name": "TTL",
+ "type": "varchar(45)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VAT_REG_NO": {
+ "name": "VAT_REG_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GIRO_VNDR_ORDR": {
+ "name": "GIRO_VNDR_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_1": {
+ "name": "VNDRNM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_2": {
+ "name": "VNDRNM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_3": {
+ "name": "VNDRNM_3",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_4": {
+ "name": "VNDRNM_4",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_1": {
+ "name": "VNDRNM_ABRV_1",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDRNM_ABRV_2": {
+ "name": "VNDRNM_ABRV_2",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTNT_VNDRCD": {
+ "name": "PTNT_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_1": {
+ "name": "ADR_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR_2": {
+ "name": "ADR_2",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_NM": {
+ "name": "QLT_CHRGR_NM",
+ "type": "varchar(60)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_TELNO": {
+ "name": "QLT_CHRGR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "QLT_CHRGR_EMAIL": {
+ "name": "QLT_CHRGR_EMAIL",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SB_WKA_SEQ": {
+ "name": "SB_WKA_SEQ",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OVLAP_CAUS_CD": {
+ "name": "OVLAP_CAUS_CD",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_TP": {
+ "name": "DOC_TP",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_NO": {
+ "name": "DOC_NO",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PTN_DOC": {
+ "name": "PTN_DOC",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOC_VER": {
+ "name": "DOC_VER",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INB_FLAG": {
+ "name": "INB_FLAG",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_HOLD_ORDR": {
+ "name": "DEL_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_DT": {
+ "name": "PUR_HOLD_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POBX": {
+ "name": "POBX",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INTL_LCTN_CHK_NUM": {
+ "name": "INTL_LCTN_CHK_NUM",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCETX_RP_SEX_KEY": {
+ "name": "SRCETX_RP_SEX_KEY",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_CNRT_CHRGR_1": {
+ "name": "VNDR_CNRT_CHRGR_1",
+ "type": "varchar(105)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_CNRT_CHRGR_2": {
+ "name": "VNDR_CNRT_CHRGR_2",
+ "type": "varchar(105)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_RESNO": {
+ "name": "REPR_RESNO",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CO_VLM": {
+ "name": "CO_VLM",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_grp": {
+ "name": "cmctb_vendor_grp",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BIZ_GRP_CD": {
+ "name": "BIZ_GRP_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTER_ID": {
+ "name": "CRTER_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHGR_ID": {
+ "name": "CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_inco": {
+ "name": "cmctb_vendor_inco",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VNDRNM": {
+ "name": "VNDRNM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_NM": {
+ "name": "REPR_NM",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PRTNR_GB": {
+ "name": "PRTNR_GB",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_CD": {
+ "name": "INCO_PRTNR_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_WKA_1": {
+ "name": "INCO_PRTNR_WKA_1",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_WKA_2": {
+ "name": "INCO_PRTNR_WKA_2",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_WKA_3": {
+ "name": "INCO_PRTNR_WKA_3",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JBTYPE_CD": {
+ "name": "JBTYPE_CD",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "JBTYPE_CD_2": {
+ "name": "JBTYPE_CD_2",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INDV_CO_GB": {
+ "name": "INDV_CO_GB",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_FOND_YN": {
+ "name": "INCO_FOND_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DOCK_NO": {
+ "name": "DOCK_NO",
+ "type": "varchar(25)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OCMP_INP_DT": {
+ "name": "OCMP_INP_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_DUSE_DT": {
+ "name": "INCO_DUSE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INDST_INS_PMRAT": {
+ "name": "INDST_INS_PMRAT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNRT_PFRM_GRAMT": {
+ "name": "CNRT_PFRM_GRAMT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WGE_RAT": {
+ "name": "WGE_RAT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRSPD_DEPTCD_1": {
+ "name": "CRSPD_DEPTCD_1",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRSPD_DEPTCD_2": {
+ "name": "CRSPD_DEPTCD_2",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRSPD_TEAM_BLNG": {
+ "name": "CRSPD_TEAM_BLNG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_ITM_1": {
+ "name": "INCO_PRTNR_ITM_1",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_PRTNR_ITM_2": {
+ "name": "INCO_PRTNR_ITM_2",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OFC_LOC": {
+ "name": "OFC_LOC",
+ "type": "varchar(240)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REP_OCMP_CARR": {
+ "name": "REP_OCMP_CARR",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "INCO_DUSE_CAUS": {
+ "name": "INCO_DUSE_CAUS",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TEL_NO": {
+ "name": "TEL_NO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR1": {
+ "name": "ADR1",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ADR2": {
+ "name": "ADR2",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OLD_VNDRCD": {
+ "name": "OLD_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TREE_NUM": {
+ "name": "TREE_NUM",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_DT": {
+ "name": "CRTE_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_TM": {
+ "name": "CRTE_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CRTE_USR_ID": {
+ "name": "CRTE_USR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_DT": {
+ "name": "CHG_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_TM": {
+ "name": "CHG_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHG_USR_ID": {
+ "name": "CHG_USR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "UPR_JBTYPE": {
+ "name": "UPR_JBTYPE",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZBYBP": {
+ "name": "ZBYBP",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RMK": {
+ "name": "RMK",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WDL_PLN_YN": {
+ "name": "WDL_PLN_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WGE_DELY_DVL": {
+ "name": "WGE_DELY_DVL",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESCROW_YN": {
+ "name": "ESCROW_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_porg": {
+ "name": "cmctb_vendor_porg",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PUR_ORG_CD": {
+ "name": "PUR_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PUR_ORD_CUR": {
+ "name": "PUR_ORD_CUR",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SPLY_COND": {
+ "name": "SPLY_COND",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_1": {
+ "name": "DL_COND_1",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DL_COND_2": {
+ "name": "DL_COND_2",
+ "type": "varchar(90)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CALC_SHM_GRP": {
+ "name": "CALC_SHM_GRP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GR_BSE_INVC_VR": {
+ "name": "GR_BSE_INVC_VR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "AT_PUR_ORD_ORDR": {
+ "name": "AT_PUR_ORD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_ORDR": {
+ "name": "PUR_HOLD_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DEL_ORDR": {
+ "name": "DEL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ORD_CNFM_REQ_ORDR": {
+ "name": "ORD_CNFM_REQ_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SALE_CHRGR_NM": {
+ "name": "SALE_CHRGR_NM",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VNDR_TELNO": {
+ "name": "VNDR_TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CNFM_CTL_KEY": {
+ "name": "CNFM_CTL_KEY",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_DT": {
+ "name": "PUR_HOLD_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PUR_HOLD_CAUS": {
+ "name": "PUR_HOLD_CAUS",
+ "type": "varchar(120)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_repremail": {
+ "name": "cmctb_vendor_repremail",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "EMAIL_ADR": {
+ "name": "EMAIL_ADR",
+ "type": "varchar(241)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_reprfax": {
+ "name": "cmctb_vendor_reprfax",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAXNO": {
+ "name": "FAXNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FAX_ETS_NO": {
+ "name": "FAX_ETS_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_reprtel": {
+ "name": "cmctb_vendor_reprtel",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "NTN_CD": {
+ "name": "NTN_CD",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TELNO": {
+ "name": "TELNO",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ETX_NO": {
+ "name": "ETX_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "HP_ORDR": {
+ "name": "HP_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_reprurl": {
+ "name": "cmctb_vendor_reprurl",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ADR_NO": {
+ "name": "ADR_NO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REPR_SER": {
+ "name": "REPR_SER",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VLD_ST_DT": {
+ "name": "VLD_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "URL": {
+ "name": "URL",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_taxnum": {
+ "name": "cmctb_vendor_taxnum",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "TX_NO_CTG": {
+ "name": "TX_NO_CTG",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BIZ_PTNR_TX_NO": {
+ "name": "BIZ_PTNR_TX_NO",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_vfpn": {
+ "name": "cmctb_vendor_vfpn",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PUR_ORG_CD": {
+ "name": "PUR_ORG_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "VNDR_SUB_NO": {
+ "name": "VNDR_SUB_NO",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PLNT_CD": {
+ "name": "PLNT_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_SKL": {
+ "name": "PTNR_SKL",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "PTNR_CNT": {
+ "name": "PTNR_CNT",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ETC_REF_VNDRCD": {
+ "name": "ETC_REF_VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BSE_PTNR_ORDR": {
+ "name": "BSE_PTNR_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.cmctb_vendor_whthx": {
+ "name": "cmctb_vendor_whthx",
+ "schema": "nonsap",
+ "columns": {
+ "VNDRCD": {
+ "name": "VNDRCD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "CO_CD": {
+ "name": "CO_CD",
+ "type": "varchar(4)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SRCE_TX_TP": {
+ "name": "SRCE_TX_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "SRCE_TX_REL_ORDR": {
+ "name": "SRCE_TX_REL_ORDR",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "RECIP_TP": {
+ "name": "RECIP_TP",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_IDENT_NO": {
+ "name": "SRCE_TX_IDENT_NO",
+ "type": "varchar(16)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SRCE_TX_NO": {
+ "name": "SRCE_TX_NO",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_CERT_NO": {
+ "name": "DCHAG_CERT_NO",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_RAT": {
+ "name": "DCHAG_RAT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_ST_DT": {
+ "name": "DCHAG_ST_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_ED_DT": {
+ "name": "DCHAG_ED_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DCHAG_CAUS": {
+ "name": "DCHAG_CAUS",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_DT": {
+ "name": "IF_DT",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TM": {
+ "name": "IF_TM",
+ "type": "varchar(6)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_STAT": {
+ "name": "IF_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_MSG": {
+ "name": "IF_MSG",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "nonsap.plftb_estm_proj_mast": {
+ "name": "plftb_estm_proj_mast",
+ "schema": "nonsap",
+ "columns": {
+ "ESTM_PROJ_NO": {
+ "name": "ESTM_PROJ_NO",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "AGND_NO": {
+ "name": "AGND_NO",
+ "type": "varchar(8)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_PROJ_NM": {
+ "name": "ESTM_PROJ_NM",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BIZ_CLS": {
+ "name": "BIZ_CLS",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "REV_NO": {
+ "name": "REV_NO",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_TYPE": {
+ "name": "ESTM_TYPE",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "OWNER_CD": {
+ "name": "OWNER_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SERS_CNT": {
+ "name": "SERS_CNT",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SKND_CD": {
+ "name": "SKND_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_CD": {
+ "name": "SHTYPE_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_SIZE": {
+ "name": "SHTYPE_SIZE",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SHTYPE_UOM": {
+ "name": "SHTYPE_UOM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CHRTR_CD": {
+ "name": "CHRTR_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "NATN_CD": {
+ "name": "NATN_CD",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_1": {
+ "name": "CLS_1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_2": {
+ "name": "CLS_2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "CLS_3": {
+ "name": "CLS_3",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DATA_CRTE_GB": {
+ "name": "DATA_CRTE_GB",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FS_INPR_ID": {
+ "name": "FS_INPR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FS_INP_DTM": {
+ "name": "FS_INP_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_CHGR_ID": {
+ "name": "FIN_CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "FIN_CHG_DTM": {
+ "name": "FIN_CHG_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VSL_VAG_1": {
+ "name": "VSL_VAG_1",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VSL_VAG_2": {
+ "name": "VSL_VAG_2",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VSL_VAG_3": {
+ "name": "VSL_VAG_3",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "VSL_VAG_4": {
+ "name": "VSL_VAG_4",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_AOM_APP_ID": {
+ "name": "ESTM_AOM_APP_ID",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_AOM_STAT": {
+ "name": "ESTM_AOM_STAT",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_AOM_STAT_CHGR_ID": {
+ "name": "ESTM_AOM_STAT_CHGR_ID",
+ "type": "varchar(13)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ESTM_AOM_STAT_CHG_DTM": {
+ "name": "ESTM_AOM_STAT_CHG_DTM",
+ "type": "varchar(14)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "IF_TRGT_YN": {
+ "name": "IF_TRGT_YN",
+ "type": "varchar(1)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "plftb_estm_proj_mast_ESTM_PROJ_NO_pk": {
+ "name": "plftb_estm_proj_mast_ESTM_PROJ_NO_pk",
+ "columns": [
+ "ESTM_PROJ_NO"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "ecc.PR_INFORMATION_T_BID_HEADER": {
+ "name": "PR_INFORMATION_T_BID_HEADER",
+ "schema": "ecc",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "PR_INFORMATION_T_BID_HEADER_id_seq",
+ "schema": "ecc",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ANFNR": {
+ "name": "ANFNR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "EKGRP": {
+ "name": "EKGRP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EKORG": {
+ "name": "EKORG",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WERKS": {
+ "name": "WERKS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZBSART": {
+ "name": "ZBSART",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ZRFQ_TRS_DT": {
+ "name": "ZRFQ_TRS_DT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZRFQ_TRS_TM": {
+ "name": "ZRFQ_TRS_TM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "ecc.PR_INFORMATION_T_BID_ITEM": {
+ "name": "PR_INFORMATION_T_BID_ITEM",
+ "schema": "ecc",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "byDefault",
+ "name": "PR_INFORMATION_T_BID_ITEM_id_seq",
+ "schema": "ecc",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "ANFNR": {
+ "name": "ANFNR",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ANFPS": {
+ "name": "ANFPS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "AUFNR": {
+ "name": "AUFNR",
+ "type": "varchar(12)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BANFN": {
+ "name": "BANFN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BANPO": {
+ "name": "BANPO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "BPRME": {
+ "name": "BPRME",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "BRGEW": {
+ "name": "BRGEW",
+ "type": "numeric(15, 3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "DISMM": {
+ "name": "DISMM",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "EBELP": {
+ "name": "EBELP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "GEWEI": {
+ "name": "GEWEI",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KNTTP": {
+ "name": "KNTTP",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "KOSTL": {
+ "name": "KOSTL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "LFDAT": {
+ "name": "LFDAT",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATKL": {
+ "name": "MATKL",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MATNR": {
+ "name": "MATNR",
+ "type": "varchar(18)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MEINS": {
+ "name": "MEINS",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "MENGE": {
+ "name": "MENGE",
+ "type": "numeric(15, 3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PEINH": {
+ "name": "PEINH",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PERNR": {
+ "name": "PERNR",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "POSID": {
+ "name": "POSID",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PREIS": {
+ "name": "PREIS",
+ "type": "numeric(15, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "PSPID": {
+ "name": "PSPID",
+ "type": "varchar(24)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "SAKTO": {
+ "name": "SAKTO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "TXZ01": {
+ "name": "TXZ01",
+ "type": "varchar(40)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WAERS1": {
+ "name": "WAERS1",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "WAERS2": {
+ "name": "WAERS2",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZCON_NO_PO": {
+ "name": "ZCON_NO_PO",
+ "type": "varchar(15)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZREQ_FN": {
+ "name": "ZREQ_FN",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZREQ_PO": {
+ "name": "ZREQ_PO",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ZRSLT_AMT": {
+ "name": "ZRSLT_AMT",
+ "type": "numeric(17, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "knox.employee": {
+ "name": "employee",
+ "schema": "knox",
+ "columns": {
+ "ep_id": {
+ "name": "ep_id",
+ "type": "varchar(25)",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "employee_number": {
+ "name": "employee_number",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "full_name": {
+ "name": "full_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "given_name": {
+ "name": "given_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sir_name": {
+ "name": "sir_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "company_code": {
+ "name": "company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "company_name": {
+ "name": "company_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_name": {
+ "name": "department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title_code": {
+ "name": "title_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title_name": {
+ "name": "title_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email_address": {
+ "name": "email_address",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "mobile": {
+ "name": "mobile",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "employee_status": {
+ "name": "employee_status",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "employee_type": {
+ "name": "employee_type",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "account_status": {
+ "name": "account_status",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "security_level": {
+ "name": "security_level",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "preferred_language": {
+ "name": "preferred_language",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "raw": {
+ "name": "raw",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "en_company_name": {
+ "name": "en_company_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_department_name": {
+ "name": "en_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_discription": {
+ "name": "en_discription",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_full_name": {
+ "name": "en_full_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_given_name": {
+ "name": "en_given_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_grade_name": {
+ "name": "en_grade_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_sir_name": {
+ "name": "en_sir_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_title_name": {
+ "name": "en_title_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_name": {
+ "name": "grade_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_title_indi_code": {
+ "name": "grade_title_indi_code",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "job_name": {
+ "name": "job_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "real_name_yn": {
+ "name": "real_name_yn",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "server_location": {
+ "name": "server_location",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title_sort_order": {
+ "name": "title_sort_order",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "knox_employee_company_department_idx": {
+ "name": "knox_employee_company_department_idx",
+ "columns": [
+ {
+ "expression": "company_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ },
+ {
+ "expression": "department_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "knox_employee_number_idx": {
+ "name": "knox_employee_number_idx",
+ "columns": [
+ {
+ "expression": "employee_number",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "knox_employee_user_id_idx": {
+ "name": "knox_employee_user_id_idx",
+ "columns": [
+ {
+ "expression": "user_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "knox_employee_email_idx": {
+ "name": "knox_employee_email_idx",
+ "columns": [
+ {
+ "expression": "email_address",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "knox.organization": {
+ "name": "organization",
+ "schema": "knox",
+ "columns": {
+ "company_code": {
+ "name": "company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "company_name": {
+ "name": "company_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_level": {
+ "name": "department_level",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_name": {
+ "name": "department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "department_order": {
+ "name": "department_order",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_company_name": {
+ "name": "en_company_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_department_name": {
+ "name": "en_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_manager_title": {
+ "name": "en_manager_title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_sub_org_code": {
+ "name": "en_sub_org_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "in_department_code": {
+ "name": "in_department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "low_department_yn": {
+ "name": "low_department_yn",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_id": {
+ "name": "manager_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_name": {
+ "name": "manager_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "manager_title": {
+ "name": "manager_title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "preferred_language": {
+ "name": "preferred_language",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sub_org_code": {
+ "name": "sub_org_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sub_org_name": {
+ "name": "sub_org_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "upr_department_code": {
+ "name": "upr_department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_upr_department_name": {
+ "name": "en_upr_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "upr_department_name": {
+ "name": "upr_department_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "hidden_department_yn": {
+ "name": "hidden_department_yn",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "corp_code": {
+ "name": "corp_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "corp_name": {
+ "name": "corp_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_corp_name": {
+ "name": "en_corp_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "raw": {
+ "name": "raw",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "knox_org_company_idx": {
+ "name": "knox_org_company_idx",
+ "columns": [
+ {
+ "expression": "company_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "organization_company_code_department_code_pk": {
+ "name": "organization_company_code_department_code_pk",
+ "columns": [
+ "company_code",
+ "department_code"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "knox.title": {
+ "name": "title",
+ "schema": "knox",
+ "columns": {
+ "company_code": {
+ "name": "company_code",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title_code": {
+ "name": "title_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title_name": {
+ "name": "title_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "en_title_name": {
+ "name": "en_title_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "raw": {
+ "name": "raw",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {
+ "knox_title_company_idx": {
+ "name": "knox_title_company_idx",
+ "columns": [
+ {
+ "expression": "company_code",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {
+ "title_company_code_title_code_pk": {
+ "name": "title_company_code_title_code_pk",
+ "columns": [
+ "company_code",
+ "title_code"
+ ]
+ }
+ },
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "knox.approval": {
+ "name": "approval",
+ "schema": "knox",
+ "columns": {
+ "ap_inf_id": {
+ "name": "ap_inf_id",
+ "type": "text",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "user_id": {
+ "name": "user_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "ep_id": {
+ "name": "ep_id",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email_address": {
+ "name": "email_address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "aplns": {
+ "name": "aplns",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "indexes": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ }
+ },
+ "enums": {
+ "public.user_domain": {
+ "name": "user_domain",
+ "schema": "public",
+ "values": [
+ "pending",
+ "evcp",
+ "procurement",
+ "sales",
+ "engineering",
+ "partners"
+ ]
+ },
+ "public.score_type": {
+ "name": "score_type",
+ "schema": "public",
+ "values": [
+ "fixed",
+ "variable"
+ ]
+ },
+ "public.qna_category": {
+ "name": "qna_category",
+ "schema": "public",
+ "values": [
+ "engineering",
+ "procurement",
+ "technical_sales"
+ ]
+ },
+ "public.gtc_type": {
+ "name": "gtc_type",
+ "schema": "public",
+ "values": [
+ "standard",
+ "project"
+ ]
+ },
+ "public.review_status": {
+ "name": "review_status",
+ "schema": "public",
+ "values": [
+ "draft",
+ "pending",
+ "reviewing",
+ "approved",
+ "rejected",
+ "revised"
+ ]
+ }
+ },
+ "schemas": {
+ "mdg": "mdg",
+ "soap": "soap",
+ "nonsap": "nonsap",
+ "ecc": "ecc",
+ "knox": "knox"
+ },
+ "sequences": {},
+ "roles": {},
+ "policies": {},
+ "views": {
+ "public.contracts_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "contracts_detail_view_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_no": {
+ "name": "contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contract_name": {
+ "name": "contract_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "start_date": {
+ "name": "start_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "end_date": {
+ "name": "end_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "payment_terms": {
+ "name": "payment_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_terms": {
+ "name": "delivery_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_location": {
+ "name": "delivery_location",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "total_amount": {
+ "name": "total_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount": {
+ "name": "discount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax": {
+ "name": "tax",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shipping_fee": {
+ "name": "shipping_fee",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "net_total": {
+ "name": "net_total",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "partial_shipping_allowed": {
+ "name": "partial_shipping_allowed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "partial_payment_allowed": {
+ "name": "partial_payment_allowed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"contracts\".\"id\", \"contracts\".\"contract_no\", \"contracts\".\"contract_name\", \"contracts\".\"status\", \"contracts\".\"start_date\", \"contracts\".\"end_date\", \"contracts\".\"project_id\", \"projects\".\"code\", \"projects\".\"name\", \"contracts\".\"vendor_id\", \"vendors\".\"vendor_name\", \"contracts\".\"payment_terms\", \"contracts\".\"delivery_terms\", \"contracts\".\"delivery_date\", \"contracts\".\"delivery_location\", \"contracts\".\"currency\", \"contracts\".\"total_amount\", \"contracts\".\"discount\", \"contracts\".\"tax\", \"contracts\".\"shipping_fee\", \"contracts\".\"net_total\", \"contracts\".\"partial_shipping_allowed\", \"contracts\".\"partial_payment_allowed\", \"contracts\".\"remarks\", \"contracts\".\"version\", \"contracts\".\"created_at\", \"contracts\".\"updated_at\", EXISTS (\n SELECT 1 \n FROM \"contract_envelopes\" \n WHERE \"contract_envelopes\".\"contract_id\" = \"contracts\".\"id\"\n ) as \"has_signature\", COALESCE((\n SELECT json_agg(\n json_build_object(\n 'id', ci.id,\n 'itemId', ci.item_id,\n 'description', ci.description,\n 'quantity', ci.quantity,\n 'unitPrice', ci.unit_price,\n 'taxRate', ci.tax_rate,\n 'taxAmount', ci.tax_amount,\n 'totalLineAmount', ci.total_line_amount,\n 'remark', ci.remark,\n 'createdAt', ci.created_at,\n 'updatedAt', ci.updated_at\n )\n )\n FROM \"contract_items\" AS ci\n WHERE ci.contract_id = \"contracts\".\"id\"\n ), '[]') as \"items\", COALESCE((\n SELECT json_agg(\n json_build_object(\n 'id', ce.id,\n 'envelopeId', ce.envelope_id,\n 'documentId', ce.document_id,\n 'envelopeStatus', ce.envelope_status,\n 'fileName', ce.file_name,\n 'filePath', ce.file_path,\n 'createdAt', ce.created_at,\n 'updatedAt', ce.updated_at,\n 'signers', (\n SELECT json_agg(\n json_build_object(\n 'id', cs.id,\n 'vendorContactId', cs.vendor_contact_id,\n 'signerType', cs.signer_type,\n 'signerEmail', cs.signer_email,\n 'signerName', cs.signer_name,\n 'signerPosition', cs.signer_position,\n 'signerStatus', cs.signer_status,\n 'signedAt', cs.signed_at\n )\n )\n FROM \"contract_signers\" AS cs\n WHERE cs.envelope_id = ce.id\n )\n )\n )\n FROM \"contract_envelopes\" AS ce\n WHERE ce.contract_id = \"contracts\".\"id\"\n ), '[]') as \"envelopes\" from \"contracts\" left join \"projects\" on \"contracts\".\"project_id\" = \"projects\".\"id\" left join \"vendors\" on \"contracts\".\"vendor_id\" = \"vendors\".\"id\"",
+ "name": "contracts_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.poa_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": true,
+ "notNull": true,
+ "identity": {
+ "type": "always",
+ "name": "poa_detail_view_id_seq",
+ "schema": "public",
+ "increment": "1",
+ "startWith": "1",
+ "minValue": "1",
+ "maxValue": "2147483647",
+ "cache": "1",
+ "cycle": false
+ }
+ },
+ "contract_no": {
+ "name": "contract_no",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "change_reason": {
+ "name": "change_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approval_status": {
+ "name": "approval_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'PENDING'"
+ },
+ "delivery_terms": {
+ "name": "delivery_terms",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_location": {
+ "name": "delivery_location",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_amount": {
+ "name": "total_amount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "discount": {
+ "name": "discount",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax": {
+ "name": "tax",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "shipping_fee": {
+ "name": "shipping_fee",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "net_total": {
+ "name": "net_total",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"poa\".\"id\", \"poa\".\"contract_no\", \"contracts\".\"project_id\", \"contracts\".\"vendor_id\", \"poa\".\"change_reason\", \"poa\".\"approval_status\", \"contracts\".\"contract_name\" as \"original_contract_name\", \"contracts\".\"status\" as \"original_status\", \"contracts\".\"start_date\" as \"original_start_date\", \"contracts\".\"end_date\" as \"original_end_date\", \"poa\".\"delivery_terms\", \"poa\".\"delivery_date\", \"poa\".\"delivery_location\", \"poa\".\"currency\", \"poa\".\"total_amount\", \"poa\".\"discount\", \"poa\".\"tax\", \"poa\".\"shipping_fee\", \"poa\".\"net_total\", \"poa\".\"created_at\", \"poa\".\"updated_at\", EXISTS (\n SELECT 1 \n FROM \"contract_envelopes\" \n WHERE \"contract_envelopes\".\"contract_id\" = \"poa\".\"id\"\n ) as \"has_signature\" from \"poa\" left join \"contracts\" on \"poa\".\"contract_no\" = \"contracts\".\"contract_no\"",
+ "name": "poa_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.project_approved_vendors": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING_REVIEW'"
+ },
+ "name_ko": {
+ "name": "name_ko",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name_en": {
+ "name": "name_en",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ship'"
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "approved_at": {
+ "name": "approved_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"vendors\".\"id\", \"vendors\".\"vendor_name\", \"vendors\".\"vendor_code\", \"vendors\".\"tax_id\", \"vendors\".\"email\", \"vendors\".\"phone\", \"vendors\".\"status\", \"vendor_types\".\"name_ko\", \"vendor_types\".\"name_en\", \"projects\".\"code\", \"projects\".\"name\", \"projects\".\"type\", \"vendor_pq_submissions\".\"submitted_at\", \"vendor_pq_submissions\".\"approved_at\" from \"vendors\" inner join \"vendor_pq_submissions\" on \"vendor_pq_submissions\".\"vendor_id\" = \"vendors\".\"id\" inner join \"projects\" on \"vendor_pq_submissions\".\"project_id\" = \"projects\".\"id\" left join \"vendor_types\" on \"vendors\".\"vendor_type_id\" = \"vendor_types\".\"id\" where \"vendor_pq_submissions\".\"status\" = 'APPROVED'",
+ "name": "project_approved_vendors",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_investigations_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pq_submission_id": {
+ "name": "pq_submission_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requester_id": {
+ "name": "requester_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "qm_manager_id": {
+ "name": "qm_manager_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_status": {
+ "name": "investigation_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PLANNED'"
+ },
+ "evaluation_type": {
+ "name": "evaluation_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_address": {
+ "name": "investigation_address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_method": {
+ "name": "investigation_method",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "scheduled_start_at": {
+ "name": "scheduled_start_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "scheduled_end_at": {
+ "name": "scheduled_end_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "forecasted_at": {
+ "name": "forecasted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_score": {
+ "name": "evaluation_score",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_result": {
+ "name": "evaluation_result",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "investigation_notes": {
+ "name": "investigation_notes",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"vendor_investigations\".\"id\", \"vendor_investigations\".\"vendor_id\", \"vendor_investigations\".\"pq_submission_id\", \"vendor_investigations\".\"requester_id\", \"vendor_investigations\".\"qm_manager_id\", \"vendor_investigations\".\"investigation_status\", \"vendor_investigations\".\"evaluation_type\", \"vendor_investigations\".\"investigation_address\", \"vendor_investigations\".\"investigation_method\", \"vendor_investigations\".\"scheduled_start_at\", \"vendor_investigations\".\"scheduled_end_at\", \"vendor_investigations\".\"forecasted_at\", \"vendor_investigations\".\"requested_at\", \"vendor_investigations\".\"confirmed_at\", \"vendor_investigations\".\"completed_at\", \"vendor_investigations\".\"evaluation_score\", \"vendor_investigations\".\"evaluation_result\", \"vendor_investigations\".\"investigation_notes\", \"vendor_investigations\".\"created_at\", \"vendor_investigations\".\"updated_at\", \"vendors\".\"vendor_name\", \"vendors\".\"vendor_code\", requester.name as \"requesterName\", requester.email as \"requesterEmail\", qm_manager.name as \"qmManagerName\", qm_manager.email as \"qmManagerEmail\", (\n CASE \n WHEN EXISTS (\n SELECT 1 FROM vendor_investigation_attachments via \n WHERE via.investigation_id = \"vendor_investigations\".\"id\"\n ) \n THEN true \n ELSE false \n END\n ) as \"hasAttachments\" from \"vendor_investigations\" left join \"vendors\" on \"vendor_investigations\".\"vendor_id\" = \"vendors\".\"id\" left join users AS requester on \"vendor_investigations\".\"requester_id\" = requester.id left join users AS qm_manager on \"vendor_investigations\".\"qm_manager_id\" = qm_manager.id",
+ "name": "vendor_investigations_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.cbe_view": {
+ "columns": {},
+ "definition": "select \"cbe_evaluations\".\"id\" as \"cbe_id\", \"cbe_evaluations\".\"rfq_id\" as \"rfq_id\", \"cbe_evaluations\".\"vendor_id\" as \"vendor_id\", \"cbe_evaluations\".\"total_cost\" as \"total_cost\", \"cbe_evaluations\".\"currency\" as \"currency\", \"cbe_evaluations\".\"payment_terms\" as \"payment_terms\", \"cbe_evaluations\".\"incoterms\" as \"incoterms\", \"cbe_evaluations\".\"result\" as \"result\", \"cbe_evaluations\".\"notes\" as \"notes\", \"cbe_evaluations\".\"evaluated_by\" as \"evaluated_by\", \"cbe_evaluations\".\"evaluated_at\" as \"evaluated_at\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"rfq_description\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"users\".\"name\" as \"evaluator_name\", \"users\".\"email\" as \"evaluator_email\" from \"cbe_evaluations\" inner join \"rfqs\" on \"cbe_evaluations\".\"rfq_id\" = \"rfqs\".\"id\" inner join \"vendors\" on \"cbe_evaluations\".\"vendor_id\" = \"vendors\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"users\" on \"cbe_evaluations\".\"evaluated_by\" = \"users\".\"id\"",
+ "name": "cbe_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.rfqs_view": {
+ "columns": {},
+ "definition": "select \"rfqs\".\"id\" as \"rfq_id\", \"rfqs\".\"status\" as \"status\", \"rfqs\".\"created_at\" as \"created_at\", \"rfqs\".\"updated_at\" as \"updated_at\", \"rfqs\".\"created_by\" as \"created_by\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"description\", \"rfqs\".\"due_date\" as \"due_date\", \"rfqs\".\"parent_rfq_id\" as \"parent_rfq_id\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"users\".\"email\" as \"user_email\", \"users\".\"name\" as \"user_name\", (\n SELECT COUNT(*) \n FROM \"rfq_items\" \n WHERE \"rfq_items\".\"rfq_id\" = \"rfqs\".\"id\"\n ) as \"item_count\", (\n SELECT COUNT(*) \n FROM \"rfq_attachments\" \n WHERE \"rfq_attachments\".\"rfq_id\" = \"rfqs\".\"id\"\n ) as \"attachment_count\" from \"rfqs\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"users\" on \"rfqs\".\"created_by\" = \"users\".\"id\"",
+ "name": "rfqs_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_cbe_view": {
+ "columns": {},
+ "definition": "select \"vendors\".\"id\" as \"vendor_id\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"address\" as \"address\", \"vendors\".\"country\" as \"country\", \"vendors\".\"email\" as \"email\", \"vendors\".\"website\" as \"website\", \"vendors\".\"status\" as \"vendor_status\", \"vendor_responses\".\"id\" as \"vendor_response_id\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"response_status\" as \"rfq_vendor_status\", \"vendor_responses\".\"updated_at\" as \"rfq_vendor_updated\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"rfqs\".\"description\" as \"description\", \"rfqs\".\"due_date\" as \"due_date\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"cbe_evaluations\".\"id\" as \"cbe_id\", \"cbe_evaluations\".\"result\" as \"cbe_result\", \"cbe_evaluations\".\"notes\" as \"cbe_note\", \"cbe_evaluations\".\"updated_at\" as \"cbe_updated\", \"cbe_evaluations\".\"total_cost\" as \"total_cost\", \"cbe_evaluations\".\"currency\" as \"currency\", \"cbe_evaluations\".\"payment_terms\" as \"payment_terms\", \"cbe_evaluations\".\"incoterms\" as \"incoterms\", \"cbe_evaluations\".\"delivery_schedule\" as \"delivery_schedule\" from \"vendors\" left join \"vendor_responses\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"cbe_evaluations\" on (\"cbe_evaluations\".\"vendor_id\" = \"vendors\".\"id\" and \"cbe_evaluations\".\"rfq_id\" = \"vendor_responses\".\"rfq_id\")",
+ "name": "vendor_cbe_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_response_cbe_view": {
+ "columns": {},
+ "definition": "select \"vendor_responses\".\"id\" as \"response_id\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"vendor_id\" as \"vendor_id\", \"vendor_responses\".\"response_status\" as \"response_status\", \"vendor_responses\".\"notes\" as \"response_notes\", \"vendor_responses\".\"responded_by\" as \"responded_by\", \"vendor_responses\".\"responded_at\" as \"responded_at\", \"vendor_responses\".\"updated_at\" as \"response_updated_at\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"rfq_description\", \"rfqs\".\"due_date\" as \"rfq_due_date\", \"rfqs\".\"status\" as \"rfq_status\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"status\" as \"vendor_status\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"vendor_commercial_responses\".\"id\" as \"commercial_response_id\", \"vendor_commercial_responses\".\"response_status\" as \"commercial_response_status\", \"vendor_commercial_responses\".\"total_price\" as \"total_price\", \"vendor_commercial_responses\".\"currency\" as \"currency\", \"vendor_commercial_responses\".\"payment_terms\" as \"payment_terms\", \"vendor_commercial_responses\".\"incoterms\" as \"incoterms\", \"vendor_commercial_responses\".\"delivery_period\" as \"delivery_period\", \"vendor_commercial_responses\".\"warranty_period\" as \"warranty_period\", \"vendor_commercial_responses\".\"validity_period\" as \"validity_period\", \"vendor_commercial_responses\".\"price_breakdown\" as \"price_breakdown\", \"vendor_commercial_responses\".\"commercial_notes\" as \"commercial_notes\", \"vendor_commercial_responses\".\"created_at\" as \"commercial_created_at\", \"vendor_commercial_responses\".\"updated_at\" as \"commercial_updated_at\", (\n SELECT COUNT(*) \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"response_id\" = \"vendor_responses\".\"id\"\n ) as \"attachment_count\", (\n SELECT COUNT(*) \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"commercial_response_id\" = \"vendor_commercial_responses\".\"id\"\n ) as \"commercial_attachment_count\", (\n SELECT COUNT(*) \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"response_id\" = \"vendor_responses\".\"id\"\n AND \"vendor_response_attachments\".\"attachment_type\" = 'TECHNICAL_SPEC'\n ) as \"technical_attachment_count\", (\n SELECT MAX(\"uploaded_at\") \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"response_id\" = \"vendor_responses\".\"id\"\n ) as \"latest_attachment_date\" from \"vendor_responses\" inner join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" inner join \"vendors\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"vendor_commercial_responses\" on \"vendor_commercial_responses\".\"response_id\" = \"vendor_responses\".\"id\"",
+ "name": "vendor_response_cbe_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_responses_view": {
+ "columns": {},
+ "definition": "select \"vendor_responses\".\"id\" as \"response_id\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"vendor_id\" as \"vendor_id\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"rfq_description\", \"rfqs\".\"due_date\" as \"rfq_due_date\", \"rfqs\".\"status\" as \"rfq_status\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"rfqs\".\"created_at\" as \"rfq_created_at\", \"rfqs\".\"updated_at\" as \"rfq_updated_at\", \"rfqs\".\"created_by\" as \"rfq_created_by\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendor_responses\".\"response_status\" as \"response_status\", \"vendor_responses\".\"responded_at\" as \"responded_at\", CASE WHEN \"vendor_technical_responses\".\"id\" IS NOT NULL THEN TRUE ELSE FALSE END as \"has_technical_response\", \"vendor_technical_responses\".\"id\" as \"technical_response_id\", CASE WHEN \"vendor_commercial_responses\".\"id\" IS NOT NULL THEN TRUE ELSE FALSE END as \"has_commercial_response\", \"vendor_commercial_responses\".\"id\" as \"commercial_response_id\", \"vendor_commercial_responses\".\"total_price\" as \"total_price\", \"vendor_commercial_responses\".\"currency\" as \"currency\", \"rfq_evaluations\".\"id\" as \"tbe_id\", \"rfq_evaluations\".\"result\" as \"tbe_result\", \"cbe_evaluations\".\"id\" as \"cbe_id\", \"cbe_evaluations\".\"result\" as \"cbe_result\", (\n SELECT COUNT(*) \n FROM \"vendor_response_attachments\" \n WHERE \"vendor_response_attachments\".\"response_id\" = \"vendor_responses\".\"id\"\n ) as \"attachment_count\" from \"vendor_responses\" inner join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" inner join \"vendors\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"vendor_technical_responses\" on \"vendor_technical_responses\".\"response_id\" = \"vendor_responses\".\"id\" left join \"vendor_commercial_responses\" on \"vendor_commercial_responses\".\"response_id\" = \"vendor_responses\".\"id\" left join \"rfq_evaluations\" on (\"rfq_evaluations\".\"rfq_id\" = \"vendor_responses\".\"rfq_id\" and \"rfq_evaluations\".\"vendor_id\" = \"vendor_responses\".\"vendor_id\" and \"rfq_evaluations\".\"eval_type\" = 'TBE') left join \"cbe_evaluations\" on (\"cbe_evaluations\".\"rfq_id\" = \"vendor_responses\".\"rfq_id\" and \"cbe_evaluations\".\"vendor_id\" = \"vendor_responses\".\"vendor_id\")",
+ "name": "vendor_responses_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_rfq_view": {
+ "columns": {},
+ "definition": "select \"vendors\".\"id\" as \"vendor_id\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"address\" as \"address\", \"vendors\".\"country\" as \"country\", \"vendors\".\"email\" as \"email\", \"vendors\".\"website\" as \"website\", \"vendors\".\"status\" as \"vendor_status\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"response_status\" as \"rfq_vendor_status\", \"vendor_responses\".\"updated_at\" as \"rfq_vendor_updated\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"description\" as \"description\", \"rfqs\".\"due_date\" as \"due_date\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\" from \"vendors\" left join \"vendor_responses\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\"",
+ "name": "vendor_rfq_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_tbe_view": {
+ "columns": {},
+ "definition": "select \"vendors\".\"id\" as \"vendor_id\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"address\" as \"address\", \"vendors\".\"country\" as \"country\", \"vendors\".\"email\" as \"email\", \"vendors\".\"website\" as \"website\", \"vendors\".\"status\" as \"vendor_status\", \"vendor_responses\".\"id\" as \"vendor_response_id\", \"vendor_responses\".\"rfq_id\" as \"rfq_id\", \"vendor_responses\".\"response_status\" as \"rfq_vendor_status\", \"vendor_responses\".\"updated_at\" as \"rfq_vendor_updated\", \"vendor_technical_responses\".\"id\" as \"technical_response_id\", \"vendor_technical_responses\".\"response_status\" as \"technical_response_status\", \"vendor_technical_responses\".\"summary\" as \"technical_summary\", \"vendor_technical_responses\".\"notes\" as \"technical_notes\", \"vendor_technical_responses\".\"updated_at\" as \"technical_updated\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"rfqs\".\"rfq_type\" as \"rfq_type\", \"rfqs\".\"status\" as \"rfq_status\", \"rfqs\".\"description\" as \"description\", \"rfqs\".\"due_date\" as \"due_date\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"rfq_evaluations\".\"id\" as \"tbe_id\", \"rfq_evaluations\".\"result\" as \"tbe_result\", \"rfq_evaluations\".\"notes\" as \"tbe_note\", \"rfq_evaluations\".\"updated_at\" as \"tbe_updated\" from \"vendors\" left join \"vendor_responses\" on \"vendor_responses\".\"vendor_id\" = \"vendors\".\"id\" left join \"rfqs\" on \"vendor_responses\".\"rfq_id\" = \"rfqs\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"vendor_technical_responses\" on \"vendor_technical_responses\".\"response_id\" = \"vendor_responses\".\"id\" left join \"rfq_evaluations\" on (\"rfq_evaluations\".\"vendor_id\" = \"vendors\".\"id\" and \"rfq_evaluations\".\"eval_type\" = 'TBE' and \"rfq_evaluations\".\"rfq_id\" = \"vendor_responses\".\"rfq_id\")",
+ "name": "vendor_tbe_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.role_view": {
+ "columns": {},
+ "definition": "select \"roles\".\"id\" as \"id\", \"roles\".\"name\" as \"name\", \"roles\".\"description\" as \"description\", \"roles\".\"domain\" as \"domain\", \"roles\".\"created_at\" as \"created_at\", \"vendors\".\"id\" as \"company_id\", \"vendors\".\"vendor_name\" as \"company_name\", COUNT(\"users\".\"id\") as \"user_count\" from \"roles\" left join \"user_roles\" on \"user_roles\".\"role_id\" = \"roles\".\"id\" left join \"users\" on \"users\".\"id\" = \"user_roles\".\"user_id\" left join \"vendors\" on \"roles\".\"company_id\" = \"vendors\".\"id\" group by \"roles\".\"id\", \"vendors\".\"id\"",
+ "name": "role_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.user_view": {
+ "columns": {},
+ "definition": "select \"users\".\"id\" as \"user_id\", \"users\".\"name\" as \"user_name\", \"users\".\"phone\" as \"user_phone\", \"users\".\"email\" as \"user_email\", \"users\".\"domain\" as \"user_domain\", \"users\".\"image_url\" as \"user_image\", \"vendors\".\"id\" as \"company_id\", \"vendors\".\"vendor_name\" as \"company_name\", \n array_agg(\"roles\".\"name\")\n as \"roles\", \"users\".\"created_at\" as \"created_at\" from \"users\" left join \"vendors\" on \"users\".\"company_id\" = \"vendors\".\"id\" left join \"user_roles\" on \"users\".\"id\" = \"user_roles\".\"user_id\" left join \"roles\" on \"user_roles\".\"role_id\" = \"roles\".\"id\" group by \"users\".\"id\", \"vendors\".\"id\"",
+ "name": "user_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.form_lists_view": {
+ "columns": {},
+ "definition": "select \"tag_type_class_form_mappings\".\"id\" as \"id\", \"tag_type_class_form_mappings\".\"project_id\" as \"project_id\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"tag_type_class_form_mappings\".\"tag_type_label\" as \"tag_type_label\", \"tag_type_class_form_mappings\".\"class_label\" as \"class_label\", \"tag_type_class_form_mappings\".\"form_code\" as \"form_code\", \"tag_type_class_form_mappings\".\"form_name\" as \"form_name\", \"tag_type_class_form_mappings\".\"ep\" as \"ep\", \"tag_type_class_form_mappings\".\"remark\" as \"remark\", \"tag_type_class_form_mappings\".\"created_at\" as \"created_at\", \"tag_type_class_form_mappings\".\"updated_at\" as \"updated_at\" from \"tag_type_class_form_mappings\" inner join \"projects\" on \"tag_type_class_form_mappings\".\"project_id\" = \"projects\".\"id\"",
+ "name": "form_lists_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.view_tag_subfields": {
+ "columns": {
+ "tag_type_code": {
+ "name": "tag_type_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_id": {
+ "name": "attributes_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "attributes_description": {
+ "name": "attributes_description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "expression": {
+ "name": "expression",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delimiter": {
+ "name": "delimiter",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"tag_subfields\".\"id\" as \"id\", \"tag_subfields\".\"tag_type_code\", \"tag_types\".\"description\", \"tag_subfields\".\"attributes_id\", \"tag_subfields\".\"attributes_description\", \"tag_subfields\".\"expression\", \"tag_subfields\".\"delimiter\", \"tag_subfields\".\"sort_order\", \"tag_subfields\".\"created_at\", \"tag_subfields\".\"updated_at\", \"projects\".\"id\" as \"project_id\", \"projects\".\"code\", \"projects\".\"name\" from \"tag_subfields\" inner join \"tag_types\" on (\"tag_subfields\".\"tag_type_code\" = \"tag_types\".\"code\" and \"tag_subfields\".\"project_id\" = \"tag_types\".\"project_id\") inner join \"projects\" on \"tag_subfields\".\"project_id\" = \"projects\".\"id\"",
+ "name": "view_tag_subfields",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.document_stages_only_view": {
+ "columns": {
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "drawing_kind": {
+ "name": "drawing_kind",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_doc_number": {
+ "name": "vendor_doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pic": {
+ "name": "pic",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_code": {
+ "name": "project_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_id": {
+ "name": "current_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_name": {
+ "name": "current_stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_status": {
+ "name": "current_stage_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_order": {
+ "name": "current_stage_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_plan_date": {
+ "name": "current_stage_plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_actual_date": {
+ "name": "current_stage_actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_assignee_name": {
+ "name": "current_stage_assignee_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_priority": {
+ "name": "current_stage_priority",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_until_due": {
+ "name": "days_until_due",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_overdue": {
+ "name": "is_overdue",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_difference": {
+ "name": "days_difference",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_stages": {
+ "name": "total_stages",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_stages": {
+ "name": "completed_stages",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "progress_percentage": {
+ "name": "progress_percentage",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "all_stages": {
+ "name": "all_stages",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n WITH document_stats AS (\n SELECT \n d.id as document_id,\n COUNT(ist.id) as total_stages,\n COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) as completed_stages,\n CASE \n WHEN COUNT(ist.id) > 0 \n THEN ROUND((COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) * 100.0) / COUNT(ist.id))\n ELSE 0 \n END as progress_percentage\n FROM documents d\n LEFT JOIN issue_stages ist ON d.id = ist.document_id\n GROUP BY d.id\n ),\n current_stage_info AS (\n SELECT DISTINCT ON (document_id)\n document_id,\n id as current_stage_id,\n stage_name as current_stage_name,\n stage_status as current_stage_status,\n stage_order as current_stage_order,\n plan_date as current_stage_plan_date,\n actual_date as current_stage_actual_date,\n assignee_name as current_stage_assignee_name,\n priority as current_stage_priority,\n CASE \n WHEN actual_date IS NULL AND plan_date IS NOT NULL \n THEN plan_date - CURRENT_DATE\n ELSE NULL \n END as days_until_due,\n CASE \n WHEN actual_date IS NULL AND plan_date < CURRENT_DATE \n THEN true\n WHEN actual_date IS NOT NULL AND actual_date > plan_date \n THEN true\n ELSE false \n END as is_overdue,\n CASE \n WHEN actual_date IS NOT NULL AND plan_date IS NOT NULL \n THEN actual_date - plan_date\n ELSE NULL \n END as days_difference\n FROM issue_stages\n WHERE stage_status NOT IN ('COMPLETED', 'APPROVED')\n ORDER BY document_id, stage_order ASC, priority DESC\n ),\n -- 문서별 스테이지 집계 (리비전 제외)\n stage_aggregation AS (\n SELECT \n ist.document_id,\n json_agg(\n json_build_object(\n 'id', ist.id,\n 'stageName', ist.stage_name,\n 'stageStatus', ist.stage_status,\n 'stageOrder', ist.stage_order,\n 'planDate', ist.plan_date,\n 'actualDate', ist.actual_date,\n 'assigneeName', ist.assignee_name,\n 'priority', ist.priority,\n 'description', ist.description,\n 'notes', ist.notes,\n 'reminderDays', ist.reminder_days\n ) ORDER BY ist.stage_order\n ) as all_stages\n FROM issue_stages ist\n GROUP BY ist.document_id\n )\n \n SELECT \n d.id as document_id,\n d.doc_number,\n d.drawing_kind,\n d.vendor_doc_number,\n d.title,\n d.pic,\n d.status,\n d.issued_date,\n d.contract_id,\n \n -- 프로젝트 및 벤더 정보\n p.code as project_code,\n v.vendor_name as vendor_name,\n v.vendor_code as vendor_code,\n c.vendor_id as vendor_id,\n \n -- 현재 스테이지 정보\n csi.current_stage_id,\n csi.current_stage_name,\n csi.current_stage_status,\n csi.current_stage_order,\n csi.current_stage_plan_date,\n csi.current_stage_actual_date,\n csi.current_stage_assignee_name,\n csi.current_stage_priority,\n \n -- 계산 필드\n csi.days_until_due,\n csi.is_overdue,\n csi.days_difference,\n \n -- 진행률 정보\n ds.total_stages,\n ds.completed_stages,\n ds.progress_percentage,\n \n -- 전체 스테이지 (리비전 제외)\n COALESCE(sa.all_stages, '[]'::json) as all_stages,\n \n -- 메타 정보\n d.created_at,\n d.updated_at\n \n FROM documents d\n -- 프로젝트 및 벤더 정보 JOIN\n LEFT JOIN contracts c ON d.contract_id = c.id\n LEFT JOIN projects p ON c.project_id = p.id\n LEFT JOIN vendors v ON c.vendor_id = v.id\n \n -- 스테이지 관련 정보 JOIN\n LEFT JOIN document_stats ds ON d.id = ds.document_id\n LEFT JOIN current_stage_info csi ON d.id = csi.document_id\n LEFT JOIN stage_aggregation sa ON d.id = sa.document_id\n \n ORDER BY d.created_at DESC\n",
+ "name": "document_stages_only_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.document_stages_view": {
+ "columns": {
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stage_count": {
+ "name": "stage_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "stage_list": {
+ "name": "stage_list",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n SELECT\n d.id AS document_id,\n d.doc_number,\n d.title,\n d.status,\n d.issued_date,\n d.contract_id,\n (SELECT COUNT(*) FROM issue_stages WHERE document_id = d.id) AS stage_count,\n COALESCE( \n (SELECT json_agg(i.stage_name) FROM issue_stages i WHERE i.document_id = d.id), \n '[]'\n ) AS stage_list,\n d.created_at,\n d.updated_at\n FROM documents d\n",
+ "name": "document_stages_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.enhanced_documents_view": {
+ "columns": {
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "drawing_kind": {
+ "name": "drawing_kind",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_doc_number": {
+ "name": "vendor_doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pic": {
+ "name": "pic",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_code": {
+ "name": "project_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "c_gbn": {
+ "name": "c_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "d_gbn": {
+ "name": "d_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "degree_gbn": {
+ "name": "degree_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dept_gbn": {
+ "name": "dept_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "j_gbn": {
+ "name": "j_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "s_gbn": {
+ "name": "s_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_id": {
+ "name": "current_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_name": {
+ "name": "current_stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_status": {
+ "name": "current_stage_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_order": {
+ "name": "current_stage_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_plan_date": {
+ "name": "current_stage_plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_actual_date": {
+ "name": "current_stage_actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_assignee_name": {
+ "name": "current_stage_assignee_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_stage_priority": {
+ "name": "current_stage_priority",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_until_due": {
+ "name": "days_until_due",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_overdue": {
+ "name": "is_overdue",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_difference": {
+ "name": "days_difference",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_stages": {
+ "name": "total_stages",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completed_stages": {
+ "name": "completed_stages",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "progress_percentage": {
+ "name": "progress_percentage",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_id": {
+ "name": "latest_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision": {
+ "name": "latest_revision",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_status": {
+ "name": "latest_revision_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_uploader_name": {
+ "name": "latest_revision_uploader_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_submitted_date": {
+ "name": "latest_submitted_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "all_stages": {
+ "name": "all_stages",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_count": {
+ "name": "attachment_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n WITH document_stats AS (\n SELECT \n d.id as document_id,\n COUNT(ist.id) as total_stages,\n COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) as completed_stages,\n CASE \n WHEN COUNT(ist.id) > 0 \n THEN ROUND((COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) * 100.0) / COUNT(ist.id))\n ELSE 0 \n END as progress_percentage\n FROM documents d\n LEFT JOIN issue_stages ist ON d.id = ist.document_id\n GROUP BY d.id\n ),\n current_stage_info AS (\n SELECT DISTINCT ON (document_id)\n document_id,\n id as current_stage_id,\n stage_name as current_stage_name,\n stage_status as current_stage_status,\n stage_order as current_stage_order,\n plan_date as current_stage_plan_date,\n actual_date as current_stage_actual_date,\n assignee_name as current_stage_assignee_name,\n priority as current_stage_priority,\n CASE \n WHEN actual_date IS NULL AND plan_date IS NOT NULL \n THEN plan_date - CURRENT_DATE\n ELSE NULL \n END as days_until_due,\n CASE \n WHEN actual_date IS NULL AND plan_date < CURRENT_DATE \n THEN true\n WHEN actual_date IS NOT NULL AND actual_date > plan_date \n THEN true\n ELSE false \n END as is_overdue,\n CASE \n WHEN actual_date IS NOT NULL AND plan_date IS NOT NULL \n THEN actual_date - plan_date\n ELSE NULL \n END as days_difference\n FROM issue_stages\n WHERE stage_status NOT IN ('COMPLETED', 'APPROVED')\n ORDER BY document_id, stage_order ASC, priority DESC\n ),\n latest_revision_info AS (\n SELECT DISTINCT ON (ist.document_id)\n ist.document_id,\n r.id as latest_revision_id,\n r.revision as latest_revision,\n r.revision_status as latest_revision_status,\n r.uploader_name as latest_revision_uploader_name,\n r.submitted_date as latest_submitted_date\n FROM revisions r\n JOIN issue_stages ist ON r.issue_stage_id = ist.id\n ORDER BY ist.document_id, r.created_at DESC\n ),\n -- 리비전별 첨부파일 집계\n revision_attachments AS (\n SELECT \n r.id as revision_id,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', da.id,\n 'revisionId', da.revision_id,\n 'fileName', da.file_name,\n 'filePath', da.file_path,\n 'fileSize', da.file_size,\n 'fileType', da.file_type,\n 'createdAt', da.created_at,\n 'updatedAt', da.updated_at\n ) ORDER BY da.created_at\n ) FILTER (WHERE da.id IS NOT NULL),\n '[]'::json\n ) as attachments\n FROM revisions r\n LEFT JOIN document_attachments da ON r.id = da.revision_id\n GROUP BY r.id\n ),\n -- 스테이지별 리비전 집계 (첨부파일 포함)\n stage_revisions AS (\n SELECT \n ist.id as stage_id,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', r.id,\n 'issueStageId', r.issue_stage_id,\n 'revision', r.revision,\n 'uploaderType', r.uploader_type,\n 'uploaderId', r.uploader_id,\n 'uploaderName', r.uploader_name,\n 'comment', r.comment,\n 'usage', r.usage,\n 'revisionStatus', r.revision_status,\n 'submittedDate', r.submitted_date,\n 'uploadedAt', r.uploaded_at,\n 'approvedDate', r.approved_date,\n 'reviewStartDate', r.review_start_date,\n 'rejectedDate', r.rejected_date,\n 'reviewerId', r.reviewer_id,\n 'reviewerName', r.reviewer_name,\n 'reviewComments', r.review_comments,\n 'createdAt', r.created_at,\n 'updatedAt', r.updated_at,\n 'attachments', ra.attachments\n ) ORDER BY r.created_at\n ) FILTER (WHERE r.id IS NOT NULL),\n '[]'::json\n ) as revisions\n FROM issue_stages ist\n LEFT JOIN revisions r ON ist.id = r.issue_stage_id\n LEFT JOIN revision_attachments ra ON r.id = ra.revision_id\n GROUP BY ist.id\n ),\n -- 문서별 스테이지 집계 (리비전 포함)\n stage_aggregation AS (\n SELECT \n ist.document_id,\n json_agg(\n json_build_object(\n 'id', ist.id,\n 'stageName', ist.stage_name,\n 'stageStatus', ist.stage_status,\n 'stageOrder', ist.stage_order,\n 'planDate', ist.plan_date,\n 'actualDate', ist.actual_date,\n 'assigneeName', ist.assignee_name,\n 'priority', ist.priority,\n 'revisions', sr.revisions\n ) ORDER BY ist.stage_order\n ) as all_stages\n FROM issue_stages ist\n LEFT JOIN stage_revisions sr ON ist.id = sr.stage_id\n GROUP BY ist.document_id\n ),\n attachment_counts AS (\n SELECT \n ist.document_id,\n COUNT(da.id) as attachment_count\n FROM issue_stages ist\n LEFT JOIN revisions r ON ist.id = r.issue_stage_id\n LEFT JOIN document_attachments da ON r.id = da.revision_id\n GROUP BY ist.document_id\n )\n \n SELECT \n d.id as document_id,\n d.doc_number,\n d.drawing_kind,\n d.vendor_doc_number, -- ✅ 벤더 문서 번호 추가\n d.title,\n d.pic,\n d.status,\n d.issued_date,\n d.contract_id,\n\n d.c_gbn,\n d.d_gbn,\n d.degree_gbn,\n d.dept_gbn,\n d.s_gbn,\n d.j_gbn,\n\n\n \n -- ✅ 프로젝트 및 벤더 정보 추가\n p.code as project_code,\n v.vendor_name as vendor_name,\n v.vendor_code as vendor_code,\n c.vendor_id as vendor_id,\n \n -- 현재 스테이지 정보\n csi.current_stage_id,\n csi.current_stage_name,\n csi.current_stage_status,\n csi.current_stage_order,\n csi.current_stage_plan_date,\n csi.current_stage_actual_date,\n csi.current_stage_assignee_name,\n csi.current_stage_priority,\n \n -- 계산 필드\n csi.days_until_due,\n csi.is_overdue,\n csi.days_difference,\n \n -- 진행률 정보\n ds.total_stages,\n ds.completed_stages,\n ds.progress_percentage,\n \n -- 최신 리비전 정보\n lri.latest_revision_id,\n lri.latest_revision,\n lri.latest_revision_status,\n lri.latest_revision_uploader_name,\n lri.latest_submitted_date,\n \n -- 전체 스테이지 (리비전 및 첨부파일 포함)\n COALESCE(sa.all_stages, '[]'::json) as all_stages,\n \n -- 기타\n COALESCE(ac.attachment_count, 0) as attachment_count,\n d.created_at,\n d.updated_at\n \n FROM documents d\n -- ✅ contracts, projects, vendors 테이블 JOIN 추가\n LEFT JOIN contracts c ON d.contract_id = c.id\n LEFT JOIN projects p ON c.project_id = p.id\n LEFT JOIN vendors v ON c.vendor_id = v.id\n \n LEFT JOIN document_stats ds ON d.id = ds.document_id\n LEFT JOIN current_stage_info csi ON d.id = csi.document_id\n LEFT JOIN latest_revision_info lri ON d.id = lri.document_id\n LEFT JOIN stage_aggregation sa ON d.id = sa.document_id\n LEFT JOIN attachment_counts ac ON d.id = ac.document_id\n \n ORDER BY d.created_at DESC\n",
+ "name": "enhanced_documents_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.simplified_documents_view": {
+ "columns": {
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "drawing_kind": {
+ "name": "drawing_kind",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_doc_number": {
+ "name": "vendor_doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pic": {
+ "name": "pic",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_code": {
+ "name": "project_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "c_gbn": {
+ "name": "c_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "d_gbn": {
+ "name": "d_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "degree_gbn": {
+ "name": "degree_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "dept_gbn": {
+ "name": "dept_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "j_gbn": {
+ "name": "j_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "s_gbn": {
+ "name": "s_gbn",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "first_stage_id": {
+ "name": "first_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "first_stage_name": {
+ "name": "first_stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "first_stage_plan_date": {
+ "name": "first_stage_plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "first_stage_actual_date": {
+ "name": "first_stage_actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "second_stage_id": {
+ "name": "second_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "second_stage_name": {
+ "name": "second_stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "second_stage_plan_date": {
+ "name": "second_stage_plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "second_stage_actual_date": {
+ "name": "second_stage_actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "all_stages": {
+ "name": "all_stages",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_count": {
+ "name": "attachment_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n WITH \n -- 리비전별 첨부파일 집계\n revision_attachments AS (\n SELECT \n r.id as revision_id,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', da.id,\n 'revisionId', da.revision_id,\n 'fileName', da.file_name,\n 'filePath', da.file_path,\n 'fileSize', da.file_size,\n 'fileType', da.file_type,\n 'createdAt', da.created_at,\n 'updatedAt', da.updated_at\n ) ORDER BY da.created_at\n ) FILTER (WHERE da.id IS NOT NULL),\n '[]'::json\n ) as attachments\n FROM revisions r\n LEFT JOIN document_attachments da ON r.id = da.revision_id\n GROUP BY r.id\n ),\n -- 스테이지별 리비전 집계 (첨부파일 포함)\n stage_revisions AS (\n SELECT \n ist.id as stage_id,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', r.id,\n 'issueStageId', r.issue_stage_id,\n 'revision', r.revision,\n 'uploaderType', r.uploader_type,\n 'uploaderId', r.uploader_id,\n 'uploaderName', r.uploader_name,\n 'comment', r.comment,\n 'usage', r.usage,\n 'usageType', r.usage_type,\n 'revisionStatus', r.revision_status,\n 'submittedDate', r.submitted_date,\n 'uploadedAt', r.uploaded_at,\n 'approvedDate', r.approved_date,\n 'reviewStartDate', r.review_start_date,\n 'rejectedDate', r.rejected_date,\n 'reviewerId', r.reviewer_id,\n 'reviewerName', r.reviewer_name,\n 'reviewComments', r.review_comments,\n 'createdAt', r.created_at,\n 'updatedAt', r.updated_at,\n 'attachments', ra.attachments\n ) ORDER BY r.created_at\n ) FILTER (WHERE r.id IS NOT NULL),\n '[]'::json\n ) as revisions\n FROM issue_stages ist\n LEFT JOIN revisions r ON ist.id = r.issue_stage_id\n LEFT JOIN revision_attachments ra ON r.id = ra.revision_id\n GROUP BY ist.id\n ),\n -- 문서별 스테이지 집계 (리비전 포함)\n stage_aggregation AS (\n SELECT \n ist.document_id,\n json_agg(\n json_build_object(\n 'id', ist.id,\n 'stageName', ist.stage_name,\n 'stageStatus', ist.stage_status,\n 'stageOrder', ist.stage_order,\n 'planDate', ist.plan_date,\n 'actualDate', ist.actual_date,\n 'assigneeName', ist.assignee_name,\n 'priority', ist.priority,\n 'revisions', sr.revisions\n ) ORDER BY ist.stage_order\n ) as all_stages\n FROM issue_stages ist\n LEFT JOIN stage_revisions sr ON ist.id = sr.stage_id\n GROUP BY ist.document_id\n ),\n -- 첫 번째 스테이지 정보 (drawingKind에 따라 다른 조건)\n first_stage_info AS (\n SELECT DISTINCT ON (ist.document_id)\n ist.document_id,\n ist.id as first_stage_id,\n ist.stage_name as first_stage_name,\n ist.plan_date as first_stage_plan_date,\n ist.actual_date as first_stage_actual_date\n FROM issue_stages ist\n JOIN documents d ON ist.document_id = d.id\n WHERE \n (d.drawing_kind = 'B4' AND LOWER(ist.stage_name) LIKE '%pre%') OR\n (d.drawing_kind = 'B3' AND LOWER(ist.stage_name) LIKE '%approval%') OR\n (d.drawing_kind = 'B5' AND LOWER(ist.stage_name) LIKE '%first%')\n ORDER BY ist.document_id, ist.stage_order ASC\n ),\n -- 두 번째 스테이지 정보 (drawingKind에 따라 다른 조건)\n second_stage_info AS (\n SELECT DISTINCT ON (ist.document_id)\n ist.document_id,\n ist.id as second_stage_id,\n ist.stage_name as second_stage_name,\n ist.plan_date as second_stage_plan_date,\n ist.actual_date as second_stage_actual_date\n FROM issue_stages ist\n JOIN documents d ON ist.document_id = d.id\n WHERE \n (d.drawing_kind = 'B4' AND LOWER(ist.stage_name) LIKE '%work%') OR\n (d.drawing_kind = 'B3' AND LOWER(ist.stage_name) LIKE '%work%') OR\n (d.drawing_kind = 'B5' AND LOWER(ist.stage_name) LIKE '%second%')\n ORDER BY ist.document_id, ist.stage_order ASC\n ),\n -- 첨부파일 수 집계\n attachment_counts AS (\n SELECT \n ist.document_id,\n COUNT(da.id) as attachment_count\n FROM issue_stages ist\n LEFT JOIN revisions r ON ist.id = r.issue_stage_id\n LEFT JOIN document_attachments da ON r.id = da.revision_id\n GROUP BY ist.document_id\n )\n \n SELECT \n d.id as document_id,\n d.doc_number,\n d.drawing_kind,\n d.vendor_doc_number,\n d.title,\n d.pic,\n d.status,\n d.issued_date,\n d.contract_id,\n \n -- B4 전용 필드들\n d.c_gbn,\n d.d_gbn,\n d.degree_gbn,\n d.dept_gbn,\n d.s_gbn,\n d.j_gbn,\n \n -- 프로젝트 및 벤더 정보\n p.code as project_code,\n v.vendor_name as vendor_name,\n v.vendor_code as vendor_code,\n \n -- 첫 번째 스테이지 정보\n fsi.first_stage_id,\n fsi.first_stage_name,\n fsi.first_stage_plan_date,\n fsi.first_stage_actual_date,\n \n -- 두 번째 스테이지 정보\n ssi.second_stage_id,\n ssi.second_stage_name,\n ssi.second_stage_plan_date,\n ssi.second_stage_actual_date,\n \n -- 전체 스테이지 (리비전 및 첨부파일 포함)\n COALESCE(sa.all_stages, '[]'::json) as all_stages,\n \n -- 기타\n COALESCE(ac.attachment_count, 0) as attachment_count,\n d.created_at,\n d.updated_at\n \n FROM documents d\n -- contracts, projects, vendors 테이블 JOIN\n LEFT JOIN contracts c ON d.contract_id = c.id\n INNER JOIN projects p ON c.project_id = p.id AND p.type = 'ship'\n LEFT JOIN vendors v ON c.vendor_id = v.id\n \n -- 스테이지 정보 JOIN\n LEFT JOIN first_stage_info fsi ON d.id = fsi.document_id\n LEFT JOIN second_stage_info ssi ON d.id = ssi.document_id\n LEFT JOIN stage_aggregation sa ON d.id = sa.document_id\n LEFT JOIN attachment_counts ac ON d.id = ac.document_id\n \n ORDER BY d.created_at DESC\n",
+ "name": "simplified_documents_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.sync_status_view": {
+ "columns": {
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "target_system": {
+ "name": "target_system",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "total_changes": {
+ "name": "total_changes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pending_changes": {
+ "name": "pending_changes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "synced_changes": {
+ "name": "synced_changes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "failed_changes": {
+ "name": "failed_changes",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "last_sync_at": {
+ "name": "last_sync_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "next_sync_at": {
+ "name": "next_sync_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sync_enabled": {
+ "name": "sync_enabled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n WITH change_stats AS (\n SELECT \n cl.contract_id,\n sc.target_system,\n COUNT(*) as total_changes,\n COUNT(CASE WHEN cl.is_synced = false AND cl.sync_attempts < sc.retry_max_attempts THEN 1 END) as pending_changes,\n COUNT(CASE WHEN cl.is_synced = true THEN 1 END) as synced_changes,\n COUNT(CASE WHEN cl.sync_attempts >= sc.retry_max_attempts AND cl.is_synced = false THEN 1 END) as failed_changes,\n MAX(cl.synced_at) as last_sync_at\n FROM change_logs cl\n CROSS JOIN sync_configs sc \n WHERE cl.contract_id = sc.contract_id\n AND (cl.target_systems IS NULL OR cl.target_systems @> to_jsonb(sc.target_system))\n GROUP BY cl.contract_id, sc.target_system\n )\n SELECT \n cs.contract_id,\n cs.target_system,\n COALESCE(cs.total_changes, 0) as total_changes,\n COALESCE(cs.pending_changes, 0) as pending_changes,\n COALESCE(cs.synced_changes, 0) as synced_changes,\n COALESCE(cs.failed_changes, 0) as failed_changes,\n cs.last_sync_at,\n CASE \n WHEN sc.sync_enabled = true AND sc.last_successful_sync IS NOT NULL \n THEN sc.last_successful_sync + (sc.sync_interval_minutes || ' minutes')::interval\n ELSE NULL\n END as next_sync_at,\n sc.sync_enabled\n FROM sync_configs sc\n LEFT JOIN change_stats cs ON sc.contract_id = cs.contract_id AND sc.target_system = cs.target_system\n",
+ "name": "sync_status_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_documents_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "doc_number": {
+ "name": "doc_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "pic": {
+ "name": "pic",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "issued_date": {
+ "name": "issued_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contract_id": {
+ "name": "contract_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "latest_stage_id": {
+ "name": "latest_stage_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_stage_name": {
+ "name": "latest_stage_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_stage_plan_date": {
+ "name": "latest_stage_plan_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_stage_actual_date": {
+ "name": "latest_stage_actual_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_id": {
+ "name": "latest_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision": {
+ "name": "latest_revision",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_uploader_type": {
+ "name": "latest_revision_uploader_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_revision_uploader_name": {
+ "name": "latest_revision_uploader_name",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_count": {
+ "name": "attachment_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n SELECT \n d.id, \n d.doc_number,\n d.title,\n d.pic,\n d.status,\n d.issued_date,\n d.contract_id,\n \n (SELECT id FROM issue_stages WHERE document_id = d.id ORDER BY created_at DESC LIMIT 1) AS latest_stage_id,\n (SELECT stage_name FROM issue_stages WHERE document_id = d.id ORDER BY created_at DESC LIMIT 1) AS latest_stage_name,\n (SELECT plan_date FROM issue_stages WHERE document_id = d.id ORDER BY created_at DESC LIMIT 1) AS latest_stage_plan_date,\n (SELECT actual_date FROM issue_stages WHERE document_id = d.id ORDER BY created_at DESC LIMIT 1) AS latest_stage_actual_date,\n \n (SELECT r.id FROM revisions r JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id ORDER BY r.created_at DESC LIMIT 1) AS latest_revision_id,\n (SELECT r.revision FROM revisions r JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id ORDER BY r.created_at DESC LIMIT 1) AS latest_revision,\n (SELECT r.uploader_type FROM revisions r JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id ORDER BY r.created_at DESC LIMIT 1) AS latest_revision_uploader_type,\n (SELECT r.uploader_name FROM revisions r JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id ORDER BY r.created_at DESC LIMIT 1) AS latest_revision_uploader_name,\n \n (SELECT COUNT(*) FROM document_attachments a JOIN revisions r ON a.revision_id = r.id JOIN issue_stages i ON r.issue_stage_id = i.id WHERE i.document_id = d.id) AS attachment_count,\n \n d.created_at,\n d.updated_at\n FROM documents d\n JOIN contracts c ON d.contract_id = c.id\n ",
+ "name": "vendor_documents_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_candidates_with_vendor_info": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "company_name": {
+ "name": "company_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_email": {
+ "name": "contact_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_phone": {
+ "name": "contact_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "source": {
+ "name": "source",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'COLLECTED'"
+ },
+ "items": {
+ "name": "items",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"vendor_candidates\".\"id\", \"vendor_candidates\".\"company_name\", \"vendor_candidates\".\"contact_email\", \"vendor_candidates\".\"contact_phone\", \"vendor_candidates\".\"tax_id\", \"vendor_candidates\".\"address\", \"vendor_candidates\".\"country\", \"vendor_candidates\".\"source\", \"vendor_candidates\".\"status\", \"vendor_candidates\".\"items\", \"vendor_candidates\".\"remark\", \"vendor_candidates\".\"created_at\", \"vendor_candidates\".\"updated_at\", \"vendors\".\"vendor_name\", \"vendors\".\"vendor_code\", \"vendors\".\"created_at\" as \"vendor_created_at\", (\n SELECT l2.\"created_at\"\n FROM \"vendor_candidate_logs\" l2\n WHERE l2.\"vendor_candidate_id\" = \"vendor_candidates\".\"id\"\n AND l2.\"action\" = 'status_change'\n ORDER BY l2.\"created_at\" DESC\n LIMIT 1\n ) as \"last_status_change_at\", (\n SELECT u.\"name\"\n FROM \"users\" u\n JOIN \"vendor_candidate_logs\" l3\n ON l3.\"user_id\" = u.\"id\"\n WHERE l3.\"vendor_candidate_id\" = \"vendor_candidates\".\"id\"\n AND l3.\"action\" = 'status_change'\n ORDER BY l3.\"created_at\" DESC\n LIMIT 1\n ) as \"last_status_change_by\", (\n SELECT l4.\"created_at\"\n FROM \"vendor_candidate_logs\" l4\n WHERE l4.\"vendor_candidate_id\" = \"vendor_candidates\".\"id\"\n AND l4.\"action\" = 'invite_sent'\n ORDER BY l4.\"created_at\" DESC\n LIMIT 1\n ) as \"last_invitation_at\", (\n SELECT u2.\"name\"\n FROM \"users\" u2\n JOIN \"vendor_candidate_logs\" l5\n ON l5.\"user_id\" = u2.\"id\"\n WHERE l5.\"vendor_candidate_id\" = \"vendor_candidates\".\"id\"\n AND l5.\"action\" = 'invite_sent'\n ORDER BY l5.\"created_at\" DESC\n LIMIT 1\n ) as \"last_invitation_by\" from \"vendor_candidates\" left join \"vendors\" on \"vendor_candidates\".\"vendor_id\" = \"vendors\".\"id\"",
+ "name": "vendor_candidates_with_vendor_info",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "business_size": {
+ "name": "business_size",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "website": {
+ "name": "website",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING_REVIEW'"
+ },
+ "representative_name": {
+ "name": "representative_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_birth": {
+ "name": "representative_birth",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_email": {
+ "name": "representative_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_phone": {
+ "name": "representative_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "corporate_registration_number": {
+ "name": "corporate_registration_number",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "credit_agency": {
+ "name": "credit_agency",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "credit_rating": {
+ "name": "credit_rating",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cash_flow_rating": {
+ "name": "cash_flow_rating",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"id\", \"vendor_name\", \"vendor_code\", \"tax_id\", \"address\", \"business_size\", \"country\", \"phone\", \"email\", \"website\", \"status\", \"representative_name\", \"representative_birth\", \"representative_email\", \"representative_phone\", \"corporate_registration_number\", \"credit_agency\", \"credit_rating\", \"cash_flow_rating\", \"created_at\", \"updated_at\", \n (SELECT COALESCE(\n json_agg(\n json_build_object(\n 'id', c.id,\n 'contactName', c.contact_name,\n 'contactPosition', c.contact_position,\n 'contactEmail', c.contact_email,\n 'contactPhone', c.contact_phone,\n 'isPrimary', c.is_primary\n )\n ),\n '[]'::json\n )\n FROM vendor_contacts c\n WHERE c.vendor_id = vendors.id)\n as \"contacts\", \n (SELECT COALESCE(\n json_agg(\n json_build_object(\n 'id', a.id,\n 'fileName', a.file_name,\n 'filePath', a.file_path,\n 'attachmentType', a.attachment_type,\n 'createdAt', a.created_at\n )\n ORDER BY a.attachment_type, a.created_at DESC\n ),\n '[]'::json\n )\n FROM vendor_attachments a\n WHERE a.vendor_id = vendors.id)\n as \"attachments\", \n (SELECT COUNT(*)\n FROM vendor_attachments a\n WHERE a.vendor_id = vendors.id)\n as \"attachment_count\", \n (SELECT COUNT(*) \n FROM vendor_contacts c\n WHERE c.vendor_id = vendors.id)\n as \"contact_count\" from \"vendors\"",
+ "name": "vendor_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_items_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"vendor_possible_items\".\"id\", \"vendor_possible_items\".\"vendor_id\", \"items\".\"item_name\", \"items\".\"item_code\", \"items\".\"description\", \"vendor_possible_items\".\"created_at\", \"vendor_possible_items\".\"updated_at\" from \"vendor_possible_items\" left join \"items\" on \"vendor_possible_items\".\"item_code\" = \"items\".\"item_code\"",
+ "name": "vendor_items_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_materials_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "unit_of_measure": {
+ "name": "unit_of_measure",
+ "type": "varchar(3)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "steel_type": {
+ "name": "steel_type",
+ "type": "varchar(2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "grade_material": {
+ "name": "grade_material",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"vendor_possible_materials\".\"id\", \"vendor_possible_materials\".\"vendor_id\", \"materials\".\"item_name\", \"materials\".\"item_code\", \"materials\".\"description\", \"materials\".\"unit_of_measure\", \"materials\".\"steel_type\", \"materials\".\"grade_material\", \"vendor_possible_materials\".\"created_at\", \"vendor_possible_materials\".\"updated_at\" from \"vendor_possible_materials\" left join \"materials\" on \"vendor_possible_materials\".\"item_code\" = \"materials\".\"item_code\"",
+ "name": "vendor_materials_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendors_with_types": {
+ "columns": {},
+ "definition": "select \"vendors\".\"id\" as \"id\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"tax_id\" as \"tax_id\", \"vendors\".\"address\" as \"address\", \"vendors\".\"country\" as \"country\", \"vendors\".\"phone\" as \"phone\", \"vendors\".\"email\" as \"email\", \"vendors\".\"business_size\" as \"business_size\", \"vendors\".\"website\" as \"website\", \"vendors\".\"status\" as \"status\", \"vendors\".\"vendor_type_id\" as \"vendor_type_id\", \"vendors\".\"representative_name\" as \"representative_name\", \"vendors\".\"representative_birth\" as \"representative_birth\", \"vendors\".\"representative_email\" as \"representative_email\", \"vendors\".\"representative_phone\" as \"representative_phone\", \"vendors\".\"corporate_registration_number\" as \"corporate_registration_number\", \"vendors\".\"items\" as \"items\", \"vendors\".\"credit_agency\" as \"credit_agency\", \"vendors\".\"credit_rating\" as \"credit_rating\", \"vendors\".\"cash_flow_rating\" as \"cash_flow_rating\", \"vendors\".\"created_at\" as \"created_at\", \"vendors\".\"updated_at\" as \"updated_at\", \"vendor_types\".\"name_ko\" as \"vendor_type_name\", \"vendor_types\".\"name_en\" as \"vendor_type_name_en\", \"vendor_types\".\"code\" as \"vendor_type_code\", \n CASE\n WHEN \"vendors\".\"status\" = 'ACTIVE' THEN '정규업체'\n WHEN \"vendors\".\"status\" IN ('INACTIVE', 'BLACKLISTED', 'REJECTED') THEN ''\n ELSE '잠재업체'\n END\n as \"vendor_category\" from \"vendors\" left join \"vendor_types\" on \"vendors\".\"vendor_type_id\" = \"vendor_types\".\"id\"",
+ "name": "vendors_with_types",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.basic_contract_view": {
+ "columns": {},
+ "definition": "select \"basic_contract\".\"id\" as \"id\", \"basic_contract\".\"template_id\" as \"template_id\", \"basic_contract\".\"vendor_id\" as \"vendor_id\", \"basic_contract\".\"requested_by\" as \"requested_by\", \"basic_contract\".\"status\" as \"basic_contract_status\", \"basic_contract\".\"created_at\" as \"created_at\", \"basic_contract\".\"updated_at\" as \"updated_at\", \"basic_contract\".\"completed_at\" as \"completed_at\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"email\" as \"vendor_email\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"users\".\"name\" as \"requested_by_name\", \"basic_contract_templates\".\"template_name\" as \"template_name\", \"basic_contract_templates\".\"revision\" as \"template_revision\", \"basic_contract_templates\".\"status\" as \"template_status\", \"basic_contract_templates\".\"validity_period\" as \"validity_period\", \"basic_contract_templates\".\"legal_review_required\" as \"legal_review_required\", \"basic_contract_templates\".\"shipbuilding_applicable\" as \"shipbuilding_applicable\", \"basic_contract_templates\".\"wind_applicable\" as \"wind_applicable\", \"basic_contract_templates\".\"pc_applicable\" as \"pc_applicable\", \"basic_contract_templates\".\"nb_applicable\" as \"nb_applicable\", \"basic_contract_templates\".\"rc_applicable\" as \"rc_applicable\", \"basic_contract_templates\".\"gy_applicable\" as \"gy_applicable\", \"basic_contract_templates\".\"sys_applicable\" as \"sys_applicable\", \"basic_contract_templates\".\"infra_applicable\" as \"infra_applicable\", \"basic_contract_templates\".\"file_path\" as \"template_file_path\", \"basic_contract_templates\".\"file_name\" as \"template_file_name\", \"basic_contract\".\"file_path\" as \"signed_file_path\", \"basic_contract\".\"file_name\" as \"signed_file_name\", \"basic_contract_templates\".\"created_at\" as \"template_created_at\", \"basic_contract_templates\".\"created_by\" as \"template_created_by\", \"basic_contract_templates\".\"updated_at\" as \"template_updated_at\", \"basic_contract_templates\".\"updated_by\" as \"template_updated_by\", \"basic_contract_templates\".\"disposed_at\" as \"template_disposed_at\", \"basic_contract_templates\".\"restored_at\" as \"template_restored_at\" from \"basic_contract\" left join \"vendors\" on \"basic_contract\".\"vendor_id\" = \"vendors\".\"id\" left join \"users\" on \"basic_contract\".\"requested_by\" = \"users\".\"id\" left join \"basic_contract_templates\" on \"basic_contract\".\"template_id\" = \"basic_contract_templates\".\"id\"",
+ "name": "basic_contract_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.pr_items_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "procurement_rfqs_id": {
+ "name": "procurement_rfqs_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_item": {
+ "name": "rfq_item",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pr_item": {
+ "name": "pr_item",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pr_no": {
+ "name": "pr_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_code": {
+ "name": "material_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_category": {
+ "name": "material_category",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "acc": {
+ "name": "acc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_description": {
+ "name": "material_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "size": {
+ "name": "size",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "quantity": {
+ "name": "quantity",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "uom": {
+ "name": "uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gross_weight": {
+ "name": "gross_weight",
+ "type": "numeric(12, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 1
+ },
+ "gw_uom": {
+ "name": "gw_uom",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "spec_no": {
+ "name": "spec_no",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "spec_url": {
+ "name": "spec_url",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tracking_no": {
+ "name": "tracking_no",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "major_yn": {
+ "name": "major_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "project_def": {
+ "name": "project_def",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_sc": {
+ "name": "project_sc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_kl": {
+ "name": "project_kl",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_lc": {
+ "name": "project_lc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_dl": {
+ "name": "project_dl",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_code": {
+ "name": "item_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_name": {
+ "name": "item_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"pr_items\".\"id\", \"pr_items\".\"procurement_rfqs_id\", \"pr_items\".\"rfq_item\", \"pr_items\".\"pr_item\", \"pr_items\".\"pr_no\", \"pr_items\".\"material_code\", \"pr_items\".\"material_category\", \"pr_items\".\"acc\", \"pr_items\".\"material_description\", \"pr_items\".\"size\", \"pr_items\".\"delivery_date\", \"pr_items\".\"quantity\", \"pr_items\".\"uom\", \"pr_items\".\"gross_weight\", \"pr_items\".\"gw_uom\", \"pr_items\".\"spec_no\", \"pr_items\".\"spec_url\", \"pr_items\".\"tracking_no\", \"pr_items\".\"major_yn\", \"pr_items\".\"project_def\", \"pr_items\".\"project_sc\", \"pr_items\".\"project_kl\", \"pr_items\".\"project_lc\", \"pr_items\".\"project_dl\", \"pr_items\".\"remark\", \"procurement_rfqs\".\"rfq_code\", \"procurement_rfqs\".\"item_code\", \"procurement_rfqs\".\"item_name\" from \"pr_items\" left join \"procurement_rfqs\" on \"pr_items\".\"procurement_rfqs_id\" = \"procurement_rfqs\".\"id\"",
+ "name": "pr_items_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.procurement_rfq_details_view": {
+ "columns": {},
+ "definition": "select \"rfq_details\".\"id\" as \"detail_id\", \"rfqs\".\"id\" as \"rfq_id\", \"rfqs\".\"rfq_code\" as \"rfq_code\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"rfqs\".\"item_code\" as \"item_code\", \"rfqs\".\"item_name\" as \"item_name\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"id\" as \"vendor_id\", \"vendors\".\"country\" as \"vendor_country\", \"rfq_details\".\"currency\" as \"currency\", \"payment_terms\".\"code\" as \"payment_terms_code\", \"payment_terms\".\"description\" as \"payment_terms_description\", \"incoterms\".\"code\" as \"incoterms_code\", \"incoterms\".\"description\" as \"incoterms_description\", \"rfq_details\".\"incoterms_detail\" as \"incoterms_detail\", \"rfq_details\".\"delivery_date\" as \"delivery_date\", \"rfq_details\".\"tax_code\" as \"tax_code\", \"rfq_details\".\"place_of_shipping\" as \"place_of_shipping\", \"rfq_details\".\"place_of_destination\" as \"place_of_destination\", \"rfq_details\".\"material_price_related_yn\" as \"material_price_related_yn\", \"updated_by_user\".\"name\" as \"updated_by_user_name\", \"rfq_details\".\"updated_at\" as \"updated_at\", (\n SELECT COUNT(*) \n FROM pr_items \n WHERE procurement_rfqs_id = \"rfqs\".\"id\"\n ) as \"pr_items_count\", (\n SELECT COUNT(*) \n FROM pr_items \n WHERE procurement_rfqs_id = \"rfqs\".\"id\" \n AND major_yn = true\n ) as \"major_items_count\", (\n SELECT COUNT(*) \n FROM procurement_rfq_comments \n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ) as \"comment_count\", (\n SELECT created_at \n FROM procurement_rfq_comments \n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY created_at DESC LIMIT 1\n ) as \"last_comment_date\", (\n SELECT created_at \n FROM procurement_rfq_comments \n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\" AND is_vendor_comment = true\n ORDER BY created_at DESC LIMIT 1\n ) as \"last_vendor_comment_date\", (\n SELECT COUNT(*) \n FROM procurement_rfq_attachments \n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ) as \"attachment_count\", (\n SELECT COUNT(*) > 0\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ) as \"has_quotation\", (\n SELECT status\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY created_at DESC LIMIT 1\n ) as \"quotation_status\", (\n SELECT total_price\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY created_at DESC LIMIT 1\n ) as \"quotation_total_price\", (\n SELECT quotation_version\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY quotation_version DESC LIMIT 1\n ) as \"quotation_version\", (\n SELECT COUNT(DISTINCT quotation_version)\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ) as \"quotation_version_count\", (\n SELECT created_at\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"rfqs\".\"id\" AND vendor_id = \"rfq_details\".\"vendors_id\"\n ORDER BY quotation_version DESC LIMIT 1\n ) as \"last_quotation_date\" from \"procurement_rfq_details\" \"rfq_details\" left join \"procurement_rfqs\" \"rfqs\" on \"rfq_details\".\"procurement_rfqs_id\" = \"rfqs\".\"id\" left join \"projects\" on \"rfqs\".\"project_id\" = \"projects\".\"id\" left join \"vendors\" on \"rfq_details\".\"vendors_id\" = \"vendors\".\"id\" left join \"payment_terms\" on \"rfq_details\".\"payment_terms_code\" = \"payment_terms\".\"code\" left join \"incoterms\" on \"rfq_details\".\"incoterms_code\" = \"incoterms\".\"code\" left join \"users\" \"updated_by_user\" on \"rfq_details\".\"updated_by\" = \"updated_by_user\".\"id\"",
+ "name": "procurement_rfq_details_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.procurement_rfqs_view": {
+ "columns": {},
+ "definition": "select \"procurement_rfqs\".\"id\" as \"id\", \"procurement_rfqs\".\"rfq_code\" as \"rfq_code\", \"procurement_rfqs\".\"series\" as \"series\", \"procurement_rfqs\".\"rfq_sealed_yn\" as \"rfq_sealed_yn\", \"projects\".\"code\" as \"project_code\", \"projects\".\"name\" as \"project_name\", \"procurement_rfqs\".\"item_code\" as \"item_code\", \"procurement_rfqs\".\"item_name\" as \"item_name\", \"procurement_rfqs\".\"status\" as \"status\", \"procurement_rfqs\".\"pic_code\" as \"pic_code\", \"procurement_rfqs\".\"rfq_send_date\" as \"rfq_send_date\", \"procurement_rfqs\".\"due_date\" as \"due_date\", (\n SELECT MIN(submitted_at)\n FROM procurement_vendor_quotations\n WHERE rfq_id = \"procurement_rfqs\".\"id\"\n AND submitted_at IS NOT NULL\n ) as \"earliest_quotation_submitted_at\", \"created_by_user\".\"name\" as \"created_by_user_name\", \"sent_by_user\".\"name\" as \"sent_by_user_name\", \"procurement_rfqs\".\"updated_at\" as \"updated_at\", \"updated_by_user\".\"name\" as \"updated_by_user_name\", \"procurement_rfqs\".\"remark\" as \"remark\", (\n SELECT material_code \n FROM pr_items \n WHERE procurement_rfqs_id = \"procurement_rfqs\".\"id\"\n AND major_yn = true\n LIMIT 1\n ) as \"major_item_material_code\", (\n SELECT pr_no \n FROM pr_items \n WHERE procurement_rfqs_id = \"procurement_rfqs\".\"id\"\n AND major_yn = true\n LIMIT 1\n ) as \"po_no\", (\n SELECT COUNT(*) \n FROM pr_items \n WHERE procurement_rfqs_id = \"procurement_rfqs\".\"id\"\n ) as \"pr_items_count\" from \"procurement_rfqs\" left join \"projects\" on \"procurement_rfqs\".\"project_id\" = \"projects\".\"id\" left join \"users\" \"created_by_user\" on \"procurement_rfqs\".\"created_by\" = \"created_by_user\".\"id\" left join \"users\" \"updated_by_user\" on \"procurement_rfqs\".\"updated_by\" = \"updated_by_user\".\"id\" left join \"users\" \"sent_by_user\" on \"procurement_rfqs\".\"sent_by\" = \"sent_by_user\".\"id\"",
+ "name": "procurement_rfqs_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.attachment_revision_history": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_revision_id": {
+ "name": "client_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_revision_no": {
+ "name": "client_revision_no",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_file_name": {
+ "name": "client_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_file_path": {
+ "name": "client_file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_file_size": {
+ "name": "client_file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_revision_comment": {
+ "name": "client_revision_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "client_revision_created_at": {
+ "name": "client_revision_created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_latest_client_revision": {
+ "name": "is_latest_client_revision",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_vendor_responses": {
+ "name": "total_vendor_responses",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_vendors": {
+ "name": "responded_vendors",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pending_vendors": {
+ "name": "pending_vendors",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_response_files": {
+ "name": "total_response_files",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n ba.id as attachment_id,\n ba.attachment_type,\n ba.serial_no,\n \n -- 발주처 리비전 정보\n rev.id as client_revision_id,\n rev.revision_no as client_revision_no,\n rev.original_file_name as client_file_name,\n rev.file_size as client_file_size,\n rev.file_path as client_file_path,\n rev.revision_comment as client_revision_comment,\n rev.created_at as client_revision_created_at,\n rev.is_latest as is_latest_client_revision,\n \n -- 벤더 응답 통계\n COALESCE(response_stats.total_responses, 0) as total_vendor_responses,\n COALESCE(response_stats.responded_count, 0) as responded_vendors,\n COALESCE(response_stats.pending_count, 0) as pending_vendors,\n COALESCE(response_stats.total_files, 0) as total_response_files\n \n FROM b_rfqs br\n JOIN b_rfq_attachments ba ON br.id = ba.rfq_id\n JOIN b_rfq_attachment_revisions rev ON ba.id = rev.attachment_id\n LEFT JOIN (\n SELECT \n var.attachment_id,\n COUNT(*) as total_responses,\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) as responded_count,\n COUNT(CASE WHEN var.response_status = 'NOT_RESPONDED' THEN 1 END) as pending_count,\n COUNT(vra.id) as total_files\n FROM vendor_attachment_responses var\n LEFT JOIN vendor_response_attachments_b vra ON var.id = vra.vendor_response_id\n GROUP BY var.attachment_id\n ) response_stats ON ba.id = response_stats.attachment_id\n \n ORDER BY ba.id, rev.created_at DESC\n",
+ "name": "attachment_revision_history",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.attachments_with_latest_revision": {
+ "columns": {
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_id": {
+ "name": "revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_comment": {
+ "name": "revision_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_name": {
+ "name": "created_by_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n a.id as attachment_id,\n a.attachment_type,\n a.serial_no,\n a.rfq_id,\n a.description,\n a.current_revision,\n \n r.id as revision_id,\n r.file_name,\n r.original_file_name,\n r.file_path,\n r.file_size,\n r.file_type,\n r.revision_comment,\n \n a.created_by,\n u.name as created_by_name,\n a.created_at,\n a.updated_at\n FROM b_rfq_attachments a\n LEFT JOIN b_rfq_attachment_revisions r ON a.latest_revision_id = r.id\n LEFT JOIN users u ON a.created_by = u.id\n ",
+ "name": "attachments_with_latest_revision",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.b_rfqs_master": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_name": {
+ "name": "pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "eng_pic_name": {
+ "name": "eng_pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_no": {
+ "name": "package_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_name": {
+ "name": "package_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_code": {
+ "name": "project_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_name": {
+ "name": "project_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_type": {
+ "name": "project_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_company": {
+ "name": "project_company",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_flag": {
+ "name": "project_flag",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_site": {
+ "name": "project_site",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_attachments": {
+ "name": "total_attachments",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.description,\n br.status,\n br.due_date,\n br.pic_code,\n br.pic_name,\n br.eng_pic_name,\n br.package_no,\n br.package_name,\n br.project_id,\n p.code as project_code,\n p.name as project_name,\n p.type as project_type,\n br.project_company,\n br.project_flag,\n br.project_site,\n COALESCE(att_count.total_attachments, 0) as total_attachments,\n br.created_at,\n br.updated_at\n FROM b_rfqs br\n LEFT JOIN projects p ON br.project_id = p.id\n LEFT JOIN (\n SELECT rfq_id, COUNT(*) as total_attachments\n FROM b_rfq_attachments\n GROUP BY rfq_id\n ) att_count ON br.id = att_count.rfq_id\n",
+ "name": "b_rfqs_master",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.final_rfq_detail": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_status": {
+ "name": "rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_rfq_id": {
+ "name": "final_rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_rfq_status": {
+ "name": "final_rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_business_size": {
+ "name": "vendor_business_size",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "valid_date": {
+ "name": "valid_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "delivery_date": {
+ "name": "delivery_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_description": {
+ "name": "incoterms_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payment_terms_code": {
+ "name": "payment_terms_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "payment_terms_description": {
+ "name": "payment_terms_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "currency": {
+ "name": "currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_code": {
+ "name": "tax_code",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "place_of_shipping": {
+ "name": "place_of_shipping",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "place_of_destination": {
+ "name": "place_of_destination",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "short_list": {
+ "name": "short_list",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "return_yn": {
+ "name": "return_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cp_request_yn": {
+ "name": "cp_request_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "prject_gtc_yn": {
+ "name": "prject_gtc_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "firsttime_yn": {
+ "name": "firsttime_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "material_price_related_yn": {
+ "name": "material_price_related_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "return_revision": {
+ "name": "return_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc": {
+ "name": "gtc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc_valid_date": {
+ "name": "gtc_valid_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sparepart": {
+ "name": "sparepart",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_remark": {
+ "name": "vendor_remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.status as rfq_status,\n fr.id as final_rfq_id,\n fr.final_rfq_status,\n fr.vendor_id,\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n v.business_size as vendor_business_size,\n fr.due_date,\n fr.valid_date,\n fr.delivery_date,\n fr.incoterms_code,\n inc.description as incoterms_description,\n fr.payment_terms_code,\n pt.description as payment_terms_description,\n fr.currency,\n fr.tax_code,\n fr.place_of_shipping,\n fr.place_of_destination,\n fr.short_list,\n fr.return_yn,\n fr.cp_request_yn,\n fr.prject_gtc_yn,\n fr.firsttime_yn,\n fr.material_price_related_yn,\n fr.return_revision,\n fr.gtc,\n fr.gtc_valid_date,\n fr.classification,\n fr.sparepart,\n fr.remark,\n fr.vendor_remark,\n fr.created_at,\n fr.updated_at\n FROM b_rfqs br\n JOIN final_rfq fr ON br.id = fr.rfq_id\n LEFT JOIN vendors v ON fr.vendor_id = v.id\n LEFT JOIN incoterms inc ON fr.incoterms_code = inc.code\n LEFT JOIN payment_terms pt ON fr.payment_terms_code = pt.code\n",
+ "name": "final_rfq_detail",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.initial_rfq_detail": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_status": {
+ "name": "rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_rfq_id": {
+ "name": "initial_rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_rfq_status": {
+ "name": "initial_rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_category": {
+ "name": "vendor_category",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_business_size": {
+ "name": "vendor_business_size",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "valid_date": {
+ "name": "valid_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_code": {
+ "name": "incoterms_code",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "incoterms_description": {
+ "name": "incoterms_description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "short_list": {
+ "name": "short_list",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "return_yn": {
+ "name": "return_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cp_request_yn": {
+ "name": "cp_request_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "prject_gtc_yn": {
+ "name": "prject_gtc_yn",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "return_revision": {
+ "name": "return_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_revision": {
+ "name": "rfq_revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc": {
+ "name": "gtc",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "gtc_valid_date": {
+ "name": "gtc_valid_date",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sparepart": {
+ "name": "sparepart",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.status as rfq_status,\n ir.id as initial_rfq_id,\n ir.initial_rfq_status,\n ir.vendor_id,\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n v.business_size as vendor_business_size,\n v.vendor_category as vendor_category,\n ir.due_date,\n ir.valid_date,\n ir.incoterms_code,\n inc.description as incoterms_description,\n ir.short_list,\n ir.return_yn,\n ir.cp_request_yn,\n ir.prject_gtc_yn,\n ir.return_revision,\n ir.rfq_revision,\n ir.gtc,\n ir.gtc_valid_date,\n ir.classification,\n ir.sparepart,\n ir.created_at,\n ir.updated_at\n FROM b_rfqs br\n JOIN initial_rfq ir ON br.id = ir.rfq_id\n LEFT JOIN vendors_with_types v ON ir.vendor_id = v.id\n LEFT JOIN incoterms inc ON ir.incoterms_code = inc.code\n",
+ "name": "initial_rfq_detail",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.rfq_dashboard": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_code": {
+ "name": "project_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_name": {
+ "name": "project_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_no": {
+ "name": "package_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "package_name": {
+ "name": "package_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_code": {
+ "name": "pic_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pic_name": {
+ "name": "pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "eng_pic_name": {
+ "name": "eng_pic_name",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_company": {
+ "name": "project_company",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_flag": {
+ "name": "project_flag",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "project_site": {
+ "name": "project_site",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_attachments": {
+ "name": "total_attachments",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_vendor_count": {
+ "name": "initial_vendor_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_vendor_count": {
+ "name": "final_vendor_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_response_rate": {
+ "name": "initial_response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_response_rate": {
+ "name": "final_response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "overall_progress": {
+ "name": "overall_progress",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_to_deadline": {
+ "name": "days_to_deadline",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remark": {
+ "name": "remark",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by_name": {
+ "name": "updated_by_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_by_email": {
+ "name": "updated_by_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n -- ② SELECT 절 확장 -------------------------------------------\n SELECT\n br.id AS rfq_id,\n br.rfq_code,\n br.description,\n br.status,\n br.due_date,\n p.code AS project_code,\n p.name AS project_name,\n br.package_no,\n br.package_name,\n br.pic_code,\n br.pic_name,\n br.eng_pic_name,\n br.project_company,\n br.project_flag,\n br.project_site,\n br.remark,\n \n -- 첨부/벤더 요약 -----------------------\n COALESCE(att_count.total_attachments, 0) AS total_attachments,\n COALESCE(init_summary.vendor_count, 0) AS initial_vendor_count,\n COALESCE(final_summary.vendor_count, 0) AS final_vendor_count,\n COALESCE(init_summary.avg_response_rate, 0) AS initial_response_rate,\n COALESCE(final_summary.avg_response_rate, 0) AS final_response_rate,\n \n -- 진행률·마감까지 일수 --------------\n CASE \n WHEN br.status = 'DRAFT' THEN 0\n WHEN br.status = 'Doc. Received' THEN 10\n WHEN br.status = 'PIC Assigned' THEN 20\n WHEN br.status = 'Doc. Confirmed' THEN 30\n WHEN br.status = 'Init. RFQ Sent' THEN 40\n WHEN br.status = 'Init. RFQ Answered' THEN 50\n WHEN br.status = 'TBE started' THEN 60\n WHEN br.status = 'TBE finished' THEN 70\n WHEN br.status = 'Final RFQ Sent' THEN 80\n WHEN br.status = 'Quotation Received' THEN 90\n WHEN br.status = 'Vendor Selected' THEN 100\n ELSE 0\n END AS overall_progress,\n (br.due_date - CURRENT_DATE) AS days_to_deadline,\n \n br.created_at,\n br.updated_at,\n \n -- 💡 추가되는 컬럼 -------------------\n upd.name AS updated_by_name,\n upd.email AS updated_by_email\n FROM b_rfqs br\n LEFT JOIN projects p ON br.project_id = p.id\n \n -- ③ 사용자 정보 조인 --------------------\n LEFT JOIN users upd ON br.updated_by = upd.id\n \n -- (나머지 이미 있던 JOIN 들은 그대로) -----\n LEFT JOIN (\n SELECT rfq_id, COUNT(*) AS total_attachments\n FROM b_rfq_attachments\n GROUP BY rfq_id\n ) att_count ON br.id = att_count.rfq_id\n \n LEFT JOIN (\n SELECT \n rfq_id, \n COUNT(DISTINCT vendor_id) AS vendor_count,\n AVG(response_rate) AS avg_response_rate\n FROM vendor_response_summary\n WHERE rfq_type = 'INITIAL'\n GROUP BY rfq_id\n ) init_summary ON br.id = init_summary.rfq_id\n \n LEFT JOIN (\n SELECT \n rfq_id, \n COUNT(DISTINCT vendor_id) AS vendor_count,\n AVG(response_rate) AS avg_response_rate\n FROM vendor_response_summary\n WHERE rfq_type = 'FINAL'\n GROUP BY rfq_id\n ) final_summary ON br.id = final_summary.rfq_id\n ",
+ "name": "rfq_dashboard",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.rfq_progress_summary": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_status": {
+ "name": "rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "due_date": {
+ "name": "due_date",
+ "type": "date",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "days_to_deadline": {
+ "name": "days_to_deadline",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_attachments": {
+ "name": "total_attachments",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachments_with_multiple_revisions": {
+ "name": "attachments_with_multiple_revisions",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_client_revisions": {
+ "name": "total_client_revisions",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_vendor_count": {
+ "name": "initial_vendor_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_total_responses": {
+ "name": "initial_total_responses",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_responded_count": {
+ "name": "initial_responded_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_up_to_date_count": {
+ "name": "initial_up_to_date_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_version_mismatch_count": {
+ "name": "initial_version_mismatch_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_response_rate": {
+ "name": "initial_response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "initial_version_match_rate": {
+ "name": "initial_version_match_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_vendor_count": {
+ "name": "final_vendor_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_total_responses": {
+ "name": "final_total_responses",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_responded_count": {
+ "name": "final_responded_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_up_to_date_count": {
+ "name": "final_up_to_date_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_version_mismatch_count": {
+ "name": "final_version_mismatch_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_response_rate": {
+ "name": "final_response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_version_match_rate": {
+ "name": "final_version_match_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_response_files": {
+ "name": "total_response_files",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.status as rfq_status,\n br.due_date,\n (br.due_date - CURRENT_DATE) as days_to_deadline,\n \n -- 첨부파일 통계\n attachment_stats.total_attachments,\n attachment_stats.attachments_with_multiple_revisions,\n attachment_stats.total_client_revisions,\n \n -- Initial RFQ 통계\n COALESCE(initial_stats.vendor_count, 0) as initial_vendor_count,\n COALESCE(initial_stats.total_responses, 0) as initial_total_responses,\n COALESCE(initial_stats.responded_count, 0) as initial_responded_count,\n COALESCE(initial_stats.up_to_date_count, 0) as initial_up_to_date_count,\n COALESCE(initial_stats.version_mismatch_count, 0) as initial_version_mismatch_count,\n COALESCE(initial_stats.response_rate, 0) as initial_response_rate,\n COALESCE(initial_stats.version_match_rate, 0) as initial_version_match_rate,\n \n -- Final RFQ 통계\n COALESCE(final_stats.vendor_count, 0) as final_vendor_count,\n COALESCE(final_stats.total_responses, 0) as final_total_responses,\n COALESCE(final_stats.responded_count, 0) as final_responded_count,\n COALESCE(final_stats.up_to_date_count, 0) as final_up_to_date_count,\n COALESCE(final_stats.version_mismatch_count, 0) as final_version_mismatch_count,\n COALESCE(final_stats.response_rate, 0) as final_response_rate,\n COALESCE(final_stats.version_match_rate, 0) as final_version_match_rate,\n \n COALESCE(file_stats.total_files, 0) as total_response_files\n \n FROM b_rfqs br\n LEFT JOIN (\n SELECT \n ba.rfq_id,\n COUNT(*) as total_attachments,\n COUNT(CASE WHEN rev_count.total_revisions > 1 THEN 1 END) as attachments_with_multiple_revisions,\n SUM(rev_count.total_revisions) as total_client_revisions\n FROM b_rfq_attachments ba\n LEFT JOIN (\n SELECT \n attachment_id,\n COUNT(*) as total_revisions\n FROM b_rfq_attachment_revisions\n GROUP BY attachment_id\n ) rev_count ON ba.id = rev_count.attachment_id\n GROUP BY ba.rfq_id\n ) attachment_stats ON br.id = attachment_stats.rfq_id\n \n LEFT JOIN (\n SELECT \n br.id as rfq_id,\n COUNT(DISTINCT var.vendor_id) as vendor_count,\n COUNT(*) as total_responses,\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) as responded_count,\n COUNT(CASE WHEN vrd.effective_status = 'UP_TO_DATE' THEN 1 END) as up_to_date_count,\n COUNT(CASE WHEN vrd.effective_status = 'VERSION_MISMATCH' THEN 1 END) as version_mismatch_count,\n ROUND(\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) * 100.0 / \n NULLIF(COUNT(*), 0), 2\n ) as response_rate,\n ROUND(\n COUNT(CASE WHEN vrd.effective_status = 'UP_TO_DATE' THEN 1 END) * 100.0 / \n NULLIF(COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END), 0), 2\n ) as version_match_rate\n FROM b_rfqs br\n JOIN vendor_response_detail vrd ON br.id = vrd.rfq_id\n JOIN vendor_attachment_responses var ON vrd.response_id = var.id\n WHERE var.rfq_type = 'INITIAL'\n GROUP BY br.id\n ) initial_stats ON br.id = initial_stats.rfq_id\n \n LEFT JOIN (\n SELECT \n br.id as rfq_id,\n COUNT(DISTINCT var.vendor_id) as vendor_count,\n COUNT(*) as total_responses,\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) as responded_count,\n COUNT(CASE WHEN vrd.effective_status = 'UP_TO_DATE' THEN 1 END) as up_to_date_count,\n COUNT(CASE WHEN vrd.effective_status = 'VERSION_MISMATCH' THEN 1 END) as version_mismatch_count,\n ROUND(\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) * 100.0 / \n NULLIF(COUNT(*), 0), 2\n ) as response_rate,\n ROUND(\n COUNT(CASE WHEN vrd.effective_status = 'UP_TO_DATE' THEN 1 END) * 100.0 / \n NULLIF(COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END), 0), 2\n ) as version_match_rate\n FROM b_rfqs br\n JOIN vendor_response_detail vrd ON br.id = vrd.rfq_id\n JOIN vendor_attachment_responses var ON vrd.response_id = var.id\n WHERE var.rfq_type = 'FINAL'\n GROUP BY br.id\n ) final_stats ON br.id = final_stats.rfq_id\n \n LEFT JOIN (\n SELECT \n br.id as rfq_id,\n COUNT(vra.id) as total_files\n FROM b_rfqs br\n JOIN b_rfq_attachments ba ON br.id = ba.rfq_id\n JOIN vendor_attachment_responses var ON ba.id = var.attachment_id\n LEFT JOIN vendor_response_attachments_b vra ON var.id = vra.vendor_response_id\n GROUP BY br.id\n ) file_stats ON br.id = file_stats.rfq_id\n",
+ "name": "rfq_progress_summary",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_response_attachments_enhanced": {
+ "columns": {
+ "response_attachment_id": {
+ "name": "response_attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_response_id": {
+ "name": "vendor_response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "original_file_name": {
+ "name": "original_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(512)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_type": {
+ "name": "file_type",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "uploaded_at": {
+ "name": "uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_record_id": {
+ "name": "rfq_record_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_revision": {
+ "name": "responded_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_comment": {
+ "name": "response_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_comment": {
+ "name": "vendor_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_request_comment": {
+ "name": "revision_request_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_at": {
+ "name": "responded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_requested_at": {
+ "name": "revision_requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_revision_id": {
+ "name": "latest_client_revision_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_revision_no": {
+ "name": "latest_client_revision_no",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_file_name": {
+ "name": "latest_client_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_version_matched": {
+ "name": "is_version_matched",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version_lag": {
+ "name": "version_lag",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "needs_update": {
+ "name": "needs_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_sequence": {
+ "name": "file_sequence",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_latest_response_file": {
+ "name": "is_latest_response_file",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n vra.id as response_attachment_id,\n vra.vendor_response_id,\n vra.file_name,\n vra.original_file_name,\n vra.file_path,\n vra.file_size,\n vra.file_type,\n vra.description,\n vra.uploaded_at,\n \n -- 응답 기본 정보\n var.attachment_id,\n var.vendor_id,\n var.rfq_type,\n var.rfq_record_id,\n var.response_status,\n var.current_revision,\n var.responded_revision,\n \n -- 코멘트 (새로 추가된 필드 포함)\n var.response_comment,\n var.vendor_comment,\n var.revision_request_comment,\n \n -- 날짜 (새로 추가된 필드 포함)\n var.requested_at,\n var.responded_at,\n var.revision_requested_at,\n \n -- 첨부파일 정보\n ba.attachment_type,\n ba.serial_no,\n ba.rfq_id,\n \n -- 벤더 정보\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n \n -- 발주처 현재 리비전 정보\n latest_rev.id as latest_client_revision_id,\n latest_rev.revision_no as latest_client_revision_no,\n latest_rev.original_file_name as latest_client_file_name,\n \n -- 리비전 비교\n CASE \n WHEN var.responded_revision = ba.current_revision THEN true \n ELSE false \n END as is_version_matched,\n \n -- 버전 차이 계산 (Rev.0, Rev.1 형태 가정)\n CASE \n WHEN var.responded_revision IS NULL THEN NULL\n WHEN ba.current_revision IS NULL THEN NULL\n ELSE CAST(SUBSTRING(ba.current_revision FROM '[0-9]+') AS INTEGER) - \n CAST(SUBSTRING(var.responded_revision FROM '[0-9]+') AS INTEGER)\n END as version_lag,\n \n CASE \n WHEN var.response_status = 'RESPONDED' \n AND var.responded_revision != ba.current_revision THEN true \n ELSE false \n END as needs_update,\n \n -- 파일 순서\n ROW_NUMBER() OVER (\n PARTITION BY var.id \n ORDER BY vra.uploaded_at DESC\n ) as file_sequence,\n \n -- 최신 응답 파일 여부\n CASE \n WHEN ROW_NUMBER() OVER (\n PARTITION BY var.id \n ORDER BY vra.uploaded_at DESC\n ) = 1 THEN true \n ELSE false \n END as is_latest_response_file\n \n FROM vendor_response_attachments_b vra\n JOIN vendor_attachment_responses var ON vra.vendor_response_id = var.id\n JOIN b_rfq_attachments ba ON var.attachment_id = ba.id\n LEFT JOIN vendors v ON var.vendor_id = v.id\n LEFT JOIN b_rfq_attachment_revisions latest_rev ON ba.latest_revision_id = latest_rev.id\n",
+ "name": "vendor_response_attachments_enhanced",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_response_detail": {
+ "columns": {
+ "response_id": {
+ "name": "response_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_record_id": {
+ "name": "rfq_record_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_id": {
+ "name": "attachment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_type": {
+ "name": "attachment_type",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "serial_no": {
+ "name": "serial_no",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "attachment_description": {
+ "name": "attachment_description",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_status": {
+ "name": "response_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "current_revision": {
+ "name": "current_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_revision": {
+ "name": "responded_revision",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_comment": {
+ "name": "response_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_comment": {
+ "name": "vendor_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_request_comment": {
+ "name": "revision_request_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "requested_at": {
+ "name": "requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_at": {
+ "name": "responded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_requested_at": {
+ "name": "revision_requested_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_revision_no": {
+ "name": "latest_client_revision_no",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_file_name": {
+ "name": "latest_client_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_file_size": {
+ "name": "latest_client_file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_client_revision_comment": {
+ "name": "latest_client_revision_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_version_matched": {
+ "name": "is_version_matched",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version_lag": {
+ "name": "version_lag",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "needs_update": {
+ "name": "needs_update",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "has_multiple_revisions": {
+ "name": "has_multiple_revisions",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_response_files": {
+ "name": "total_response_files",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_response_file_name": {
+ "name": "latest_response_file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_response_file_size": {
+ "name": "latest_response_file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "latest_response_uploaded_at": {
+ "name": "latest_response_uploaded_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "effective_status": {
+ "name": "effective_status",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n var.id as response_id,\n ba.rfq_id,\n br.rfq_code,\n var.rfq_type,\n var.rfq_record_id,\n \n -- 첨부파일 정보\n ba.id as attachment_id,\n ba.attachment_type,\n ba.serial_no,\n ba.description as attachment_description,\n \n -- 벤더 정보\n v.id as vendor_id,\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n \n -- 응답 상태\n var.response_status,\n var.current_revision,\n var.responded_revision,\n \n -- 코멘트 (새로 추가된 필드 포함)\n var.response_comment,\n var.vendor_comment,\n var.revision_request_comment,\n \n -- 날짜 (새로 추가된 필드 포함)\n var.requested_at,\n var.responded_at,\n var.revision_requested_at,\n \n -- 발주처 최신 리비전\n latest_rev.revision_no as latest_client_revision_no,\n latest_rev.original_file_name as latest_client_file_name,\n latest_rev.file_size as latest_client_file_size,\n latest_rev.revision_comment as latest_client_revision_comment,\n \n -- 리비전 분석\n CASE \n WHEN var.responded_revision = ba.current_revision THEN true \n ELSE false \n END as is_version_matched,\n \n CASE \n WHEN var.responded_revision IS NULL OR ba.current_revision IS NULL THEN NULL\n ELSE CAST(SUBSTRING(ba.current_revision FROM '[0-9]+') AS INTEGER) - \n CAST(SUBSTRING(var.responded_revision FROM '[0-9]+') AS INTEGER)\n END as version_lag,\n \n CASE \n WHEN var.response_status = 'RESPONDED' \n AND var.responded_revision != ba.current_revision THEN true \n ELSE false \n END as needs_update,\n \n CASE \n WHEN revision_count.total_revisions > 1 THEN true \n ELSE false \n END as has_multiple_revisions,\n \n -- 응답 파일 정보\n COALESCE(file_stats.total_files, 0) as total_response_files,\n file_stats.latest_file_name as latest_response_file_name,\n file_stats.latest_file_size as latest_response_file_size,\n file_stats.latest_uploaded_at as latest_response_uploaded_at,\n \n -- 효과적인 상태\n CASE \n WHEN var.response_status = 'NOT_RESPONDED' THEN 'NOT_RESPONDED'\n WHEN var.response_status = 'WAIVED' THEN 'WAIVED'\n WHEN var.response_status = 'REVISION_REQUESTED' THEN 'REVISION_REQUESTED'\n WHEN var.response_status = 'RESPONDED' AND var.responded_revision = ba.current_revision THEN 'UP_TO_DATE'\n WHEN var.response_status = 'RESPONDED' AND var.responded_revision != ba.current_revision THEN 'VERSION_MISMATCH'\n ELSE var.response_status\n END as effective_status\n \n FROM vendor_attachment_responses var\n JOIN b_rfq_attachments ba ON var.attachment_id = ba.id\n JOIN b_rfqs br ON ba.rfq_id = br.id\n LEFT JOIN vendors v ON var.vendor_id = v.id\n LEFT JOIN b_rfq_attachment_revisions latest_rev ON ba.latest_revision_id = latest_rev.id\n LEFT JOIN (\n SELECT \n attachment_id,\n COUNT(*) as total_revisions\n FROM b_rfq_attachment_revisions\n GROUP BY attachment_id\n ) revision_count ON ba.id = revision_count.attachment_id\n LEFT JOIN (\n SELECT \n vendor_response_id,\n COUNT(*) as total_files,\n MAX(original_file_name) as latest_file_name,\n MAX(file_size) as latest_file_size,\n MAX(uploaded_at) as latest_uploaded_at\n FROM vendor_response_attachments_b\n GROUP BY vendor_response_id\n ) file_stats ON var.id = file_stats.vendor_response_id\n",
+ "name": "vendor_response_detail",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.vendor_response_summary": {
+ "columns": {
+ "rfq_id": {
+ "name": "rfq_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_code": {
+ "name": "rfq_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_status": {
+ "name": "rfq_status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_country": {
+ "name": "vendor_country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_business_size": {
+ "name": "vendor_business_size",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "rfq_type": {
+ "name": "rfq_type",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "total_attachments": {
+ "name": "total_attachments",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "responded_count": {
+ "name": "responded_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pending_count": {
+ "name": "pending_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "waived_count": {
+ "name": "waived_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision_requested_count": {
+ "name": "revision_requested_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "response_rate": {
+ "name": "response_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "completion_rate": {
+ "name": "completion_rate",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT \n br.id as rfq_id,\n br.rfq_code,\n br.status as rfq_status,\n v.id as vendor_id,\n v.vendor_code,\n v.vendor_name,\n v.country as vendor_country,\n v.business_size as vendor_business_size,\n var.rfq_type,\n COUNT(var.id) as total_attachments,\n COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) as responded_count,\n COUNT(CASE WHEN var.response_status = 'NOT_RESPONDED' THEN 1 END) as pending_count,\n COUNT(CASE WHEN var.response_status = 'WAIVED' THEN 1 END) as waived_count,\n COUNT(CASE WHEN var.response_status = 'REVISION_REQUESTED' THEN 1 END) as revision_requested_count,\n ROUND(\n (COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) * 100.0 / \n NULLIF(COUNT(CASE WHEN var.response_status != 'WAIVED' THEN 1 END), 0)), \n 2\n ) as response_rate,\n ROUND(\n ((COUNT(CASE WHEN var.response_status = 'RESPONDED' THEN 1 END) + \n COUNT(CASE WHEN var.response_status = 'WAIVED' THEN 1 END)) * 100.0 / COUNT(var.id)), \n 2\n ) as completion_rate\n FROM b_rfqs br\n JOIN b_rfq_attachments bra ON br.id = bra.rfq_id\n JOIN vendor_attachment_responses var ON bra.id = var.attachment_id\n JOIN vendors v ON var.vendor_id = v.id\n GROUP BY br.id, br.rfq_code, br.status, v.id, v.vendor_code, v.vendor_name, v.country, v.business_size, var.rfq_type\n",
+ "name": "vendor_response_summary",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.tech_vendor_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "tax_id": {
+ "name": "tax_id",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "address": {
+ "name": "address",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country": {
+ "name": "country",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country_eng": {
+ "name": "country_eng",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "country_fab": {
+ "name": "country_fab",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_name": {
+ "name": "agent_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_phone": {
+ "name": "agent_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "agent_email": {
+ "name": "agent_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "website": {
+ "name": "website",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'ACTIVE'"
+ },
+ "tech_vendor_type": {
+ "name": "tech_vendor_type",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "representative_name": {
+ "name": "representative_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_email": {
+ "name": "representative_email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_phone": {
+ "name": "representative_phone",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "representative_birth": {
+ "name": "representative_birth",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"id\", \"vendor_name\", \"vendor_code\", \"tax_id\", \"address\", \"country\", \"country_eng\", \"country_fab\", \"agent_name\", \"agent_phone\", \"agent_email\", \"phone\", \"email\", \"website\", \"status\", \"tech_vendor_type\", \"representative_name\", \"representative_email\", \"representative_phone\", \"representative_birth\", \"created_at\", \"updated_at\", \n (SELECT COALESCE(\n json_agg(\n json_build_object(\n 'id', c.id,\n 'contactName', c.contact_name,\n 'contactPosition', c.contact_position,\n 'contactTitle', c.contact_title,\n 'contactEmail', c.contact_email,\n 'contactPhone', c.contact_phone,\n 'isPrimary', c.is_primary\n )\n ),\n '[]'::json\n )\n FROM tech_vendor_contacts c\n WHERE c.vendor_id = tech_vendors.id)\n as \"contacts\", \n (SELECT COALESCE(\n json_agg(\n json_build_object(\n 'id', a.id,\n 'fileName', a.file_name,\n 'filePath', a.file_path,\n 'attachmentType', a.attachment_type,\n 'createdAt', a.created_at\n )\n ORDER BY a.attachment_type, a.created_at DESC\n ),\n '[]'::json\n )\n FROM tech_vendor_attachments a\n WHERE a.vendor_id = tech_vendors.id)\n as \"attachments\", \n (SELECT COUNT(*)\n FROM tech_vendor_attachments a\n WHERE a.vendor_id = tech_vendors.id)\n as \"attachment_count\", \n (SELECT COUNT(*) \n FROM vendor_contacts c\n WHERE c.vendor_id = tech_vendors.id)\n as \"contact_count\", \n (SELECT COUNT(*) \n FROM tech_vendor_possible_items i\n WHERE i.vendor_id = tech_vendors.id)\n as \"item_count\" from \"tech_vendors\"",
+ "name": "tech_vendor_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.esg_evaluations_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "serial_number": {
+ "name": "serial_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "inspection_item": {
+ "name": "inspection_item",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"esg_evaluations\".\"id\", \"esg_evaluations\".\"serial_number\", \"esg_evaluations\".\"category\", \"esg_evaluations\".\"inspection_item\", \"esg_evaluations\".\"is_active\", \"esg_evaluations\".\"created_at\", \"esg_evaluations\".\"updated_at\", count(distinct \"esg_evaluation_items\".\"id\") as \"total_evaluation_items\", count(\"esg_answer_options\".\"id\") as \"total_answer_options\", coalesce(sum(\"esg_answer_options\".\"score\"), 0) as \"max_possible_score\", \n (\n SELECT array_agg(evaluation_item order by order_index) \n FROM esg_evaluation_items \n WHERE esg_evaluation_id = \"esg_evaluations\".\"id\" \n AND is_active = true \n AND evaluation_item is not null\n )\n as \"evaluation_items_list\" from \"esg_evaluations\" left join \"esg_evaluation_items\" on \"esg_evaluations\".\"id\" = \"esg_evaluation_items\".\"esg_evaluation_id\" AND \"esg_evaluation_items\".\"is_active\" = true left join \"esg_answer_options\" on \"esg_evaluation_items\".\"id\" = \"esg_answer_options\".\"esg_evaluation_item_id\" AND \"esg_answer_options\".\"is_active\" = true group by \"esg_evaluations\".\"id\", \"esg_evaluations\".\"serial_number\", \"esg_evaluations\".\"category\", \"esg_evaluations\".\"inspection_item\", \"esg_evaluations\".\"is_active\", \"esg_evaluations\".\"created_at\", \"esg_evaluations\".\"updated_at\"",
+ "name": "esg_evaluations_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.evaluation_targets_with_departments": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "division": {
+ "name": "division",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "consensus_status": {
+ "name": "consensus_status",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "admin_comment": {
+ "name": "admin_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consolidated_comment": {
+ "name": "consolidated_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_by": {
+ "name": "confirmed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ld_claim_count": {
+ "name": "ld_claim_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "ld_claim_amount": {
+ "name": "ld_claim_amount",
+ "type": "numeric(15, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "ld_claim_currency": {
+ "name": "ld_claim_currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"evaluation_targets\".\"id\", \"evaluation_targets\".\"evaluation_year\", \"evaluation_targets\".\"division\", \"evaluation_targets\".\"vendor_code\", \"evaluation_targets\".\"vendor_name\", \"evaluation_targets\".\"domestic_foreign\", \"evaluation_targets\".\"material_type\", \"evaluation_targets\".\"status\", \"evaluation_targets\".\"consensus_status\", \"evaluation_targets\".\"admin_comment\", \"evaluation_targets\".\"consolidated_comment\", \"evaluation_targets\".\"confirmed_at\", \"evaluation_targets\".\"confirmed_by\", \"evaluation_targets\".\"ld_claim_count\", \"evaluation_targets\".\"ld_claim_amount\", \"evaluation_targets\".\"ld_claim_currency\", \"evaluation_targets\".\"created_at\", \"evaluation_targets\".\"updated_at\", order_reviewer.name as \"order_reviewer_name\", order_reviewer.email as \"order_reviewer_email\", order_etr.department_name_from as \"order_department_name\", order_review.is_approved as \"order_is_approved\", order_review.reviewed_at as \"order_reviewed_at\", procurement_reviewer.name as \"procurement_reviewer_name\", procurement_reviewer.email as \"procurement_reviewer_email\", procurement_etr.department_name_from as \"procurement_department_name\", procurement_review.is_approved as \"procurement_is_approved\", procurement_review.reviewed_at as \"procurement_reviewed_at\", quality_reviewer.name as \"quality_reviewer_name\", quality_reviewer.email as \"quality_reviewer_email\", quality_etr.department_name_from as \"quality_department_name\", quality_review.is_approved as \"quality_is_approved\", quality_review.reviewed_at as \"quality_reviewed_at\", design_reviewer.name as \"design_reviewer_name\", design_reviewer.email as \"design_reviewer_email\", design_etr.department_name_from as \"design_department_name\", design_review.is_approved as \"design_is_approved\", design_review.reviewed_at as \"design_reviewed_at\", cs_reviewer.name as \"cs_reviewer_name\", cs_reviewer.email as \"cs_reviewer_email\", cs_etr.department_name_from as \"cs_department_name\", cs_review.is_approved as \"cs_is_approved\", cs_review.reviewed_at as \"cs_reviewed_at\" from \"evaluation_targets\" left join evaluation_target_reviewers order_etr on \"evaluation_targets\".\"id\" = order_etr.evaluation_target_id AND order_etr.department_code = 'ORDER_EVAL' left join users order_reviewer on order_etr.reviewer_user_id = order_reviewer.id left join evaluation_target_reviews order_review on \"evaluation_targets\".\"id\" = order_review.evaluation_target_id \n AND order_review.reviewer_user_id = order_reviewer.id \n AND order_review.department_code = 'ORDER_EVAL' left join evaluation_target_reviewers procurement_etr on \"evaluation_targets\".\"id\" = procurement_etr.evaluation_target_id AND procurement_etr.department_code = 'PROCUREMENT_EVAL' left join users procurement_reviewer on procurement_etr.reviewer_user_id = procurement_reviewer.id left join evaluation_target_reviews procurement_review on \"evaluation_targets\".\"id\" = procurement_review.evaluation_target_id \n AND procurement_review.reviewer_user_id = procurement_reviewer.id \n AND procurement_review.department_code = 'PROCUREMENT_EVAL' left join evaluation_target_reviewers quality_etr on \"evaluation_targets\".\"id\" = quality_etr.evaluation_target_id AND quality_etr.department_code = 'QUALITY_EVAL' left join users quality_reviewer on quality_etr.reviewer_user_id = quality_reviewer.id left join evaluation_target_reviews quality_review on \"evaluation_targets\".\"id\" = quality_review.evaluation_target_id \n AND quality_review.reviewer_user_id = quality_reviewer.id \n AND quality_review.department_code = 'QUALITY_EVAL' left join evaluation_target_reviewers design_etr on \"evaluation_targets\".\"id\" = design_etr.evaluation_target_id AND design_etr.department_code = 'DESIGN_EVAL' left join users design_reviewer on design_etr.reviewer_user_id = design_reviewer.id left join evaluation_target_reviews design_review on \"evaluation_targets\".\"id\" = design_review.evaluation_target_id \n AND design_review.reviewer_user_id = design_reviewer.id \n AND design_review.department_code = 'DESIGN_EVAL' left join evaluation_target_reviewers cs_etr on \"evaluation_targets\".\"id\" = cs_etr.evaluation_target_id AND cs_etr.department_code = 'CS_EVAL' left join users cs_reviewer on cs_etr.reviewer_user_id = cs_reviewer.id left join evaluation_target_reviews cs_review on \"evaluation_targets\".\"id\" = cs_review.evaluation_target_id \n AND cs_review.reviewer_user_id = cs_reviewer.id \n AND cs_review.department_code = 'CS_EVAL'",
+ "name": "evaluation_targets_with_departments",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.periodic_evaluations_aggregated_view": {
+ "columns": {
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select CONCAT(\"evaluation_year\", '_', \"vendor_id\") as \"id\", \"evaluation_year\", \"vendor_id\", \"vendor_code\", \"vendor_name\", \"domestic_foreign\", \"material_type\", ROUND(AVG(NULLIF(\"process_score\", 0)), 1) as \"process_score\", ROUND(AVG(NULLIF(\"price_score\", 0)), 1) as \"price_score\", ROUND(AVG(NULLIF(\"delivery_score\", 0)), 1) as \"delivery_score\", ROUND(AVG(NULLIF(\"self_evaluation_score\", 0)), 1) as \"self_evaluation_score\", ROUND(AVG(NULLIF(\"participation_bonus\", 0)), 1) as \"participation_bonus\", ROUND(AVG(NULLIF(\"quality_deduction\", 0)), 1) as \"quality_deduction\", ROUND(AVG(NULLIF(\"final_score\", 0)), 1) as \"final_score\", \n CASE \n WHEN (\n AVG(NULLIF(\"process_score\", 0)) + \n AVG(NULLIF(\"price_score\", 0)) + \n AVG(NULLIF(\"delivery_score\", 0)) + \n AVG(NULLIF(\"self_evaluation_score\", 0)) +\n AVG(NULLIF(\"participation_bonus\", 0)) - \n AVG(NULLIF(\"quality_deduction\", 0))\n ) >= 90 THEN 'S'\n WHEN (\n AVG(NULLIF(\"process_score\", 0)) + \n AVG(NULLIF(\"price_score\", 0)) + \n AVG(NULLIF(\"delivery_score\", 0)) + \n AVG(NULLIF(\"self_evaluation_score\", 0)) +\n AVG(NULLIF(\"participation_bonus\", 0)) - \n AVG(NULLIF(\"quality_deduction\", 0))\n ) >= 80 THEN 'A'\n WHEN (\n AVG(NULLIF(\"process_score\", 0)) + \n AVG(NULLIF(\"price_score\", 0)) + \n AVG(NULLIF(\"delivery_score\", 0)) + \n AVG(NULLIF(\"self_evaluation_score\", 0)) +\n AVG(NULLIF(\"participation_bonus\", 0)) - \n AVG(NULLIF(\"quality_deduction\", 0))\n ) >= 70 THEN 'B'\n WHEN (\n AVG(NULLIF(\"process_score\", 0)) + \n AVG(NULLIF(\"price_score\", 0)) + \n AVG(NULLIF(\"delivery_score\", 0)) + \n AVG(NULLIF(\"self_evaluation_score\", 0)) +\n AVG(NULLIF(\"participation_bonus\", 0)) - \n AVG(NULLIF(\"quality_deduction\", 0))\n ) >= 60 THEN 'C'\n ELSE 'D'\n END\n as \"evaluation_grade\", \n CASE \n WHEN AVG(NULLIF(\"final_score\", 0)) >= 90 THEN 'S'\n WHEN AVG(NULLIF(\"final_score\", 0)) >= 80 THEN 'A'\n WHEN AVG(NULLIF(\"final_score\", 0)) >= 70 THEN 'B'\n WHEN AVG(NULLIF(\"final_score\", 0)) >= 60 THEN 'C'\n ELSE 'D'\n END\n as \"final_grade\", \n CASE \n WHEN COUNT(CASE WHEN \"status\" = 'FINALIZED' THEN 1 END) = COUNT(*) THEN 'FINALIZED'\n WHEN COUNT(CASE WHEN \"status\" IN ('REVIEW_COMPLETED', 'FINALIZED') THEN 1 END) = COUNT(*) THEN 'REVIEW_COMPLETED'\n WHEN COUNT(CASE WHEN \"status\" IN ('IN_REVIEW', 'REVIEW_COMPLETED', 'FINALIZED') THEN 1 END) > 0 THEN 'IN_REVIEW'\n WHEN COUNT(CASE WHEN \"status\" IN ('SUBMITTED', 'IN_REVIEW', 'REVIEW_COMPLETED', 'FINALIZED') THEN 1 END) > 0 THEN 'SUBMITTED'\n ELSE 'PENDING_SUBMISSION'\n END\n as \"status\", \n CASE \n WHEN COUNT(CASE WHEN \"order_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"order_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"order_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"order_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"procurement_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"procurement_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"procurement_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"procurement_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"quality_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"quality_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"quality_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"quality_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"design_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"design_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"design_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"design_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"cs_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"cs_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"cs_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"cs_eval_status\", \n CASE \n WHEN COUNT(CASE WHEN \"admin_eval_status\" = 'COMPLETED' THEN 1 END) > 0 THEN 'COMPLETED'\n WHEN COUNT(CASE WHEN \"admin_eval_status\" = 'IN_PROGRESS' THEN 1 END) > 0 THEN 'IN_PROGRESS'\n WHEN COUNT(CASE WHEN \"admin_eval_status\" = 'NOT_STARTED' THEN 1 END) > 0 THEN 'NOT_STARTED'\n ELSE 'NOT_ASSIGNED'\n END\n as \"admin_eval_status\", \n BOOL_AND(\"documents_submitted\")\n as \"documents_submitted\", MAX(\"submission_date\") as \"submission_date\", MAX(\"submission_deadline\") as \"submission_deadline\", MAX(\"review_completed_at\") as \"review_completed_at\", MAX(\"finalized_at\") as \"finalized_at\", \n CASE \n WHEN COUNT(DISTINCT \"division\") > 1 THEN 'BOTH'\n ELSE MAX(\"division\")\n END\n as \"division\", COUNT(*)::int as \"evaluation_count\", STRING_AGG(DISTINCT \"division\", ',') as \"divisions\", SUM(\"total_reviewers\")::int as \"total_reviewers\", SUM(\"completed_reviewers\")::int as \"completed_reviewers\", SUM(\"pending_reviewers\")::int as \"pending_reviewers\", MAX(\"evaluation_period\") as \"evaluation_period\", STRING_AGG(\"evaluation_note\", ' | ') as \"evaluation_note\", (ARRAY_AGG(\"periodic_evaluations_view\".\"finalized_by\" ORDER BY \"periodic_evaluations_view\".\"finalized_at\" DESC NULLS LAST))[1] as \"finalized_by\", (ARRAY_AGG(\"periodic_evaluations_view\".\"name\" ORDER BY \"periodic_evaluations_view\".\"finalized_at\" DESC NULLS LAST))[1] as \"finalized_by_user_name\", (ARRAY_AGG(\"periodic_evaluations_view\".\"email\" ORDER BY \"periodic_evaluations_view\".\"finalized_at\" DESC NULLS LAST))[1] as \"finalized_by_user_email\", MIN(\"created_at\") as \"created_at\", MAX(\"updated_at\") as \"updated_at\", (ARRAY_AGG(\"periodic_evaluations_view\".\"evaluation_target_id\"))[1] as \"evaluation_target_id\", \n STRING_AGG(DISTINCT \"admin_comment\", ' | ')\n as \"evaluation_target_admin_comment\", \n STRING_AGG(DISTINCT \"consolidated_comment\", ' | ')\n as \"evaluation_target_consolidated_comment\", (ARRAY_AGG(\"periodic_evaluations_view\".\"consensus_status\" ORDER BY \"periodic_evaluations_view\".\"updated_at\" DESC NULLS LAST))[1] as \"evaluation_target_consensus_status\", \n MAX(\"confirmed_at\")\n as \"evaluation_target_confirmed_at\" from \"periodic_evaluations_view\" group by \"periodic_evaluations_view\".\"evaluation_year\", \"periodic_evaluations_view\".\"vendor_id\", \"periodic_evaluations_view\".\"vendor_code\", \"periodic_evaluations_view\".\"vendor_name\", \"periodic_evaluations_view\".\"domestic_foreign\", \"periodic_evaluations_view\".\"material_type\"",
+ "name": "periodic_evaluations_aggregated_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.periodic_evaluations_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "evaluation_target_id": {
+ "name": "evaluation_target_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "division": {
+ "name": "division",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_period": {
+ "name": "evaluation_period",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "documents_submitted": {
+ "name": "documents_submitted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "submission_date": {
+ "name": "submission_date",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submission_deadline": {
+ "name": "submission_deadline",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_score": {
+ "name": "final_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_grade": {
+ "name": "final_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "review_completed_at": {
+ "name": "review_completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_at": {
+ "name": "finalized_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_by": {
+ "name": "finalized_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_note": {
+ "name": "evaluation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "admin_comment": {
+ "name": "admin_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consolidated_comment": {
+ "name": "consolidated_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consensus_status": {
+ "name": "consensus_status",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"periodic_evaluations\".\"id\", \"periodic_evaluations\".\"evaluation_target_id\", \"evaluation_targets\".\"evaluation_year\", \"evaluation_targets\".\"division\", \"evaluation_targets\".\"vendor_id\", \"evaluation_targets\".\"vendor_code\", \"evaluation_targets\".\"vendor_name\", \"evaluation_targets\".\"domestic_foreign\", \"evaluation_targets\".\"material_type\", \"periodic_evaluations\".\"evaluation_period\", \"periodic_evaluations\".\"documents_submitted\", \"periodic_evaluations\".\"submission_date\", \"periodic_evaluations\".\"submission_deadline\", \"periodic_evaluations\".\"final_score\", \"periodic_evaluations\".\"final_grade\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'processScore'\n AND re.is_completed = true\n ) as \"process_score\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'priceScore'\n AND re.is_completed = true\n ) as \"price_score\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'deliveryScore'\n AND re.is_completed = true\n ) as \"delivery_score\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'selfEvaluationScore'\n AND re.is_completed = true\n ) as \"self_evaluation_score\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'bonus'\n AND re.is_completed = true\n ) as \"participation_bonus\", (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n JOIN \"reg_eval_criteria_details\" recd ON red.reg_eval_criteria_details_id = recd.id\n JOIN \"reg_eval_criteria\" rec ON recd.criteria_id = rec.id\n JOIN \"reviewer_evaluations\" re ON red.reviewer_evaluation_id = re.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND rec.category2 = 'penalty'\n AND re.is_completed = true\n ) as \"quality_deduction\", \"periodic_evaluations\".\"status\", \"periodic_evaluations\".\"review_completed_at\", \"periodic_evaluations\".\"finalized_at\", \"periodic_evaluations\".\"finalized_by\", \"periodic_evaluations\".\"evaluation_note\", \"periodic_evaluations\".\"created_at\", \"periodic_evaluations\".\"updated_at\", \"evaluation_targets\".\"admin_comment\", \"evaluation_targets\".\"consolidated_comment\", \"evaluation_targets\".\"consensus_status\", \"evaluation_targets\".\"confirmed_at\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'ORDER_EVAL'\n LIMIT 1\n ) as \"order_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'PROCUREMENT_EVAL'\n LIMIT 1\n ) as \"procurement_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'QUALITY_EVAL'\n LIMIT 1\n ) as \"quality_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'DESIGN_EVAL'\n LIMIT 1\n ) as \"design_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'CS_EVAL'\n LIMIT 1\n ) as \"cs_eval_status\", (\n SELECT CASE\n WHEN re.id IS NULL THEN 'NOT_ASSIGNED'\n WHEN re.is_completed = true THEN 'COMPLETED'\n WHEN (\n SELECT COALESCE(SUM(CAST(red.score AS DECIMAL(5,2))), 0)\n FROM \"reviewer_evaluation_details\" red\n WHERE red.reviewer_evaluation_id = re.id\n ) > 0 THEN 'IN_PROGRESS'\n ELSE 'NOT_STARTED'\n END\n FROM \"reviewer_evaluations\" re\n JOIN \"evaluation_target_reviewers\" etr ON re.evaluation_target_reviewer_id = etr.id\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND etr.department_code = 'admin'\n LIMIT 1\n ) as \"admin_eval_status\", (\n SELECT COUNT(*)::int\n FROM \"reviewer_evaluations\" re\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n ) as \"total_reviewers\", (\n SELECT COUNT(*)::int\n FROM \"reviewer_evaluations\" re\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND re.is_completed = true\n ) as \"completed_reviewers\", (\n SELECT COUNT(*)::int\n FROM \"reviewer_evaluations\" re\n WHERE re.periodic_evaluation_id = \"periodic_evaluations\".\"id\"\n AND re.is_completed = false\n ) as \"pending_reviewers\", \"users\".\"name\", \"users\".\"email\" from \"periodic_evaluations\" left join \"evaluation_targets\" on \"periodic_evaluations\".\"evaluation_target_id\" = \"evaluation_targets\".\"id\" left join \"users\" on \"periodic_evaluations\".\"finalized_by\" = \"users\".\"id\" order by \"periodic_evaluations\".\"created_at\"",
+ "name": "periodic_evaluations_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.reviewer_evaluations_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "periodic_evaluation_id": {
+ "name": "periodic_evaluation_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "evaluation_target_reviewer_id": {
+ "name": "evaluation_target_reviewer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "is_completed": {
+ "name": "is_completed",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "completed_at": {
+ "name": "completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_comment": {
+ "name": "reviewer_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "evaluation_period": {
+ "name": "evaluation_period",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "submitted_at": {
+ "name": "submitted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "documents_submitted": {
+ "name": "documents_submitted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": false
+ },
+ "submission_date": {
+ "name": "submission_date",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "submission_deadline": {
+ "name": "submission_deadline",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_score": {
+ "name": "final_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "final_grade": {
+ "name": "final_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_score": {
+ "name": "evaluation_score",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_grade": {
+ "name": "evaluation_grade",
+ "type": "varchar(5)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "status": {
+ "name": "status",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'PENDING'"
+ },
+ "review_completed_at": {
+ "name": "review_completed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_at": {
+ "name": "finalized_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "finalized_by": {
+ "name": "finalized_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_note": {
+ "name": "evaluation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "evaluation_year": {
+ "name": "evaluation_year",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "division": {
+ "name": "division",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domestic_foreign": {
+ "name": "domestic_foreign",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "material_type": {
+ "name": "material_type",
+ "type": "varchar(30)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "admin_comment": {
+ "name": "admin_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "consolidated_comment": {
+ "name": "consolidated_comment",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_at": {
+ "name": "confirmed_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "confirmed_by": {
+ "name": "confirmed_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "ld_claim_count": {
+ "name": "ld_claim_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 0
+ },
+ "ld_claim_amount": {
+ "name": "ld_claim_amount",
+ "type": "numeric(15, 2)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'0'"
+ },
+ "ld_claim_currency": {
+ "name": "ld_claim_currency",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'KRW'"
+ },
+ "department_code": {
+ "name": "department_code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "department_name_from": {
+ "name": "department_name_from",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "reviewer_user_id": {
+ "name": "reviewer_user_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "assigned_at": {
+ "name": "assigned_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "assigned_by": {
+ "name": "assigned_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"reviewer_evaluations\".\"id\", \"reviewer_evaluations\".\"periodic_evaluation_id\", \"reviewer_evaluations\".\"evaluation_target_reviewer_id\", \"reviewer_evaluations\".\"is_completed\", \"reviewer_evaluations\".\"completed_at\", \"reviewer_evaluations\".\"reviewer_comment\", \"reviewer_evaluations\".\"created_at\", \"reviewer_evaluations\".\"updated_at\", \"periodic_evaluations\".\"evaluation_period\", \"reviewer_evaluations\".\"submitted_at\", \"periodic_evaluations\".\"documents_submitted\", \"periodic_evaluations\".\"submission_date\", \"periodic_evaluations\".\"submission_deadline\", \"periodic_evaluations\".\"final_score\", \"periodic_evaluations\".\"final_grade\", \"periodic_evaluations\".\"evaluation_score\", \"periodic_evaluations\".\"evaluation_grade\", \"periodic_evaluations\".\"status\", \"periodic_evaluations\".\"review_completed_at\", \"periodic_evaluations\".\"finalized_at\", \"periodic_evaluations\".\"finalized_by\", \"periodic_evaluations\".\"evaluation_note\", \"evaluation_targets\".\"evaluation_year\", \"evaluation_targets\".\"division\", \"evaluation_targets\".\"vendor_id\", \"evaluation_targets\".\"vendor_code\", \"evaluation_targets\".\"vendor_name\", \"evaluation_targets\".\"domestic_foreign\", \"evaluation_targets\".\"material_type\", \"evaluation_targets\".\"admin_comment\", \"evaluation_targets\".\"consolidated_comment\", \"evaluation_targets\".\"confirmed_at\", \"evaluation_targets\".\"confirmed_by\", \"evaluation_targets\".\"ld_claim_count\", \"evaluation_targets\".\"ld_claim_amount\", \"evaluation_targets\".\"ld_claim_currency\", \"evaluation_target_reviewers\".\"department_code\", \"evaluation_target_reviewers\".\"department_name_from\", \"evaluation_target_reviewers\".\"reviewer_user_id\", reviewer_user.name as \"reviewer_name\", reviewer_user.email as \"reviewer_email\", \"evaluation_target_reviewers\".\"assigned_at\", \"evaluation_target_reviewers\".\"assigned_by\", assigned_by_user.name as \"assigned_by_user_name\", finalized_by_user.name as \"finalized_by_user_name\", finalized_by_user.email as \"finalized_by_user_email\", \n CASE \n WHEN \"reviewer_evaluations\".\"is_completed\" = true THEN 'COMPLETED'\n ELSE 'NOT_STARTED'\n END\n as \"evaluation_progress\" from \"reviewer_evaluations\" left join \"periodic_evaluations\" on \"reviewer_evaluations\".\"periodic_evaluation_id\" = \"periodic_evaluations\".\"id\" left join \"evaluation_targets\" on \"periodic_evaluations\".\"evaluation_target_id\" = \"evaluation_targets\".\"id\" left join \"evaluation_target_reviewers\" on \"reviewer_evaluations\".\"evaluation_target_reviewer_id\" = \"evaluation_target_reviewers\".\"id\" left join users reviewer_user on \"evaluation_target_reviewers\".\"reviewer_user_id\" = reviewer_user.id left join users assigned_by_user on \"evaluation_target_reviewers\".\"assigned_by\" = assigned_by_user.id left join users finalized_by_user on \"periodic_evaluations\".\"finalized_by\" = finalized_by_user.id order by \"reviewer_evaluations\".\"is_completed\" ASC, \"reviewer_evaluations\".\"updated_at\" DESC",
+ "name": "reviewer_evaluations_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.reg_eval_criteria_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "criteria_id": {
+ "name": "criteria_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'quality'"
+ },
+ "category2": {
+ "name": "category2",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'processScore'"
+ },
+ "item": {
+ "name": "item",
+ "type": "varchar(32)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'quality'"
+ },
+ "classification": {
+ "name": "classification",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "range": {
+ "name": "range",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "detail": {
+ "name": "detail",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "order_index": {
+ "name": "order_index",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "score_equip_ship": {
+ "name": "score_equip_ship",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_equip_marine": {
+ "name": "score_equip_marine",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_bulk_ship": {
+ "name": "score_bulk_ship",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "score_bulk_marine": {
+ "name": "score_bulk_marine",
+ "type": "numeric(5, 2)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "remarks": {
+ "name": "remarks",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"reg_eval_criteria_details\".\"id\", \"reg_eval_criteria_details\".\"criteria_id\", \"reg_eval_criteria\".\"category\", \"reg_eval_criteria\".\"category2\", \"reg_eval_criteria\".\"item\", \"reg_eval_criteria\".\"classification\", \"reg_eval_criteria\".\"range\", \"reg_eval_criteria_details\".\"detail\", \"reg_eval_criteria_details\".\"order_index\", \"reg_eval_criteria_details\".\"score_equip_ship\", \"reg_eval_criteria_details\".\"score_equip_marine\", \"reg_eval_criteria_details\".\"score_bulk_ship\", \"reg_eval_criteria_details\".\"score_bulk_marine\", \"reg_eval_criteria\".\"remarks\" from \"reg_eval_criteria\" left join \"reg_eval_criteria_details\" on \"reg_eval_criteria\".\"id\" = \"reg_eval_criteria_details\".\"criteria_id\" order by \"reg_eval_criteria\".\"id\", \"reg_eval_criteria_details\".\"order_index\"",
+ "name": "reg_eval_criteria_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.project_gtc_view": {
+ "columns": {},
+ "definition": "select \"projects\".\"id\" as \"id\", \"projects\".\"code\" as \"code\", \"projects\".\"name\" as \"name\", \"projects\".\"type\" as \"type\", \"projects\".\"created_at\" as \"project_created_at\", \"projects\".\"updated_at\" as \"project_updated_at\", \"project_gtc_files\".\"id\" as \"gtc_file_id\", \"project_gtc_files\".\"file_name\" as \"fileName\", \"project_gtc_files\".\"file_path\" as \"filePath\", \"project_gtc_files\".\"original_file_name\" as \"originalFileName\", \"project_gtc_files\".\"file_size\" as \"fileSize\", \"project_gtc_files\".\"mime_type\" as \"mimeType\", \"project_gtc_files\".\"created_at\" as \"gtcCreatedAt\", \"project_gtc_files\".\"updated_at\" as \"gtcUpdatedAt\" from \"projects\" left join \"project_gtc_files\" on \"projects\".\"id\" = \"project_gtc_files\".\"project_id\"",
+ "name": "project_gtc_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.qna_answer_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "qna_id": {
+ "name": "qna_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"qna_answer\".\"id\", \"qna_answer\".\"qna_id\", \"qna_answer\".\"content\", \"qna_answer\".\"author\", \"qna_answer\".\"created_at\" as \"created_at\", \"qna_answer\".\"updated_at\" as \"updated_at\", \"qna_answer\".\"is_deleted\" as \"is_deleted\", \"qna_answer\".\"deleted_at\" as \"deleted_at\", \"qna\".\"title\" as \"question_title\", \"qna\".\"category\" as \"question_category\", \"qna\".\"author\" as \"question_author\", \"qna\".\"created_at\" as \"question_created_at\", \"users\".\"name\" as \"author_name\", \"users\".\"email\" as \"author_email\", \"users\".\"domain\" as \"author_domain\", \"users\".\"phone\" as \"author_phone\", \"users\".\"image_url\" as \"author_image_url\", \"users\".\"language\" as \"author_language\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"tech_vendors\".\"vendor_name\" as \"tech_vendor_name\", \"tech_vendors\".\"vendor_code\" as \"tech_vendor_code\", COALESCE(\"vendors\".\"vendor_name\", \"tech_vendors\".\"vendor_name\") as \"company_name\", COALESCE(\"vendors\".\"vendor_code\", \"tech_vendors\".\"vendor_code\") as \"company_code\", \n CASE \n WHEN \"vendors\".\"vendor_name\" IS NOT NULL THEN 'vendor'\n WHEN \"tech_vendors\".\"vendor_name\" IS NOT NULL THEN 'techVendor'\n ELSE NULL\n END\n as \"vendor_type\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.is_deleted = false\n ) as \"total_comments\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.is_deleted = false\n ) as \"comment_count\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.parent_comment_id IS NULL\n AND qc.is_deleted = false\n ) as \"parent_comments_count\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.parent_comment_id IS NOT NULL\n AND qc.is_deleted = false\n ) as \"child_comments_count\", (\n SELECT MAX(qc.created_at)\n FROM \"qna_comments\" qc\n WHERE qc.answer_id = \"qna_answer\".\"id\"\n AND qc.is_deleted = false\n ) as \"last_commented_at\", (\n SELECT ROW_NUMBER() OVER (\n PARTITION BY qa2.qna_id \n ORDER BY qa2.created_at ASC\n )\n FROM \"qna_answer\" qa2\n WHERE qa2.id = \"qna_answer\".\"id\"\n AND qa2.is_deleted = false\n ) as \"answer_order\", (\n \"qna_answer\".\"id\" = (\n SELECT qa2.id\n FROM \"qna_answer\" qa2\n WHERE qa2.qna_id = \"qna_answer\".\"qna_id\"\n AND qa2.is_deleted = false\n ORDER BY qa2.created_at ASC\n LIMIT 1\n )\n ) as \"is_first_answer\", (\n \"qna_answer\".\"id\" = (\n SELECT qa2.id\n FROM \"qna_answer\" qa2\n WHERE qa2.qna_id = \"qna_answer\".\"qna_id\"\n AND qa2.is_deleted = false\n ORDER BY qa2.created_at DESC\n LIMIT 1\n )\n ) as \"is_latest_answer\" from \"qna_answer\" left join \"qna\" on \"qna_answer\".\"qna_id\" = \"qna\".\"id\" left join \"users\" on \"qna_answer\".\"author\" = \"users\".\"id\" left join \"vendors\" on \"users\".\"company_id\" = \"vendors\".\"id\" left join \"tech_vendors\" on \"users\".\"tech_company_id\" = \"tech_vendors\".\"id\" where \"qna_answer\".\"is_deleted\" = false order by \"qna_answer\".\"created_at\"",
+ "name": "qna_answer_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.qna_comment_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "answer_id": {
+ "name": "answer_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_comment_id": {
+ "name": "parent_comment_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"qna_comments\".\"id\", \"qna_comments\".\"content\", \"qna_comments\".\"author\", \"qna_comments\".\"answer_id\", \"qna_comments\".\"parent_comment_id\", \"qna_comments\".\"created_at\" as \"created_at\", \"qna_comments\".\"updated_at\" as \"updated_at\", \"qna_comments\".\"is_deleted\" as \"is_deleted\", \"qna_comments\".\"deleted_at\" as \"deleted_at\", \"qna_answer\".\"content\" as \"answer_content\", \"qna_answer\".\"author\" as \"answer_author\", \"qna_answer\".\"created_at\" as \"answer_created_at\", \"qna_answer\".\"qna_id\" as \"qna_id\", \"qna\".\"title\" as \"question_title\", \"qna\".\"category\" as \"question_category\", \"qna\".\"author\" as \"question_author\", \"users\".\"name\" as \"author_name\", \"users\".\"email\" as \"author_email\", \"users\".\"domain\" as \"author_domain\", \"users\".\"image_url\" as \"author_image_url\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"tech_vendors\".\"vendor_name\" as \"tech_vendor_name\", COALESCE(\"vendors\".\"vendor_name\", \"tech_vendors\".\"vendor_name\") as \"company_name\", \n CASE \n WHEN \"vendors\".\"vendor_name\" IS NOT NULL THEN 'vendor'\n WHEN \"tech_vendors\".\"vendor_name\" IS NOT NULL THEN 'techVendor'\n ELSE NULL\n END\n as \"vendor_type\", \"qna_comments\".\"parent_comment_id\" IS NULL as \"is_parent_comment\", \"qna_comments\".\"parent_comment_id\" IS NOT NULL as \"is_child_comment\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc2\n WHERE qc2.parent_comment_id = \"qna_comments\".\"id\"\n AND qc2.is_deleted = false\n ) as \"child_comments_count\", (\n SELECT COUNT(*) > 0\n FROM \"qna_comments\" qc2\n WHERE qc2.parent_comment_id = \"qna_comments\".\"id\"\n AND qc2.is_deleted = false\n ) as \"has_child_comments\", \n CASE \n WHEN \"qna_comments\".\"parent_comment_id\" IS NULL THEN 0\n ELSE 1\n END\n as \"comment_depth\", (\n SELECT ROW_NUMBER() OVER (\n PARTITION BY qc2.answer_id, qc2.parent_comment_id\n ORDER BY qc2.created_at ASC\n )\n FROM \"qna_comments\" qc2\n WHERE qc2.id = \"qna_comments\".\"id\"\n AND qc2.is_deleted = false\n ) as \"comment_order\" from \"qna_comments\" left join \"qna_answer\" on \"qna_comments\".\"answer_id\" = \"qna_answer\".\"id\" left join \"qna\" on \"qna_answer\".\"qna_id\" = \"qna\".\"id\" left join \"users\" on \"qna_comments\".\"author\" = \"users\".\"id\" left join \"vendors\" on \"users\".\"company_id\" = \"vendors\".\"id\" left join \"tech_vendors\" on \"users\".\"tech_company_id\" = \"tech_vendors\".\"id\" where \"qna_comments\".\"is_deleted\" = false order by \"qna_comments\".\"created_at\"",
+ "name": "qna_comment_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.qna_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "author": {
+ "name": "author",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "qna_category",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "is_deleted": {
+ "name": "is_deleted",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "deleted_at": {
+ "name": "deleted_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "domain": {
+ "name": "domain",
+ "type": "user_domain",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'partners'"
+ },
+ "phone": {
+ "name": "phone",
+ "type": "varchar(20)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "image_url": {
+ "name": "image_url",
+ "type": "varchar(1024)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "language": {
+ "name": "language",
+ "type": "varchar(10)",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'en'"
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "last_login_at": {
+ "name": "last_login_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"qna\".\"id\", \"qna\".\"title\", \"qna\".\"content\", \"qna\".\"author\", \"qna\".\"category\", \"qna\".\"created_at\", \"qna\".\"updated_at\", \"qna\".\"is_deleted\", \"qna\".\"deleted_at\", \"users\".\"name\", \"users\".\"email\", \"users\".\"domain\", \"users\".\"phone\", \"users\".\"image_url\", \"users\".\"language\", \"users\".\"is_active\", \"users\".\"last_login_at\", \"vendors\".\"vendor_name\" as \"vendor_name\", \"vendors\".\"vendor_code\" as \"vendor_code\", \"vendors\".\"status\" as \"vendor_status\", \"vendors\".\"country\" as \"vendor_country\", \"vendors\".\"business_size\" as \"vendor_business_size\", \"tech_vendors\".\"vendor_name\" as \"tech_vendor_name\", \"tech_vendors\".\"vendor_code\" as \"tech_vendor_code\", \"tech_vendors\".\"status\" as \"tech_vendor_status\", \"tech_vendors\".\"country\" as \"tech_vendor_country\", \"tech_vendors\".\"tech_vendor_type\" as \"tech_vendor_type\", COALESCE(\"vendors\".\"vendor_name\", \"tech_vendors\".\"vendor_name\") as \"company_name\", COALESCE(\"vendors\".\"vendor_code\", \"tech_vendors\".\"vendor_code\") as \"company_code\", COALESCE(\"vendors\".\"country\", \"tech_vendors\".\"country\") as \"company_country\", \n CASE \n WHEN \"vendors\".\"vendor_name\" IS NOT NULL THEN 'vendor'\n WHEN \"tech_vendors\".\"vendor_name\" IS NOT NULL THEN 'techVendor'\n ELSE NULL\n END\n as \"vendor_type\", (\n SELECT COUNT(*)::int\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"total_answers\", (\n SELECT COUNT(*)::int\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"answer_count\", (\n SELECT MAX(qa.created_at)\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"last_answered_at\", (\n SELECT MIN(qa.created_at)\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"first_answered_at\", (\n SELECT COUNT(*)::int\n FROM \"qna_comments\" qc\n INNER JOIN \"qna_answer\" qa ON qc.answer_id = qa.id\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qc.is_deleted = false\n AND qa.is_deleted = false\n ) as \"total_comments\", (\n SELECT GREATEST(\n \"qna\".\"updated_at\",\n COALESCE((\n SELECT MAX(qa.updated_at)\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ), \"qna\".\"updated_at\"),\n COALESCE((\n SELECT MAX(qc.updated_at)\n FROM \"qna_comments\" qc\n INNER JOIN \"qna_answer\" qa ON qc.answer_id = qa.id\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qc.is_deleted = false\n AND qa.is_deleted = false\n ), \"qna\".\"updated_at\")\n )\n ) as \"last_activity_at\", (\n SELECT COUNT(*) > 0\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"has_answers\", (\n SELECT COUNT(*) > 0\n FROM \"qna_answer\" qa\n WHERE qa.qna_id = \"qna\".\"id\"\n AND qa.is_deleted = false\n ) as \"is_answered\", (\n (SELECT COUNT(*) FROM \"qna_answer\" qa WHERE qa.qna_id = \"qna\".\"id\" AND qa.is_deleted = false) >= 3\n OR\n (SELECT COUNT(*) FROM \"qna_comments\" qc \n INNER JOIN \"qna_answer\" qa ON qc.answer_id = qa.id \n WHERE qa.qna_id = \"qna\".\"id\" AND qc.is_deleted = false AND qa.is_deleted = false) >= 5\n ) as \"is_popular\" from \"qna\" left join \"users\" on \"qna\".\"author\" = \"users\".\"id\" left join \"vendors\" on \"users\".\"company_id\" = \"vendors\".\"id\" left join \"tech_vendors\" on \"users\".\"tech_company_id\" = \"tech_vendors\".\"id\" where \"qna\".\"is_deleted\" = false order by \"qna\".\"created_at\"",
+ "name": "qna_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.template_detail_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "category": {
+ "name": "category",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sample_data": {
+ "name": "sample_data",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_name": {
+ "name": "created_by_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_email": {
+ "name": "created_by_email",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variables": {
+ "name": "variables",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "\n SELECT\n t.id,\n t.name,\n t.slug,\n t.subject,\n t.content,\n t.description,\n t.category,\n t.sample_data,\n t.is_active,\n t.version,\n t.created_by,\n u.name AS created_by_name,\n u.email AS created_by_email,\n t.created_at,\n t.updated_at,\n COALESCE(\n json_agg(\n json_build_object(\n 'id', v.id,\n 'variableName', v.variable_name,\n 'variableType', v.variable_type,\n 'defaultValue', v.default_value,\n 'isRequired', v.is_required,\n 'description', v.description,\n 'displayOrder', v.display_order\n ) ORDER BY v.display_order\n ) FILTER (WHERE v.id IS NOT NULL),\n '[]'::json\n ) AS variables\n FROM \"templates\" t\n LEFT JOIN \"users\" u ON t.created_by = u.id\n LEFT JOIN \"template_variables\" v ON t.id = v.template_id\n GROUP BY\n t.id,\n t.name,\n t.slug,\n t.subject,\n t.content,\n t.description,\n t.category,\n t.sample_data,\n t.is_active,\n t.version,\n t.created_by,\n u.name,\n u.email,\n t.created_at,\n t.updated_at\n",
+ "name": "template_detail_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.template_list_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "subject": {
+ "name": "subject",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "category": {
+ "name": "category",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "version": {
+ "name": "version",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by": {
+ "name": "created_by",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_name": {
+ "name": "created_by_name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_by_email": {
+ "name": "created_by_email",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "variable_count": {
+ "name": "variable_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "required_variable_count": {
+ "name": "required_variable_count",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "\n SELECT\n t.id,\n t.name,\n t.slug,\n t.subject,\n t.description,\n t.category,\n t.is_active,\n t.version,\n t.created_by,\n u.name AS created_by_name,\n u.email AS created_by_email,\n t.created_at,\n t.updated_at,\n COALESCE(v.variable_count, 0) AS variable_count,\n COALESCE(v.required_variable_count, 0) AS required_variable_count\n FROM \"templates\" t\n LEFT JOIN \"users\" u ON t.created_by = u.id\n LEFT JOIN (\n SELECT\n template_id,\n COUNT(*) AS variable_count,\n COUNT(*) FILTER (WHERE is_required) AS required_variable_count\n FROM \"template_variables\"\n GROUP BY template_id\n ) v ON t.id = v.template_id\n",
+ "name": "template_list_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.gtc_clauses_tree_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "item_number": {
+ "name": "item_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "subtitle": {
+ "name": "subtitle",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "depth": {
+ "name": "depth",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "full_path": {
+ "name": "full_path",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "images": {
+ "name": "images",
+ "type": "json",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "type": {
+ "name": "type",
+ "type": "gtc_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision": {
+ "name": "revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "definition": "select \"gtc_clauses\".\"id\", \"gtc_clauses\".\"document_id\", \"gtc_clauses\".\"parent_id\", \"gtc_clauses\".\"item_number\", \"gtc_clauses\".\"category\", \"gtc_clauses\".\"subtitle\", \"gtc_clauses\".\"content\", \"gtc_clauses\".\"sort_order\", \"gtc_clauses\".\"depth\", \"gtc_clauses\".\"full_path\", \"gtc_clauses\".\"images\", \"gtc_clauses\".\"is_active\", \"gtc_clauses\".\"created_at\", \"gtc_clauses\".\"created_by_id\", \"gtc_clauses\".\"updated_at\", \"gtc_clauses\".\"updated_by_id\", \"gtc_clauses\".\"edit_reason\", \"gtc_documents\".\"type\", \"gtc_documents\".\"file_name\", \"gtc_documents\".\"revision\", \"gtc_documents\".\"project_id\", created_by_user.name as \"created_by_name\", created_by_user.email as \"created_by_email\", updated_by_user.name as \"updated_by_name\", updated_by_user.email as \"updated_by_email\", parent_clause.item_number as \"parent_item_number\", parent_clause.subtitle as \"parent_subtitle\", \n (\n SELECT count(*)\n FROM gtc_clauses children\n WHERE children.parent_id = \"gtc_clauses\".\"id\"\n AND children.is_active = true\n )\n as \"children_count\", \n (\n SELECT count(*)\n FROM gtc_clauses siblings\n WHERE siblings.parent_id = \"gtc_clauses\".\"parent_id\"\n AND siblings.is_active = true\n )\n as \"siblings_count\", \n \"gtc_clauses\".\"created_by_id\" != \"gtc_clauses\".\"updated_by_id\" OR \n \"gtc_clauses\".\"created_at\" != \"gtc_clauses\".\"updated_at\"\n as \"has_edit_history\" from \"gtc_clauses\" left join \"gtc_documents\" on \"gtc_clauses\".\"document_id\" = \"gtc_documents\".\"id\" left join users created_by_user on \"gtc_clauses\".\"created_by_id\" = created_by_user.id left join users updated_by_user on \"gtc_clauses\".\"updated_by_id\" = updated_by_user.id left join gtc_clauses parent_clause on \"gtc_clauses\".\"parent_id\" = parent_clause.id",
+ "name": "gtc_clauses_tree_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.gtc_documents_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "gtc_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "project_id": {
+ "name": "project_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "revision": {
+ "name": "revision",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_path": {
+ "name": "file_path",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "file_size": {
+ "name": "file_size",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "created_by_id": {
+ "name": "created_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_by_id": {
+ "name": "updated_by_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "edit_reason": {
+ "name": "edit_reason",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_active": {
+ "name": "is_active",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": true
+ },
+ "code": {
+ "name": "code",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "definition": "select \"gtc_documents\".\"id\", \"gtc_documents\".\"type\", \"gtc_documents\".\"project_id\", \"gtc_documents\".\"revision\", \"gtc_documents\".\"title\", \"gtc_documents\".\"file_name\", \"gtc_documents\".\"file_path\", \"gtc_documents\".\"file_size\", \"gtc_documents\".\"created_at\", \"gtc_documents\".\"created_by_id\", \"gtc_documents\".\"updated_at\", \"gtc_documents\".\"updated_by_id\", \"gtc_documents\".\"edit_reason\", \"gtc_documents\".\"is_active\", \"projects\".\"code\", \"projects\".\"name\", created_by_user.name as \"created_by_name\", created_by_user.email as \"created_by_email\", updated_by_user.name as \"updated_by_name\", updated_by_user.email as \"updated_by_email\", \n (\n SELECT count(*)\n FROM gtc_documents gd2\n WHERE gd2.type = \"gtc_documents\".\"type\"\n AND gd2.is_active = true\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd2.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd2.project_id IS NULL)\n )\n )\n as \"total_documents_in_group\", \n (\n SELECT max(revision)\n FROM gtc_documents gd3\n WHERE gd3.type = \"gtc_documents\".\"type\"\n AND gd3.is_active = true\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd3.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd3.project_id IS NULL)\n )\n )\n as \"latest_revision\", \n \"gtc_documents\".\"revision\" = (\n SELECT max(revision)\n FROM gtc_documents gd4\n WHERE gd4.type = \"gtc_documents\".\"type\"\n AND gd4.is_active = true\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd4.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd4.project_id IS NULL)\n )\n )\n as \"is_latest_revision\", \n (\n SELECT id\n FROM gtc_documents gd5\n WHERE gd5.type = \"gtc_documents\".\"type\"\n AND gd5.is_active = true\n AND gd5.revision < \"gtc_documents\".\"revision\"\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd5.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd5.project_id IS NULL)\n )\n ORDER BY gd5.revision DESC\n LIMIT 1\n )\n as \"previous_revision_id\", \n (\n SELECT id\n FROM gtc_documents gd6\n WHERE gd6.type = \"gtc_documents\".\"type\"\n AND gd6.is_active = true\n AND gd6.revision > \"gtc_documents\".\"revision\"\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd6.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd6.project_id IS NULL)\n )\n ORDER BY gd6.revision ASC\n LIMIT 1\n )\n as \"next_revision_id\", \n CASE \n WHEN \"gtc_documents\".\"file_size\" IS NULL THEN NULL\n WHEN \"gtc_documents\".\"file_size\" < 1024 THEN \"gtc_documents\".\"file_size\" || ' B'\n WHEN \"gtc_documents\".\"file_size\" < 1024 * 1024 THEN round(\"gtc_documents\".\"file_size\" / 1024.0, 1) || ' KB'\n WHEN \"gtc_documents\".\"file_size\" < 1024 * 1024 * 1024 THEN round(\"gtc_documents\".\"file_size\" / (1024.0 * 1024), 1) || ' MB'\n ELSE round(\"gtc_documents\".\"file_size\" / (1024.0 * 1024 * 1024), 1) || ' GB'\n END\n as \"file_size_formatted\", \n CASE \n WHEN \"gtc_documents\".\"project_id\" IS NOT NULL THEN (\n SELECT count(*)\n FROM gtc_documents gd7\n WHERE gd7.project_id = \"gtc_documents\".\"project_id\"\n AND gd7.is_active = true\n )\n ELSE NULL\n END\n as \"project_total_documents\", \n (\n SELECT array_agg(revision ORDER BY revision)\n FROM gtc_documents gd8\n WHERE gd8.type = \"gtc_documents\".\"type\"\n AND gd8.is_active = true\n AND (\n (\"gtc_documents\".\"type\" = 'project' AND gd8.project_id = \"gtc_documents\".\"project_id\") OR\n (\"gtc_documents\".\"type\" = 'standard' AND gd8.project_id IS NULL)\n )\n )\n as \"revision_history\", \n \"gtc_documents\".\"created_by_id\" != \"gtc_documents\".\"updated_by_id\" OR \n \"gtc_documents\".\"created_at\" != \"gtc_documents\".\"updated_at\"\n as \"has_edit_history\" from \"gtc_documents\" left join \"projects\" on \"gtc_documents\".\"project_id\" = \"projects\".\"id\" left join users created_by_user on \"gtc_documents\".\"created_by_id\" = created_by_user.id left join users updated_by_user on \"gtc_documents\".\"updated_by_id\" = updated_by_user.id",
+ "name": "gtc_documents_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ },
+ "public.gtc_vendor_clauses_view": {
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "serial",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "vendor_document_id": {
+ "name": "vendor_document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "base_clause_id": {
+ "name": "base_clause_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parent_id": {
+ "name": "parent_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_number_modified": {
+ "name": "is_number_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_category_modified": {
+ "name": "is_category_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_subtitle_modified": {
+ "name": "is_subtitle_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_content_modified": {
+ "name": "is_content_modified",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "item_number": {
+ "name": "item_number",
+ "type": "varchar(50)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "category": {
+ "name": "category",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "subtitle": {
+ "name": "subtitle",
+ "type": "varchar(500)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_id": {
+ "name": "vendor_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "vendor_code": {
+ "name": "vendor_code",
+ "type": "varchar(100)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "vendor_name": {
+ "name": "vendor_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "base_document_id": {
+ "name": "base_document_id",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "gtc_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "file_name": {
+ "name": "file_name",
+ "type": "varchar(255)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "review_status": {
+ "name": "review_status",
+ "type": "review_status",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'draft'"
+ },
+ "negotiation_note": {
+ "name": "negotiation_note",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "is_excluded": {
+ "name": "is_excluded",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "sort_order": {
+ "name": "sort_order",
+ "type": "numeric(10, 2)",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'0'"
+ },
+ "depth": {
+ "name": "depth",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 0
+ },
+ "full_path": {
+ "name": "full_path",
+ "type": "varchar(200)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "created_at": {
+ "name": "created_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ },
+ "updated_at": {
+ "name": "updated_at",
+ "type": "timestamp with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "now()"
+ }
+ },
+ "definition": "select \"gtc_vendor_clauses\".\"id\", \"gtc_vendor_clauses\".\"vendor_document_id\", \"gtc_vendor_clauses\".\"base_clause_id\", \"gtc_vendor_clauses\".\"parent_id\", \n COALESCE(\"gtc_vendor_clauses\".\"modified_item_number\", \"gtc_clauses\".\"item_number\")\n as \"effective_item_number\", \n COALESCE(\"gtc_vendor_clauses\".\"modified_category\", \"gtc_clauses\".\"category\")\n as \"effective_category\", \n COALESCE(\"gtc_vendor_clauses\".\"modified_subtitle\", \"gtc_clauses\".\"subtitle\")\n as \"effective_subtitle\", \n COALESCE(\"gtc_vendor_clauses\".\"modified_content\", \"gtc_clauses\".\"content\")\n as \"effective_content\", \"gtc_vendor_clauses\".\"is_number_modified\", \"gtc_vendor_clauses\".\"is_category_modified\", \"gtc_vendor_clauses\".\"is_subtitle_modified\", \"gtc_vendor_clauses\".\"is_content_modified\", \"gtc_clauses\".\"item_number\", \"gtc_clauses\".\"category\", \"gtc_clauses\".\"subtitle\", \"gtc_clauses\".\"content\", \"gtc_vendor_documents\".\"vendor_id\", \"vendors\".\"vendor_code\", \"vendors\".\"vendor_name\", \"gtc_vendor_documents\".\"base_document_id\", \"gtc_documents\".\"type\", \"gtc_documents\".\"file_name\", \"gtc_vendor_clauses\".\"review_status\", \"gtc_vendor_clauses\".\"negotiation_note\", \"gtc_vendor_clauses\".\"is_excluded\", \"gtc_vendor_clauses\".\"sort_order\", \"gtc_vendor_clauses\".\"depth\", \"gtc_vendor_clauses\".\"full_path\", \n \"gtc_vendor_clauses\".\"is_number_modified\" OR \n \"gtc_vendor_clauses\".\"is_category_modified\" OR \n \"gtc_vendor_clauses\".\"is_subtitle_modified\" OR \n \"gtc_vendor_clauses\".\"is_content_modified\"\n as \"has_modifications\", \"gtc_vendor_clauses\".\"created_at\", \"gtc_vendor_clauses\".\"updated_at\" from \"gtc_vendor_clauses\" left join \"gtc_clauses\" on \"gtc_vendor_clauses\".\"base_clause_id\" = \"gtc_clauses\".\"id\" left join \"gtc_vendor_documents\" on \"gtc_vendor_clauses\".\"vendor_document_id\" = \"gtc_vendor_documents\".\"id\" left join \"vendors\" on \"gtc_vendor_documents\".\"vendor_id\" = \"vendors\".\"id\" left join \"gtc_documents\" on \"gtc_vendor_documents\".\"base_document_id\" = \"gtc_documents\".\"id\"",
+ "name": "gtc_vendor_clauses_view",
+ "schema": "public",
+ "isExisting": false,
+ "materialized": false
+ }
+ },
+ "_meta": {
+ "columns": {},
+ "schemas": {},
+ "tables": {}
+ }
+} \ No newline at end of file
diff --git a/db/migrations/meta/_journal.json b/db/migrations/meta/_journal.json
index a1f1b4a9..851dc47a 100644
--- a/db/migrations/meta/_journal.json
+++ b/db/migrations/meta/_journal.json
@@ -1695,6 +1695,20 @@
"when": 1753699647966,
"tag": "0241_milky_dust",
"breakpoints": true
+ },
+ {
+ "idx": 242,
+ "version": "7",
+ "when": 1753704670083,
+ "tag": "0242_tan_proteus",
+ "breakpoints": true
+ },
+ {
+ "idx": 243,
+ "version": "7",
+ "when": 1753778103130,
+ "tag": "0243_serious_korg",
+ "breakpoints": true
}
]
} \ No newline at end of file
diff --git a/db/schema/gtc.ts b/db/schema/gtc.ts
index a217f681..610804a3 100644
--- a/db/schema/gtc.ts
+++ b/db/schema/gtc.ts
@@ -99,8 +99,8 @@ import { vendors } from "./vendors"
export type GtcDocumentWithRelations = GtcDocument & {
project?: {
id: number
- code: string
- name: string
+ projectCode: string
+ projectName: string
}
createdBy?: {
id: number
diff --git a/db/schema/vendorDocu.ts b/db/schema/vendorDocu.ts
index 80eb5c5d..8ab86160 100644
--- a/db/schema/vendorDocu.ts
+++ b/db/schema/vendorDocu.ts
@@ -1042,3 +1042,193 @@ export const simplifiedDocumentsView = pgView("simplified_documents_view", {
// 타입 추출
export type SimplifiedDocumentsView = typeof simplifiedDocumentsView.$inferSelect
+
+
+export const documentStagesOnlyView = pgView("document_stages_only_view", {
+ // 기본 문서 정보
+ documentId: integer("document_id").notNull(),
+ docNumber: varchar("doc_number", { length: 100 }).notNull(),
+ drawingKind: varchar("drawing_kind", { length: 50 }),
+ vendorDocNumber: varchar("vendor_doc_number", { length: 100 }),
+ title: varchar("title", { length: 255 }).notNull(),
+ pic: varchar("pic", { length: 50 }),
+ status: varchar("status", { length: 50 }).notNull(),
+ issuedDate: date("issued_date"),
+ contractId: integer("contract_id").notNull(),
+
+
+ // 프로젝트 및 벤더 정보
+ projectCode: varchar("project_code", { length: 50 }),
+ vendorName: varchar("vendor_name", { length: 255 }),
+ vendorCode: varchar("vendor_code", { length: 50 }),
+ vendorId: varchar("vendor_id", { length: 50 }),
+
+
+ // 현재 스테이지 정보 (가장 우선순위가 높은 미완료 스테이지)
+ currentStageId: integer("current_stage_id"),
+ currentStageName: varchar("current_stage_name", { length: 100 }),
+ currentStageStatus: varchar("current_stage_status", { length: 50 }),
+ currentStageOrder: integer("current_stage_order"),
+ currentStagePlanDate: date("current_stage_plan_date"),
+ currentStageActualDate: date("current_stage_actual_date"),
+ currentStageAssigneeName: varchar("current_stage_assignee_name", { length: 100 }),
+ currentStagePriority: varchar("current_stage_priority", { length: 20 }),
+
+ // 계산 필드
+ daysUntilDue: integer("days_until_due"),
+ isOverdue: boolean("is_overdue"),
+ daysDifference: integer("days_difference"),
+
+ // 전체 진행률
+ totalStages: integer("total_stages"),
+ completedStages: integer("completed_stages"),
+ progressPercentage: integer("progress_percentage"),
+
+ // 전체 스테이지 목록 (리비전 및 첨부파일 제외)
+ allStages: jsonb("all_stages").$type<Array<{
+ id: number;
+ stageName: string;
+ stageStatus: string;
+ stageOrder: number;
+ planDate: string | null;
+ actualDate: string | null;
+ assigneeName: string | null;
+ priority: string;
+ description: string | null;
+ notes: string | null;
+ reminderDays: number | null;
+ }>>(),
+
+ // 메타 정보
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull(),
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull(),
+}).as(sql`
+ WITH document_stats AS (
+ SELECT
+ d.id as document_id,
+ COUNT(ist.id) as total_stages,
+ COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) as completed_stages,
+ CASE
+ WHEN COUNT(ist.id) > 0
+ THEN ROUND((COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) * 100.0) / COUNT(ist.id))
+ ELSE 0
+ END as progress_percentage
+ FROM documents d
+ LEFT JOIN issue_stages ist ON d.id = ist.document_id
+ GROUP BY d.id
+ ),
+ current_stage_info AS (
+ SELECT DISTINCT ON (document_id)
+ document_id,
+ id as current_stage_id,
+ stage_name as current_stage_name,
+ stage_status as current_stage_status,
+ stage_order as current_stage_order,
+ plan_date as current_stage_plan_date,
+ actual_date as current_stage_actual_date,
+ assignee_name as current_stage_assignee_name,
+ priority as current_stage_priority,
+ CASE
+ WHEN actual_date IS NULL AND plan_date IS NOT NULL
+ THEN plan_date - CURRENT_DATE
+ ELSE NULL
+ END as days_until_due,
+ CASE
+ WHEN actual_date IS NULL AND plan_date < CURRENT_DATE
+ THEN true
+ WHEN actual_date IS NOT NULL AND actual_date > plan_date
+ THEN true
+ ELSE false
+ END as is_overdue,
+ CASE
+ WHEN actual_date IS NOT NULL AND plan_date IS NOT NULL
+ THEN actual_date - plan_date
+ ELSE NULL
+ END as days_difference
+ FROM issue_stages
+ WHERE stage_status NOT IN ('COMPLETED', 'APPROVED')
+ ORDER BY document_id, stage_order ASC, priority DESC
+ ),
+ -- 문서별 스테이지 집계 (리비전 제외)
+ stage_aggregation AS (
+ SELECT
+ ist.document_id,
+ json_agg(
+ json_build_object(
+ 'id', ist.id,
+ 'stageName', ist.stage_name,
+ 'stageStatus', ist.stage_status,
+ 'stageOrder', ist.stage_order,
+ 'planDate', ist.plan_date,
+ 'actualDate', ist.actual_date,
+ 'assigneeName', ist.assignee_name,
+ 'priority', ist.priority,
+ 'description', ist.description,
+ 'notes', ist.notes,
+ 'reminderDays', ist.reminder_days
+ ) ORDER BY ist.stage_order
+ ) as all_stages
+ FROM issue_stages ist
+ GROUP BY ist.document_id
+ )
+
+ SELECT
+ d.id as document_id,
+ d.doc_number,
+ d.drawing_kind,
+ d.vendor_doc_number,
+ d.title,
+ d.pic,
+ d.status,
+ d.issued_date,
+ d.contract_id,
+
+ -- 프로젝트 및 벤더 정보
+ p.code as project_code,
+ v.vendor_name as vendor_name,
+ v.vendor_code as vendor_code,
+ c.vendor_id as vendor_id,
+
+ -- 현재 스테이지 정보
+ csi.current_stage_id,
+ csi.current_stage_name,
+ csi.current_stage_status,
+ csi.current_stage_order,
+ csi.current_stage_plan_date,
+ csi.current_stage_actual_date,
+ csi.current_stage_assignee_name,
+ csi.current_stage_priority,
+
+ -- 계산 필드
+ csi.days_until_due,
+ csi.is_overdue,
+ csi.days_difference,
+
+ -- 진행률 정보
+ ds.total_stages,
+ ds.completed_stages,
+ ds.progress_percentage,
+
+ -- 전체 스테이지 (리비전 제외)
+ COALESCE(sa.all_stages, '[]'::json) as all_stages,
+
+ -- 메타 정보
+ d.created_at,
+ d.updated_at
+
+ FROM documents d
+ -- 프로젝트 및 벤더 정보 JOIN
+ LEFT JOIN contracts c ON d.contract_id = c.id
+ LEFT JOIN projects p ON c.project_id = p.id
+ LEFT JOIN vendors v ON c.vendor_id = v.id
+
+ -- 스테이지 관련 정보 JOIN
+ LEFT JOIN document_stats ds ON d.id = ds.document_id
+ LEFT JOIN current_stage_info csi ON d.id = csi.document_id
+ LEFT JOIN stage_aggregation sa ON d.id = sa.document_id
+
+ ORDER BY d.created_at DESC
+`);
+
+// 타입 추출
+export type DocumentStagesOnlyView = typeof documentStagesOnlyView.$inferSelect
diff --git a/lib/basic-contract/template/add-basic-contract-template-dialog.tsx b/lib/basic-contract/template/add-basic-contract-template-dialog.tsx
index 6b6ab105..43c19e67 100644
--- a/lib/basic-contract/template/add-basic-contract-template-dialog.tsx
+++ b/lib/basic-contract/template/add-basic-contract-template-dialog.tsx
@@ -51,7 +51,7 @@ const TEMPLATE_NAME_OPTIONS = [
"기술자료 요구서",
"비밀유지 계약서",
"표준하도급기본 계약서",
- "General GTC",
+ "GTC",
"안전보건관리 약정서",
"동반성장",
"윤리규범 준수 서약서",
diff --git a/lib/basic-contract/template/basic-contract-template-columns.tsx b/lib/basic-contract/template/basic-contract-template-columns.tsx
index 5783ca27..446112db 100644
--- a/lib/basic-contract/template/basic-contract-template-columns.tsx
+++ b/lib/basic-contract/template/basic-contract-template-columns.tsx
@@ -120,7 +120,7 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef
const handleViewDetails = () => {
// templateName이 "General GTC"인 경우 특별한 라우팅
- if (template.templateName === "General GTC") {
+ if (template.templateName === "GTC") {
router.push(`/evcp/basic-contract-template/gtc`);
} else {
// 일반적인 경우는 기존과 동일
@@ -141,8 +141,8 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef
</DropdownMenuTrigger>
<DropdownMenuContent align="end" className="w-44">
<DropdownMenuItem onSelect={handleViewDetails}>
- <Eye className="mr-2 h-4 w-4" />
- View Details
+ {/* <Eye className="mr-2 h-4 w-4" /> */}
+ 상세보기
</DropdownMenuItem>
<DropdownMenuSeparator />
@@ -150,8 +150,8 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef
<DropdownMenuItem
onSelect={() => setRowAction({ row, type: "createRevision" })}
>
- <GitBranch className="mr-2 h-4 w-4" />
- 리비전 생성
+ {/* <GitBranch className="mr-2 h-4 w-4" /> */}
+ 리비전 생성하기
</DropdownMenuItem>
<DropdownMenuSeparator />
@@ -182,8 +182,8 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef
<DropdownMenuItem
onSelect={() => setRowAction({ row, type: "delete" })}
>
- Delete
- <DropdownMenuShortcut>⌘⌫</DropdownMenuShortcut>
+ 삭제하기
+ {/* <DropdownMenuShortcut>⌘⌫</DropdownMenuShortcut> */}
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
@@ -221,7 +221,12 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef
const template = row.original;
const handleClick = () => {
- router.push(`/evcp/basic-contract-template/${template.id}`);
+ if (template.templateName === "GTC") {
+ router.push(`/evcp/basic-contract-template/gtc`);
+ } else {
+ // 일반적인 경우는 기존과 동일
+ router.push(`/evcp/basic-contract-template/${template.id}`);
+ }
};
return (
diff --git a/lib/basic-contract/template/update-basicContract-sheet.tsx b/lib/basic-contract/template/update-basicContract-sheet.tsx
index 66037601..07bac31b 100644
--- a/lib/basic-contract/template/update-basicContract-sheet.tsx
+++ b/lib/basic-contract/template/update-basicContract-sheet.tsx
@@ -58,7 +58,7 @@ const TEMPLATE_NAME_OPTIONS = [
"기술자료 요구서",
"비밀유지 계약서",
"표준하도급기본 계약서",
- "General GTC",
+ "GTC",
"안전보건관리 약정서",
"동반성장",
"윤리규범 준수 서약서",
diff --git a/lib/docu-list-rule/combo-box-settings/service.ts b/lib/docu-list-rule/combo-box-settings/service.ts
index 70046828..2c5ee42b 100644
--- a/lib/docu-list-rule/combo-box-settings/service.ts
+++ b/lib/docu-list-rule/combo-box-settings/service.ts
@@ -229,39 +229,34 @@ export async function createComboBoxOption(input: {
}
}
- const codeGroupDescription = codeGroup[0].description
-
- // 해당 Code Group의 마지막 옵션 번호 찾기
- const lastOption = await db
- .select({ code: comboBoxSettings.code })
+ // 코드 중복 체크
+ const existingOption = await db
+ .select({ id: comboBoxSettings.id })
.from(comboBoxSettings)
- .where(eq(comboBoxSettings.codeGroupId, input.codeGroupId))
- .orderBy(sql`CAST(SUBSTRING(${comboBoxSettings.code} FROM ${codeGroupDescription.length + 2}) AS INTEGER) DESC`)
+ .where(
+ sql`${comboBoxSettings.codeGroupId} = ${input.codeGroupId} AND ${comboBoxSettings.code} = ${input.code}`
+ )
.limit(1)
- let nextNumber = 1
- if (lastOption.length > 0 && lastOption[0].code) {
- const prefix = `${codeGroupDescription}_`
- if (lastOption[0].code.startsWith(prefix)) {
- const lastNumber = parseInt(lastOption[0].code.replace(prefix, ''))
- if (!isNaN(lastNumber)) {
- nextNumber = lastNumber + 1
- }
+ if (existingOption.length > 0) {
+ return {
+ success: false,
+ error: "이미 존재하는 코드입니다."
}
}
- const newCode = `${codeGroupDescription}_${nextNumber}`
-
const [newOption] = await db
.insert(comboBoxSettings)
.values({
codeGroupId: input.codeGroupId,
- code: newCode,
- description: input.description,
+ code: input.code,
+ description: input.description || "-",
remark: input.remark,
})
.returning({ id: comboBoxSettings.id })
+
+
revalidatePath("/evcp/docu-list-rule/combo-box-settings")
return {
diff --git a/lib/docu-list-rule/combo-box-settings/table/combo-box-options-add-dialog.tsx b/lib/docu-list-rule/combo-box-settings/table/combo-box-options-add-dialog.tsx
index 1fb8950c..a5a8af2f 100644
--- a/lib/docu-list-rule/combo-box-settings/table/combo-box-options-add-dialog.tsx
+++ b/lib/docu-list-rule/combo-box-settings/table/combo-box-options-add-dialog.tsx
@@ -30,7 +30,8 @@ import { Input } from "@/components/ui/input"
import { createComboBoxOption } from "../service"
const createOptionSchema = z.object({
- description: z.string().min(1, "값은 필수입니다."),
+ code: z.string().min(1, "코드는 필수입니다."),
+ description: z.string().default("-"),
remark: z.string().optional(),
})
@@ -48,7 +49,8 @@ export function ComboBoxOptionsAddDialog({ codeGroupId, onSuccess }: ComboBoxOpt
const form = useForm<CreateOptionSchema>({
resolver: zodResolver(createOptionSchema),
defaultValues: {
- description: "",
+ code: "",
+ description: "-",
remark: "",
},
})
@@ -58,8 +60,8 @@ export function ComboBoxOptionsAddDialog({ codeGroupId, onSuccess }: ComboBoxOpt
try {
const result = await createComboBoxOption({
codeGroupId,
- code: "", // 서비스에서 자동 생성
- description: data.description,
+ code: data.code,
+ description: data.description || "-",
remark: data.remark,
})
@@ -102,6 +104,19 @@ export function ComboBoxOptionsAddDialog({ codeGroupId, onSuccess }: ComboBoxOpt
<form onSubmit={form.handleSubmit(handleSubmit)} className="space-y-4">
<FormField
control={form.control}
+ name="code"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>코드</FormLabel>
+ <FormControl>
+ <Input {...field} placeholder="옵션 코드" />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+ <FormField
+ control={form.control}
name="description"
render={({ field }) => (
<FormItem>
diff --git a/lib/export.ts b/lib/export.ts
index d910ef6a..71fae264 100644
--- a/lib/export.ts
+++ b/lib/export.ts
@@ -2,7 +2,17 @@ import { type Table } from "@tanstack/react-table"
import ExcelJS from "exceljs"
/**
- * `exportTableToExcel`:
+ * 컬럼 정의 인터페이스
+ */
+export interface ExcelColumnDef {
+ id: string
+ header: string
+ accessor: string | ((row: any) => any)
+ group?: string
+}
+
+/**
+ * `exportTableToExcel`: 기존 테이블 기반 내보내기 (페이지네이션된 데이터)
* - filename: 다운로드할 엑셀 파일 이름(확장자 제외)
* - onlySelected: 선택된 행만 내보낼지 여부
* - excludeColumns: 제외할 column id들의 배열 (e.g. ["select", "actions"])
@@ -89,12 +99,100 @@ export async function exportTableToExcel<TData>(
sheetData = [headerRow, ...dataRows]
}
+ // ExcelJS로 파일 생성 및 다운로드
+ await createAndDownloadExcel(sheetData, columns.length, filename, useGroupHeader)
+}
+
+/**
+ * `exportFullDataToExcel`: 전체 데이터를 Excel로 내보내기
+ * - data: 전체 데이터 배열
+ * - columns: 컬럼 정의 배열
+ * - filename: 다운로드할 엑셀 파일 이름(확장자 제외)
+ * - useGroupHeader: 그룹화 헤더를 사용할지 여부 (기본 false)
+ */
+export async function exportFullDataToExcel<TData>(
+ data: TData[],
+ columns: ExcelColumnDef[],
+ {
+ filename = "export",
+ useGroupHeader = true,
+ }: {
+ filename?: string
+ useGroupHeader?: boolean
+ } = {}
+): Promise<void> {
+ let sheetData: any[][]
+
+ if (useGroupHeader) {
+ // ────────────── 2줄 헤더 (row1 = 그룹명, row2 = 컬럼헤더) ──────────────
+ const row1: string[] = []
+ const row2: string[] = []
+
+ columns.forEach((col) => {
+ // group
+ row1.push(col.group ?? "")
+ // header
+ row2.push(col.header)
+ })
+
+ // 데이터 행 생성
+ const dataRows = data.map((item) =>
+ columns.map((col) => {
+ let val: any
+ if (typeof col.accessor === "function") {
+ val = col.accessor(item)
+ } else {
+ val = (item as any)[col.accessor]
+ }
+
+ if (val == null) return ""
+ return typeof val === "object" ? JSON.stringify(val) : val
+ })
+ )
+
+ // 최종 sheetData: [ [그룹들...], [헤더들...], ...데이터들 ]
+ sheetData = [row1, row2, ...dataRows]
+ } else {
+ // ────────────── 기존 1줄 헤더 ──────────────
+ const headerRow = columns.map((col) => col.header)
+
+ // 데이터 행 생성
+ const dataRows = data.map((item) =>
+ columns.map((col) => {
+ let val: any
+ if (typeof col.accessor === "function") {
+ val = col.accessor(item)
+ } else {
+ val = (item as any)[col.accessor]
+ }
+
+ if (val == null) return ""
+ return typeof val === "object" ? JSON.stringify(val) : val
+ })
+ )
+
+ sheetData = [headerRow, ...dataRows]
+ }
+
+ // ExcelJS로 파일 생성 및 다운로드
+ await createAndDownloadExcel(sheetData, columns.length, filename, useGroupHeader)
+}
+
+/**
+ * 공통 Excel 파일 생성 및 다운로드 함수
+ */
+async function createAndDownloadExcel(
+ sheetData: any[][],
+ columnCount: number,
+ filename: string,
+ useGroupHeader: boolean
+): Promise<void> {
// ────────────── ExcelJS 워크북/시트 생성 ──────────────
const workbook = new ExcelJS.Workbook()
const worksheet = workbook.addWorksheet("Sheet1")
- // (추가) 칼럼별 최대 길이 추적
- const maxColumnLengths = columns.map(() => 0)
+ // 칼럼별 최대 길이 추적
+ const maxColumnLengths = Array(columnCount).fill(0)
sheetData.forEach((row) => {
row.forEach((cellValue, colIdx) => {
const cellText = cellValue?.toString() ?? ""
@@ -141,7 +239,6 @@ export async function exportTableToExcel<TData>(
// ────────────── (핵심) 그룹 헤더 병합 로직 ──────────────
if (useGroupHeader) {
// row1 (인덱스 1) = 그룹명 행
- // row2 (인덱스 2) = 실제 컬럼 헤더 행
const groupRowIndex = 1
const groupRow = worksheet.getRow(groupRowIndex)
@@ -149,7 +246,7 @@ export async function exportTableToExcel<TData>(
let start = 1 // 시작 열 인덱스 (1-based)
let prevValue = groupRow.getCell(start).value
- for (let c = 2; c <= columns.length; c++) {
+ for (let c = 2; c <= columnCount; c++) {
const cellVal = groupRow.getCell(c).value
if (cellVal !== prevValue) {
// 이전 그룹명이 빈 문자열이 아니면 병합
@@ -173,12 +270,12 @@ export async function exportTableToExcel<TData>(
groupRowIndex,
start,
groupRowIndex,
- columns.length
+ columnCount
)
}
}
- // ────────────── (추가) 칼럼 너비 자동 조정 ──────────────
+ // ────────────── 칼럼 너비 자동 조정 ──────────────
maxColumnLengths.forEach((len, idx) => {
// 최소 너비 10, +2 여백
worksheet.getColumn(idx + 1).width = Math.max(len + 2, 10)
diff --git a/lib/exportFullData.ts b/lib/exportFullData.ts
new file mode 100644
index 00000000..fde5aac2
--- /dev/null
+++ b/lib/exportFullData.ts
@@ -0,0 +1,189 @@
+import ExcelJS from "exceljs"
+
+/**
+ * 컬럼 정의 인터페이스
+ */
+export interface ExcelColumnDef {
+ id: string
+ header: string
+ accessor: string | ((row: any) => any)
+ group?: string
+}
+
+/**
+ * `exportFullDataToExcel`: 전체 데이터를 Excel로 내보내기
+ * - data: 전체 데이터 배열
+ * - columns: 컬럼 정의 배열
+ * - filename: 다운로드할 엑셀 파일 이름(확장자 제외)
+ * - useGroupHeader: 그룹화 헤더를 사용할지 여부 (기본 false)
+ */
+export async function exportFullDataToExcel<TData>(
+ data: TData[],
+ columns: ExcelColumnDef[],
+ {
+ filename = "export",
+ useGroupHeader = true,
+ }: {
+ filename?: string
+ useGroupHeader?: boolean
+ } = {}
+): Promise<void> {
+ let sheetData: any[][]
+
+ if (useGroupHeader) {
+ // ────────────── 2줄 헤더 (row1 = 그룹명, row2 = 컬럼헤더) ──────────────
+ const row1: string[] = []
+ const row2: string[] = []
+
+ columns.forEach((col) => {
+ // group
+ row1.push(col.group ?? "")
+ // header
+ row2.push(col.header)
+ })
+
+ // 데이터 행 생성
+ const dataRows = data.map((item) =>
+ columns.map((col) => {
+ let val: any
+ if (typeof col.accessor === "function") {
+ val = col.accessor(item)
+ } else {
+ val = (item as any)[col.accessor]
+ }
+
+ if (val == null) return ""
+ return typeof val === "object" ? JSON.stringify(val) : val
+ })
+ )
+
+ // 최종 sheetData: [ [그룹들...], [헤더들...], ...데이터들 ]
+ sheetData = [row1, row2, ...dataRows]
+ } else {
+ // ────────────── 기존 1줄 헤더 ──────────────
+ const headerRow = columns.map((col) => col.header)
+
+ // 데이터 행 생성
+ const dataRows = data.map((item) =>
+ columns.map((col) => {
+ let val: any
+ if (typeof col.accessor === "function") {
+ val = col.accessor(item)
+ } else {
+ val = (item as any)[col.accessor]
+ }
+
+ if (val == null) return ""
+ return typeof val === "object" ? JSON.stringify(val) : val
+ })
+ )
+
+ sheetData = [headerRow, ...dataRows]
+ }
+
+ // ────────────── ExcelJS 워크북/시트 생성 ──────────────
+ const workbook = new ExcelJS.Workbook()
+ const worksheet = workbook.addWorksheet("Sheet1")
+
+ // 칼럼별 최대 길이 추적
+ const maxColumnLengths = columns.map(() => 0)
+ sheetData.forEach((row) => {
+ row.forEach((cellValue, colIdx) => {
+ const cellText = cellValue?.toString() ?? ""
+ if (cellText.length > maxColumnLengths[colIdx]) {
+ maxColumnLengths[colIdx] = cellText.length
+ }
+ })
+ })
+
+ // 시트에 데이터 추가 + 헤더 스타일
+ sheetData.forEach((arr, idx) => {
+ const row = worksheet.addRow(arr)
+
+ // 헤더 스타일 적용
+ if (useGroupHeader) {
+ // 2줄 헤더
+ if (idx < 2) {
+ row.font = { bold: true }
+ row.alignment = { horizontal: "center" }
+ row.eachCell((cell) => {
+ cell.fill = {
+ type: "pattern",
+ pattern: "solid",
+ fgColor: { argb: "FFCCCCCC" },
+ }
+ })
+ }
+ } else {
+ // 1줄 헤더
+ if (idx === 0) {
+ row.font = { bold: true }
+ row.alignment = { horizontal: "center" }
+ row.eachCell((cell) => {
+ cell.fill = {
+ type: "pattern",
+ pattern: "solid",
+ fgColor: { argb: "FFCCCCCC" },
+ }
+ })
+ }
+ }
+ })
+
+ // ────────────── (핵심) 그룹 헤더 병합 로직 ──────────────
+ if (useGroupHeader) {
+ // row1 (인덱스 1) = 그룹명 행
+ const groupRowIndex = 1
+ const groupRow = worksheet.getRow(groupRowIndex)
+
+ // 같은 값이 연속되는 열을 병합
+ let start = 1 // 시작 열 인덱스 (1-based)
+ let prevValue = groupRow.getCell(start).value
+
+ for (let c = 2; c <= columns.length; c++) {
+ const cellVal = groupRow.getCell(c).value
+ if (cellVal !== prevValue) {
+ // 이전 그룹명이 빈 문자열이 아니면 병합
+ if (prevValue && prevValue.toString().trim() !== "") {
+ worksheet.mergeCells(
+ groupRowIndex,
+ start,
+ groupRowIndex,
+ c - 1
+ )
+ }
+ // 다음 구간 시작
+ start = c
+ prevValue = cellVal
+ }
+ }
+
+ // 마지막 구간까지 병합
+ if (prevValue && prevValue.toString().trim() !== "") {
+ worksheet.mergeCells(
+ groupRowIndex,
+ start,
+ groupRowIndex,
+ columns.length
+ )
+ }
+ }
+
+ // ────────────── 칼럼 너비 자동 조정 ──────────────
+ maxColumnLengths.forEach((len, idx) => {
+ // 최소 너비 10, +2 여백
+ worksheet.getColumn(idx + 1).width = Math.max(len + 2, 10)
+ })
+
+ // ────────────── 최종 파일 다운로드 ──────────────
+ const buffer = await workbook.xlsx.writeBuffer()
+ const blob = new Blob([buffer], {
+ type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ })
+ const url = URL.createObjectURL(blob)
+ const link = document.createElement("a")
+ link.href = url
+ link.download = `${filename}.xlsx`
+ link.click()
+ URL.revokeObjectURL(url)
+} \ No newline at end of file
diff --git a/lib/gtc-contract/gtc-clauses/table/clause-preview-viewer.tsx b/lib/gtc-contract/gtc-clauses/table/clause-preview-viewer.tsx
index 30e369b4..f979f0ea 100644
--- a/lib/gtc-contract/gtc-clauses/table/clause-preview-viewer.tsx
+++ b/lib/gtc-contract/gtc-clauses/table/clause-preview-viewer.tsx
@@ -18,6 +18,8 @@ interface ClausePreviewViewerProps {
document: any
instance: WebViewerInstance | null
setInstance: Dispatch<SetStateAction<WebViewerInstance | null>>
+ onSuccess?: () => void
+ onError?: () => void
}
export function ClausePreviewViewer({
@@ -25,140 +27,263 @@ export function ClausePreviewViewer({
document,
instance,
setInstance,
+ onSuccess,
+ onError,
}: ClausePreviewViewerProps) {
const [fileLoading, setFileLoading] = useState<boolean>(true)
+ const [loadingStage, setLoadingStage] = useState<string>("뷰어 준비 중...")
const viewer = useRef<HTMLDivElement>(null)
const initialized = useRef(false)
const isCancelled = useRef(false)
- // WebViewer 초기화
+ // WebViewer 초기화 (단계별)
useEffect(() => {
if (!initialized.current && viewer.current) {
initialized.current = true
isCancelled.current = false
- requestAnimationFrame(() => {
- if (viewer.current) {
- import("@pdftron/webviewer").then(({ default: WebViewer }) => {
- if (isCancelled.current) {
- console.log("📛 WebViewer 초기화 취소됨")
- return
- }
-
- const viewerElement = viewer.current
- if (!viewerElement) return
-
- WebViewer(
- {
- path: "/pdftronWeb",
- licenseKey: process.env.NEXT_PUBLIC_PDFTRON_WEBVIEW_KEY,
- fullAPI: true,
- enableOfficeEditing: true,
- l: "ko",
- // 미리보기 모드로 설정
- enableReadOnlyMode: false,
- },
- viewerElement
- ).then(async (instance: WebViewerInstance) => {
- setInstance(instance)
-
- try {
- const { disableElements, enableElements, setToolbarGroup } = instance.UI
-
- // 미리보기에 필요한 도구만 활성화
- enableElements([
- "toolbarGroup-View",
- "zoomInButton",
- "zoomOutButton",
- "fitButton",
- "rotateCounterClockwiseButton",
- "rotateClockwiseButton",
- ])
-
- // 편집 도구는 비활성화
- disableElements([
- "toolbarGroup-Edit",
- "toolbarGroup-Insert",
- "toolbarGroup-Annotate",
- "toolbarGroup-Shapes",
- "toolbarGroup-Forms",
- ])
-
- setToolbarGroup("toolbarGroup-View")
-
- // 조항 데이터로 문서 생성
- await generateDocumentFromClauses(instance, clauses, document)
-
- } catch (uiError) {
- console.warn("⚠️ UI 설정 중 오류:", uiError)
- } finally {
- setFileLoading(false)
- }
- }).catch((error) => {
- console.error("❌ WebViewer 초기화 실패:", error)
- setFileLoading(false)
- toast.error("뷰어 초기화에 실패했습니다.")
- })
- })
- }
- })
+ initializeViewerStepByStep()
}
return () => {
if (instance) {
- instance.UI.dispose()
+ try {
+ instance.UI.dispose()
+ } catch (error) {
+ console.warn("뷰어 정리 중 오류:", error)
+ }
}
- isCancelled.current = true
+ isCancelled.current = true;
+ setTimeout(() => cleanupHtmlStyle(), 500);
}
}, [])
- // 조항 데이터로 워드 문서 생성
+ const initializeViewerStepByStep = async () => {
+ try {
+ setLoadingStage("라이브러리 로딩 중...")
+
+ // 1단계: 라이브러리 동적 import (지연 추가)
+ await new Promise(resolve => setTimeout(resolve, 300))
+ const { default: WebViewer } = await import("@pdftron/webviewer")
+
+ if (isCancelled.current || !viewer.current) {
+ console.log("📛 WebViewer 초기화 취소됨")
+ return
+ }
+
+ setLoadingStage("뷰어 초기화 중...")
+
+ // 2단계: WebViewer 인스턴스 생성
+ const webviewerInstance = await WebViewer(
+ {
+ path: "/pdftronWeb",
+ licenseKey: process.env.NEXT_PUBLIC_PDFTRON_WEBVIEW_KEY,
+ fullAPI: true,
+ enableOfficeEditing: true,
+ l: "ko",
+ enableReadOnlyMode: false,
+ },
+ viewer.current
+ )
+
+ if (isCancelled.current) {
+ console.log("📛 WebViewer 초기화 취소됨")
+ return
+ }
+
+ setInstance(webviewerInstance)
+ setLoadingStage("UI 설정 중...")
+
+ // 3단계: UI 설정 (약간의 지연 후)
+ await new Promise(resolve => setTimeout(resolve, 500))
+ await configureViewerUI(webviewerInstance)
+
+ setLoadingStage("문서 생성 중...")
+
+ // 4단계: 문서 생성 (충분한 지연 후)
+ await new Promise(resolve => setTimeout(resolve, 800))
+ await generateDocumentFromClauses(webviewerInstance, clauses, document)
+
+ } catch (error) {
+ console.error("❌ WebViewer 단계별 초기화 실패:", error)
+ setFileLoading(false)
+ onError?.() // 초기화 실패 콜백 호출
+ toast.error(`뷰어 초기화 실패: ${error instanceof Error ? error.message : '알 수 없는 오류'}`)
+ }
+ }
+
+ const configureViewerUI = async (webviewerInstance: WebViewerInstance) => {
+ try {
+ const { disableElements, enableElements, setToolbarGroup } = webviewerInstance.UI
+
+ // 미리보기에 필요한 도구만 활성화
+ enableElements([
+ "toolbarGroup-View",
+ "zoomInButton",
+ "zoomOutButton",
+ "fitButton",
+ "rotateCounterClockwiseButton",
+ "rotateClockwiseButton",
+ ])
+
+ // 편집 도구는 비활성화
+ disableElements([
+ "toolbarGroup-Edit",
+ "toolbarGroup-Insert",
+ "toolbarGroup-Annotate",
+ "toolbarGroup-Shapes",
+ "toolbarGroup-Forms",
+ ])
+
+ setToolbarGroup("toolbarGroup-View")
+
+ console.log("✅ UI 설정 완료")
+ } catch (uiError) {
+ console.warn("⚠️ UI 설정 중 오류:", uiError)
+ // UI 설정 실패해도 계속 진행
+ }
+ }
+
+ // 문서 생성 함수 (재시도 로직 포함)
const generateDocumentFromClauses = async (
- instance: WebViewerInstance,
- clauses: GtcClauseTreeView[],
- document: any
+ webviewerInstance: WebViewerInstance,
+ clauses: GtcClauseTreeView[],
+ document: any,
+ retryCount = 0
) => {
+ const MAX_RETRIES = 3
+
try {
console.log("📄 조항 기반 DOCX 문서 생성 시작:", clauses.length)
-
+
// 활성화된 조항만 필터링하고 정렬
const activeClauses = clauses
.filter(clause => clause.isActive !== false)
.sort((a, b) => {
- // sortOrder 또는 itemNumber로 정렬
if (a.sortOrder && b.sortOrder) {
return parseFloat(a.sortOrder) - parseFloat(b.sortOrder)
}
return a.itemNumber.localeCompare(b.itemNumber, undefined, { numeric: true })
})
- // ✅ DOCX 문서 생성
- const docxBlob = await generateDocxDocument(activeClauses, document)
-
- // ✅ DOCX 파일로 변환
- const docxFile = new File([docxBlob], `${document?.title || 'GTC계약서'}_미리보기.docx`, {
- type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
+ if (activeClauses.length === 0) {
+ throw new Error("활성화된 조항이 없습니다.")
+ }
+
+ setLoadingStage(`문서 생성 중... (${activeClauses.length}개 조항 처리)`)
+
+ // DOCX 문서 생성 (재시도 로직 포함)
+ const docxBlob = await generateDocxDocumentWithRetry(activeClauses, document)
+
+ // 파일 생성
+ const docxFile = new File([docxBlob], `${document?.title || 'GTC계약서'}_미리보기.docx`, {
+ type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
})
+
+ setLoadingStage("문서 로딩 중...")
+
+ // WebViewer가 완전히 준비된 상태인지 확인
+ await waitForViewerReady(webviewerInstance)
+
+ // DOCX 문서 로드 (재시도 포함)
+ await loadDocumentWithRetry(webviewerInstance, docxFile)
+
+ console.log("✅ DOCX 기반 문서 생성 완료")
+ toast.success("Word 문서 미리보기가 생성되었습니다.")
+ setFileLoading(false)
+ onSuccess?.() // 성공 콜백 호출
+
+ } catch (err) {
+ console.error(`❌ DOCX 문서 생성 중 오류 (시도 ${retryCount + 1}/${MAX_RETRIES + 1}):`, err)
- // ✅ PDFTron에서 DOCX 문서로 로드
- await instance.UI.loadDocument(docxFile, {
- filename: `${document?.title || 'GTC계약서'}_미리보기.docx`,
- enableOfficeEditing: true, // DOCX 편집 모드 활성화
+ if (retryCount < MAX_RETRIES) {
+ console.log(`🔄 ${(retryCount + 1) * 1000}ms 후 재시도...`)
+ setLoadingStage(`재시도 중... (${retryCount + 1}/${MAX_RETRIES})`)
+
+ await new Promise(resolve => setTimeout(resolve, (retryCount + 1) * 1000))
+
+ if (!isCancelled.current) {
+ return generateDocumentFromClauses(webviewerInstance, clauses, document, retryCount + 1)
+ }
+ } else {
+ setFileLoading(false)
+ onError?.() // 실패 콜백 호출
+ toast.error(`문서 생성 실패: ${err instanceof Error ? err.message : '알 수 없는 오류'}`)
+ }
+ }
+ }
+
+ // WebViewer 준비 상태 확인
+ const waitForViewerReady = async (webviewerInstance: WebViewerInstance, timeout = 5000) => {
+ const startTime = Date.now()
+
+ while (Date.now() - startTime < timeout) {
+ try {
+ // UI가 준비되었는지 확인
+ if (webviewerInstance.UI && webviewerInstance.Core) {
+ console.log("✅ WebViewer 준비 완료")
+ return
+ }
+ } catch (error) {
+ // 아직 준비되지 않음
+ }
+
+ await new Promise(resolve => setTimeout(resolve, 100))
+ }
+
+ throw new Error("WebViewer 준비 시간 초과")
+ }
+
+ // 문서 로드 재시도 함수
+ const loadDocumentWithRetry = async (
+ webviewerInstance: WebViewerInstance,
+ file: File,
+ retryCount = 0
+ ) => {
+ const MAX_LOAD_RETRIES = 2
+
+ try {
+ await webviewerInstance.UI.loadDocument(file, {
+ filename: file.name,
+ enableOfficeEditing: true,
})
+ console.log("✅ 문서 로드 성공")
+ } catch (error) {
+ console.error(`문서 로드 실패 (시도 ${retryCount + 1}):`, error)
- console.log("✅ DOCX 기반 문서 생성 완료")
- toast.success("Word 문서 미리보기가 생성되었습니다.")
+ if (retryCount < MAX_LOAD_RETRIES) {
+ await new Promise(resolve => setTimeout(resolve, 1000))
+ return loadDocumentWithRetry(webviewerInstance, file, retryCount + 1)
+ } else {
+ throw new Error(`문서 로드 실패: ${error instanceof Error ? error.message : '알 수 없는 오류'}`)
+ }
+ }
+ }
+
+ // DOCX 생성 재시도 함수
+ const generateDocxDocumentWithRetry = async (
+ clauses: GtcClauseTreeView[],
+ document: any,
+ retryCount = 0
+ ): Promise<Blob> => {
+ try {
+ return await generateDocxDocument(clauses, document)
+ } catch (error) {
+ console.error(`DOCX 생성 실패 (시도 ${retryCount + 1}):`, error)
- } catch (err) {
- console.error("❌ DOCX 문서 생성 중 오류:", err)
- toast.error(`문서 생성 실패: ${err instanceof Error ? err.message : '알 수 없는 오류'}`)
+ if (retryCount < 2) {
+ await new Promise(resolve => setTimeout(resolve, 500))
+ return generateDocxDocumentWithRetry(clauses, document, retryCount + 1)
+ } else {
+ throw error
+ }
}
}
return (
<div className="relative w-full h-full overflow-hidden">
- <div
- ref={viewer}
+ <div
+ ref={viewer}
className="w-full h-full"
style={{
position: 'relative',
@@ -169,10 +294,13 @@ export function ClausePreviewViewer({
{fileLoading && (
<div className="absolute inset-0 flex flex-col items-center justify-center bg-white bg-opacity-90 z-10">
<Loader2 className="h-8 w-8 text-blue-500 animate-spin mb-4" />
- <p className="text-sm text-muted-foreground">문서 생성 중...</p>
+ <p className="text-sm text-muted-foreground">{loadingStage}</p>
<p className="text-xs text-muted-foreground mt-1">
{clauses.filter(c => c.isActive !== false).length}개 조항 처리 중
</p>
+ <div className="mt-3 text-xs text-gray-400">
+ 초기화에 시간이 걸릴 수 있습니다...
+ </div>
</div>
)}
</div>
@@ -180,82 +308,81 @@ export function ClausePreviewViewer({
)
}
+// ===== 유틸리티 함수들 =====
-
-// ===== data URL 판별 및 디코딩 유틸 =====
+// data URL 판별 및 디코딩 유틸
function isDataUrl(url: string) {
- return /^data:/.test(url);
- }
-
- function dataUrlToUint8Array(dataUrl: string): { bytes: Uint8Array; mime: string } {
- // 형식: data:<mime>;base64,<payload>
- const match = dataUrl.match(/^data:([^;]+);base64,(.*)$/);
- if (!match) {
- // base64가 아닌 data URL도 가능하지만, 여기서는 base64만 지원
- throw new Error("지원하지 않는 data URL 형식입니다.");
- }
- const mime = match[1];
- const base64 = match[2];
- const binary = atob(base64);
- const len = binary.length;
- const bytes = new Uint8Array(len);
- for (let i = 0; i < len; i++) bytes[i] = binary.charCodeAt(i);
- return { bytes, mime };
+ return /^data:/.test(url);
+}
+
+function dataUrlToUint8Array(dataUrl: string): { bytes: Uint8Array; mime: string } {
+ // 형식: data:<mime>;base64,<payload>
+ const match = dataUrl.match(/^data:([^;]+);base64,(.*)$/);
+ if (!match) {
+ // base64가 아닌 data URL도 가능하지만, 여기서는 base64만 지원
+ throw new Error("지원하지 않는 data URL 형식입니다.");
}
-
- // ===== helper: 이미지 불러오기 + 크기 계산 (data:, http:, / 경로 모두 지원) =====
- async function fetchImageData(url: string, maxWidthPx = 500) {
- let blob: Blob;
- let bytes: Uint8Array;
-
- if (isDataUrl(url)) {
- // data URL → Uint8Array, Blob
- const { bytes: arr, mime } = dataUrlToUint8Array(url);
- bytes = arr;
- blob = new Blob([bytes], { type: mime });
- } else {
- // http(s) 또는 상대 경로
- const res = await fetch(url, { cache: "no-store" });
- if (!res.ok) throw new Error(`이미지 다운로드 실패 (${res.status})`);
- blob = await res.blob();
- const arrayBuffer = await blob.arrayBuffer();
- bytes = new Uint8Array(arrayBuffer);
- }
-
- // 원본 크기 파악 (공통)
- const dims = await new Promise<{ width: number; height: number }>((resolve) => {
- const img = new Image();
- const objectUrl = URL.createObjectURL(blob);
- img.onload = () => {
- const width = img.naturalWidth || 800;
- const height = img.naturalHeight || 600;
- URL.revokeObjectURL(objectUrl);
- resolve({ width, height });
- };
- img.onerror = () => {
- URL.revokeObjectURL(objectUrl);
- resolve({ width: 800, height: 600 }); // 실패 시 기본값
- };
- img.src = objectUrl;
- });
-
- // 비율 유지 축소
- const scale = Math.min(1, maxWidthPx / (dims.width || maxWidthPx));
- const width = Math.round((dims.width || maxWidthPx) * scale);
- const height = Math.round((dims.height || Math.round(maxWidthPx * 0.6)) * scale);
-
- return { data: bytes, width, height };
+ const mime = match[1];
+ const base64 = match[2];
+ const binary = atob(base64);
+ const len = binary.length;
+ const bytes = new Uint8Array(len);
+ for (let i = 0; i < len; i++) bytes[i] = binary.charCodeAt(i);
+ return { bytes, mime };
+}
+
+// 이미지 불러오기 + 크기 계산 (data:, http:, / 경로 모두 지원)
+async function fetchImageData(url: string, maxWidthPx = 500) {
+ let blob: Blob;
+ let bytes: Uint8Array;
+
+ if (isDataUrl(url)) {
+ // data URL → Uint8Array, Blob
+ const { bytes: arr, mime } = dataUrlToUint8Array(url);
+ bytes = arr;
+ blob = new Blob([bytes], { type: mime });
+ } else {
+ // http(s) 또는 상대 경로
+ const res = await fetch(url, { cache: "no-store" });
+ if (!res.ok) throw new Error(`이미지 다운로드 실패 (${res.status})`);
+ blob = await res.blob();
+ const arrayBuffer = await blob.arrayBuffer();
+ bytes = new Uint8Array(arrayBuffer);
}
+ // 원본 크기 파악 (공통)
+ const dims = await new Promise<{ width: number; height: number }>((resolve) => {
+ const img = new Image();
+ const objectUrl = URL.createObjectURL(blob);
+ img.onload = () => {
+ const width = img.naturalWidth || 800;
+ const height = img.naturalHeight || 600;
+ URL.revokeObjectURL(objectUrl);
+ resolve({ width, height });
+ };
+ img.onerror = () => {
+ URL.revokeObjectURL(objectUrl);
+ resolve({ width: 800, height: 600 }); // 실패 시 기본값
+ };
+ img.src = objectUrl;
+ });
+
+ // 비율 유지 축소
+ const scale = Math.min(1, maxWidthPx / (dims.width || maxWidthPx));
+ const width = Math.round((dims.width || maxWidthPx) * scale);
+ const height = Math.round((dims.height || Math.round(maxWidthPx * 0.6)) * scale);
+
+ return { data: bytes, width, height };
+}
+
// DOCX 문서 생성 (docx 라이브러리 사용)
async function generateDocxDocument(
- clauses: GtcClauseTreeView[],
- document: any
- ): Promise<Blob> {
- const { Document, Packer, Paragraph, TextRun, AlignmentType, ImageRun } = await import("docx");
-
-
-function textToParagraphs(text: string, indentLeft: number) {
+ clauses: GtcClauseTreeView[],
+ document: any
+): Promise<Blob> {
+ const { Document, Packer, Paragraph, TextRun, AlignmentType, ImageRun } = await import("docx");
+
+ function textToParagraphs(text: string, indentLeft: number) {
const lines = text.split("\n");
return [
new Paragraph({
@@ -269,11 +396,10 @@ function textToParagraphs(text: string, indentLeft: number) {
}),
];
}
-
- const IMG_TOKEN = /!\[([^\]]+)\]/g; // 예: ![image1753698566087]
+ const IMG_TOKEN = /!\[([^\]]+)\]/g; // 예: ![image1753698566087]
-async function pushContentWithInlineImages(
+ async function pushContentWithInlineImages(
content: string,
indentLeft: number,
children: any[],
@@ -284,135 +410,135 @@ async function pushContentWithInlineImages(
const start = match.index ?? 0;
const end = start + match[0].length;
const imageId = match[1];
-
+
// 앞부분 텍스트
if (start > lastIndex) {
const txt = content.slice(lastIndex, start);
children.push(...textToParagraphs(txt, indentLeft));
}
-
+
// 이미지 삽입
const imgMeta = imageMap.get(imageId);
if (imgMeta?.url) {
- const { data, width, height } = await fetchImageData(imgMeta.url, 520);
- children.push(
- new Paragraph({
- children: [
- new ImageRun({
- data,
- transformation: { width, height },
- }),
- ],
- indent: { left: indentLeft },
- })
- );
- // 사용된 이미지 표시(뒤에서 중복 추가 방지)
- imageMap.delete(imageId);
- }
- // 매칭 실패 시: 아무것도 넣지 않음(토큰 제거)
-
- lastIndex = end;
- }
-
- // 남은 꼬리 텍스트
- if (lastIndex < content.length) {
- const tail = content.slice(lastIndex);
- children.push(...textToParagraphs(tail, indentLeft));
- }
- }
-
-
- const documentTitle = document?.title || "GTC 계약서";
- const currentDate = new Date().toLocaleDateString("ko-KR");
-
- // depth 추정/정렬
- const structuredClauses = organizeClausesByHierarchy(clauses);
-
- const children: any[] = [
- new Paragraph({
- alignment: AlignmentType.CENTER,
- children: [new TextRun({ text: documentTitle, bold: true, size: 32 })],
- }),
- new Paragraph({
- alignment: AlignmentType.CENTER,
- children: [new TextRun({ text: `생성일: ${currentDate}`, size: 20, color: "666666" })],
- }),
- new Paragraph({ text: "" }),
- new Paragraph({ text: "" }),
- ];
-
- for (const clause of structuredClauses) {
- const depth = Math.min(clause.estimatedDepth || 0, 3);
- const indentLeft = depth * 400; // 번호/제목
- const indentContent = indentLeft + 200; // 본문/이미지
-
- // 번호 + 제목
- children.push(
- new Paragraph({
- children: [
- new TextRun({ text: `${clause.itemNumber}${clause.subtitle ? "." : ""}`, bold: true, color: "2563eb" }),
- ...(clause.subtitle
- ? [new TextRun({ text: " " }), new TextRun({ text: clause.subtitle, bold: true })]
- : []),
- ],
- indent: { left: indentLeft },
- })
- );
-
- const imageMap = new Map(
- Array.isArray((clause as any).images)
- ? (clause as any).images.map((im: any) => [String(im.id), im])
- : []
- );
-
- // 내용
- const hasContent = clause.content && clause.content.trim();
- if (hasContent) {
- await pushContentWithInlineImages(clause.content!, indentContent, children, imageMap);
- }
-
- // else {
- // children.push(
- // new Paragraph({
- // // children: [new TextRun({ text: "(상세 내용 없음)", italics: true, color: "6b7280", size: 20 })],
- // indent: { left: indentContent },
- // })
- // );
- // }
-
- // 본문에 등장하지 않은 잔여 이미지(선택: 뒤에 추가)
-
- for (const [, imgMeta] of imageMap) {
try {
const { data, width, height } = await fetchImageData(imgMeta.url, 520);
children.push(
new Paragraph({
- children: [new ImageRun({ data, transformation: { width, height } })],
- indent: { left: indentContent },
+ children: [
+ new ImageRun({
+ data,
+ transformation: { width, height },
+ }),
+ ],
+ indent: { left: indentLeft },
})
);
- } catch (e) {
+ // 사용된 이미지 표시(뒤에서 중복 추가 방지)
+ imageMap.delete(imageId);
+ } catch (imgError) {
+ console.warn("이미지 로드 실패:", imgMeta, imgError);
+ // 이미지 로드 실패시 텍스트로 대체
children.push(
new Paragraph({
- children: [new TextRun({ text: `이미지 로드 실패: ${imgMeta.fileName || imgMeta.url}`, color: "b91c1c", size: 20 })],
- indent: { left: indentContent },
+ children: [new TextRun({ text: `[이미지 로드 실패: ${imgMeta.fileName || imageId}]`, color: "999999" })],
+ indent: { left: indentLeft },
})
);
- console.warn("이미지 로드 실패(잔여):", imgMeta, e);
}
}
-
- // 조항 간 간격
- children.push(new Paragraph({ text: "" }));
+ // 매칭 실패 시: 아무것도 넣지 않음(토큰 제거)
+
+ lastIndex = end;
+ }
+
+ // 남은 꼬리 텍스트
+ if (lastIndex < content.length) {
+ const tail = content.slice(lastIndex);
+ children.push(...textToParagraphs(tail, indentLeft));
+ }
+ }
+
+ const documentTitle = document?.title || "GTC 계약서";
+ const currentDate = new Date().toLocaleDateString("ko-KR");
+
+ // depth 추정/정렬
+ const structuredClauses = organizeClausesByHierarchy(clauses);
+
+ const children: any[] = [
+ new Paragraph({
+ alignment: AlignmentType.CENTER,
+ children: [new TextRun({ text: documentTitle, bold: true, size: 32 })],
+ }),
+ new Paragraph({
+ alignment: AlignmentType.CENTER,
+ children: [new TextRun({ text: `생성일: ${currentDate}`, size: 20, color: "666666" })],
+ }),
+ new Paragraph({ text: "" }),
+ new Paragraph({ text: "" }),
+ ];
+
+ for (const clause of structuredClauses) {
+ const depth = Math.min(clause.estimatedDepth || 0, 3);
+ const indentLeft = depth * 400; // 번호/제목
+ const indentContent = indentLeft + 200; // 본문/이미지
+
+ // 번호 + 제목
+ children.push(
+ new Paragraph({
+ children: [
+ new TextRun({ text: `${clause.itemNumber}${clause.subtitle ? "." : ""}`, bold: true, color: "2563eb" }),
+ ...(clause.subtitle
+ ? [new TextRun({ text: " " }), new TextRun({ text: clause.subtitle, bold: true })]
+ : []),
+ ],
+ indent: { left: indentLeft },
+ })
+ );
+
+ const imageMap = new Map(
+ Array.isArray((clause as any).images)
+ ? (clause as any).images.map((im: any) => [String(im.id), im])
+ : []
+ );
+
+ // 내용
+ const hasContent = clause.content && clause.content.trim();
+ if (hasContent) {
+ await pushContentWithInlineImages(clause.content!, indentContent, children, imageMap);
}
-
- const doc = new Document({
- sections: [{ properties: {}, children }],
- });
-
- return await Packer.toBlob(doc);
+
+ // 본문에 등장하지 않은 잔여 이미지(선택: 뒤에 추가)
+ for (const [, imgMeta] of imageMap) {
+ try {
+ const { data, width, height } = await fetchImageData(imgMeta.url, 520);
+ children.push(
+ new Paragraph({
+ children: [new ImageRun({ data, transformation: { width, height } })],
+ indent: { left: indentContent },
+ })
+ );
+ } catch (e) {
+ children.push(
+ new Paragraph({
+ children: [new TextRun({ text: `이미지 로드 실패: ${imgMeta.fileName || imgMeta.url}`, color: "b91c1c", size: 20 })],
+ indent: { left: indentContent },
+ })
+ );
+ console.warn("이미지 로드 실패(잔여):", imgMeta, e);
+ }
+ }
+
+ // 조항 간 간격
+ children.push(new Paragraph({ text: "" }));
}
+ const doc = new Document({
+ sections: [{ properties: {}, children }],
+ });
+
+ return await Packer.toBlob(doc);
+}
+
// 조항들을 계층구조로 정리
function organizeClausesByHierarchy(clauses: GtcClauseTreeView[]) {
// depth가 없는 경우 itemNumber로 depth 추정
@@ -421,9 +547,9 @@ function organizeClausesByHierarchy(clauses: GtcClauseTreeView[]) {
estimatedDepth: clause.depth ?? estimateDepthFromItemNumber(clause.itemNumber)
})).sort((a, b) => {
// itemNumber 기준 자연 정렬
- return a.itemNumber.localeCompare(b.itemNumber, undefined, {
- numeric: true,
- sensitivity: 'base'
+ return a.itemNumber.localeCompare(b.itemNumber, undefined, {
+ numeric: true,
+ sensitivity: 'base'
})
})
}
@@ -433,3 +559,12 @@ function estimateDepthFromItemNumber(itemNumber: string): number {
const parts = itemNumber.split('.')
return Math.max(0, parts.length - 1)
}
+
+// WebViewer 정리 함수
+const cleanupHtmlStyle = () => {
+ // iframe 스타일 정리 (WebViewer가 추가한 스타일)
+ const elements = document.querySelectorAll('.Document_container');
+ elements.forEach((elem) => {
+ elem.remove();
+ });
+}; \ No newline at end of file
diff --git a/lib/gtc-contract/gtc-clauses/table/excel-import.tsx b/lib/gtc-contract/gtc-clauses/table/excel-import.tsx
new file mode 100644
index 00000000..d8f435f7
--- /dev/null
+++ b/lib/gtc-contract/gtc-clauses/table/excel-import.tsx
@@ -0,0 +1,340 @@
+import { ExcelColumnDef } from "@/lib/export"
+import ExcelJS from "exceljs"
+
+/**
+ * Excel 템플릿 다운로드 함수
+ */
+export async function downloadExcelTemplate(
+ columns: ExcelColumnDef[],
+ {
+ filename = "template",
+ includeExampleData = true,
+ useGroupHeader = true,
+ }: {
+ filename?: string
+ includeExampleData?: boolean
+ useGroupHeader?: boolean
+ } = {}
+): Promise<void> {
+ let sheetData: any[][]
+
+ if (useGroupHeader) {
+ // 2줄 헤더 생성
+ const row1: string[] = []
+ const row2: string[] = []
+
+ columns.forEach((col) => {
+ row1.push(col.group ?? "")
+ row2.push(col.header)
+ })
+
+ sheetData = [row1, row2]
+
+ // 예시 데이터 추가
+ if (includeExampleData) {
+ // 빈 행 3개 추가 (사용자가 데이터 입력할 공간)
+ for (let i = 0; i < 3; i++) {
+ const exampleRow = columns.map((col) => {
+ // 컬럼 타입에 따른 예시 데이터
+ if (col.id === "itemNumber") return i === 0 ? `1.${i + 1}` : i === 1 ? "2.1" : ""
+ if (col.id === "subtitle") return i === 0 ? "예시 조항 소제목" : i === 1 ? "하위 조항 예시" : ""
+ if (col.id === "content") return i === 0 ? "조항의 상세 내용을 입력합니다." : i === 1 ? "하위 조항의 내용" : ""
+ if (col.id === "category") return i === 0 ? "일반조항" : i === 1 ? "특별조항" : ""
+ if (col.id === "sortOrder") return i === 0 ? "10" : i === 1 ? "20" : ""
+ if (col.id === "parentId") return i === 1 ? "1" : ""
+ if (col.id === "isActive") return i === 0 ? "활성" : i === 1 ? "활성" : ""
+ if (col.id === "editReason") return i === 0 ? "신규 작성" : ""
+ return ""
+ })
+ sheetData.push(exampleRow)
+ }
+ }
+ } else {
+ // 1줄 헤더
+ const headerRow = columns.map((col) => col.header)
+ sheetData = [headerRow]
+
+ if (includeExampleData) {
+ // 예시 데이터 행 추가
+ const exampleRow = columns.map(() => "")
+ sheetData.push(exampleRow)
+ }
+ }
+
+ // ExcelJS로 워크북 생성
+ const workbook = new ExcelJS.Workbook()
+ const worksheet = workbook.addWorksheet("GTC조항템플릿")
+
+ // 데이터 추가
+ sheetData.forEach((arr, idx) => {
+ const row = worksheet.addRow(arr)
+
+ // 헤더 스타일 적용
+ if (useGroupHeader) {
+ if (idx < 2) {
+ row.font = { bold: true }
+ row.alignment = { horizontal: "center" }
+ row.eachCell((cell) => {
+ cell.fill = {
+ type: "pattern",
+ pattern: "solid",
+ fgColor: { argb: "FFE6F3FF" }, // 연한 파란색
+ }
+ cell.border = {
+ top: { style: "thin" },
+ left: { style: "thin" },
+ bottom: { style: "thin" },
+ right: { style: "thin" },
+ }
+ })
+ }
+ } else {
+ if (idx === 0) {
+ row.font = { bold: true }
+ row.alignment = { horizontal: "center" }
+ row.eachCell((cell) => {
+ cell.fill = {
+ type: "pattern",
+ pattern: "solid",
+ fgColor: { argb: "FFE6F3FF" },
+ }
+ })
+ }
+ }
+
+ // 예시 데이터 행 스타일
+ if (includeExampleData && idx === (useGroupHeader ? 2 : 1)) {
+ row.eachCell((cell) => {
+ cell.fill = {
+ type: "pattern",
+ pattern: "solid",
+ fgColor: { argb: "FFFFEAA7" }, // 연한 노란색
+ }
+ cell.font = { italic: true, color: { argb: "FF666666" } }
+ })
+ }
+ })
+
+ // 그룹 헤더 병합
+ if (useGroupHeader) {
+ const groupRowIndex = 1
+ const groupRow = worksheet.getRow(groupRowIndex)
+
+ let start = 1
+ let prevValue = groupRow.getCell(start).value
+
+ for (let c = 2; c <= columns.length; c++) {
+ const cellVal = groupRow.getCell(c).value
+ if (cellVal !== prevValue) {
+ if (prevValue && prevValue.toString().trim() !== "") {
+ worksheet.mergeCells(groupRowIndex, start, groupRowIndex, c - 1)
+ }
+ start = c
+ prevValue = cellVal
+ }
+ }
+
+ if (prevValue && prevValue.toString().trim() !== "") {
+ worksheet.mergeCells(groupRowIndex, start, groupRowIndex, columns.length)
+ }
+ }
+
+ // 컬럼 너비 자동 조정
+ columns.forEach((col, idx) => {
+ let width = Math.max(col.header.length + 5, 15)
+
+ // 특정 컬럼은 더 넓게
+ if (col.id === "content" || col.id === "subtitle") {
+ width = 30
+ } else if (col.id === "itemNumber") {
+ width = 15
+ } else if (col.id === "editReason") {
+ width = 20
+ }
+
+ worksheet.getColumn(idx + 1).width = width
+ })
+
+ // 사용 안내 시트 추가
+ const instructionSheet = workbook.addWorksheet("사용안내")
+ const instructions = [
+ ["GTC 조항 Excel 가져오기 사용 안내"],
+ [""],
+ ["1. 기본 규칙"],
+ [" - 첫 번째 시트(GTC조항템플릿)에 데이터를 입력하세요"],
+ [" - 헤더 행은 수정하지 마세요"],
+ [" - 예시 데이터(노란색 행)는 삭제하고 실제 데이터를 입력하세요"],
+ [""],
+ ["2. 필수 입력 항목"],
+ [" - 채번: 필수 입력 (예: 1.1, 2.3.1)"],
+ [" - 소제목: 필수 입력"],
+ [""],
+ ["3. 선택 입력 항목"],
+ [" - 상세항목: 조항의 구체적인 내용"],
+ [" - 분류: 조항의 카테고리 (예: 일반조항, 특별조항)"],
+ [" - 순서: 숫자 (기본값: 10, 20, 30...)"],
+ [" - 상위 조항 ID: 계층 구조를 만들 때 사용"],
+ [" - 활성 상태: '활성' 또는 '비활성' (기본값: 활성)"],
+ [" - 편집 사유: 작성/수정 이유"],
+ [""],
+ ["4. 자동 처리 항목"],
+ [" - ID, 생성일, 수정일: 시스템에서 자동 생성"],
+ [" - 계층 깊이: 상위 조항 ID를 기반으로 자동 계산"],
+ [" - 전체 경로: 시스템에서 자동 생성"],
+ [""],
+ ["5. 채번 규칙"],
+ [" - 같은 부모 하에서 채번은 유일해야 합니다"],
+ [" - 예: 상위 조항이 같으면 1.1, 1.2는 가능하지만 1.1이 중복되면 오류"],
+ [""],
+ ["6. 계층 구조 만들기"],
+ [" - 상위 조항 ID: 기존 조항의 ID를 입력"],
+ [" - 예: ID가 5인 조항 하위에 조항을 만들려면 상위 조항 ID에 5 입력"],
+ [" - 최상위 조항은 상위 조항 ID를 비워두세요"],
+ [""],
+ ["7. 주의사항"],
+ [" - 순서는 숫자로 입력하세요 (소수점 가능: 10, 15.5, 20)"],
+ [" - 상위 조항 ID는 반드시 존재하는 조항의 ID여야 합니다"],
+ [" - 파일 저장 시 .xlsx 형식으로 저장하세요"],
+ ]
+
+ instructions.forEach((instruction, idx) => {
+ const row = instructionSheet.addRow(instruction)
+ if (idx === 0) {
+ row.font = { bold: true, size: 14 }
+ row.alignment = { horizontal: "center" }
+ } else if (instruction[0]?.match(/^\d+\./)) {
+ row.font = { bold: true }
+ }
+ })
+
+ instructionSheet.getColumn(1).width = 80
+
+ // 파일 다운로드
+ const buffer = await workbook.xlsx.writeBuffer()
+ const blob = new Blob([buffer], {
+ type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ })
+ const url = URL.createObjectURL(blob)
+ const link = document.createElement("a")
+ link.href = url
+ link.download = `${filename}.xlsx`
+ link.click()
+ URL.revokeObjectURL(url)
+}
+
+/**
+ * Excel 파일에서 데이터 파싱
+ */
+export async function parseExcelFile<TData>(
+ file: File,
+ columns: ExcelColumnDef[],
+ {
+ hasGroupHeader = true,
+ sheetName = "GTC조항템플릿",
+ }: {
+ hasGroupHeader?: boolean
+ sheetName?: string
+ } = {}
+): Promise<{
+ data: Partial<TData>[]
+ errors: string[]
+}> {
+ const errors: string[] = []
+ const data: Partial<TData>[] = []
+
+ try {
+ const arrayBuffer = await file.arrayBuffer()
+ const workbook = new ExcelJS.Workbook()
+ await workbook.xlsx.load(arrayBuffer)
+
+ const worksheet = workbook.getWorksheet(sheetName) || workbook.worksheets[0]
+
+ if (!worksheet) {
+ errors.push("워크시트를 찾을 수 없습니다.")
+ return { data, errors }
+ }
+
+ // 헤더 행 인덱스 결정
+ const headerRowIndex = hasGroupHeader ? 2 : 1
+ const dataStartRowIndex = headerRowIndex + 1
+
+ // 헤더 검증
+ const headerRow = worksheet.getRow(headerRowIndex)
+ const expectedHeaders = columns.map(col => col.header)
+
+ for (let i = 0; i < expectedHeaders.length; i++) {
+ const cellValue = headerRow.getCell(i + 1).value?.toString() || ""
+ if (cellValue !== expectedHeaders[i]) {
+ errors.push(`헤더가 일치하지 않습니다. 예상: "${expectedHeaders[i]}", 실제: "${cellValue}"`)
+ }
+ }
+
+ if (errors.length > 0) {
+ return { data, errors }
+ }
+
+ // 데이터 파싱
+ let rowIndex = dataStartRowIndex
+ while (rowIndex <= worksheet.actualRowCount) {
+ const row = worksheet.getRow(rowIndex)
+
+ // 빈 행 체크 (모든 셀이 비어있으면 스킵)
+ const isEmpty = columns.every((col, colIndex) => {
+ const cellValue = row.getCell(colIndex + 1).value
+ return !cellValue || cellValue.toString().trim() === ""
+ })
+
+ if (isEmpty) {
+ rowIndex++
+ continue
+ }
+
+ const rowData: Partial<TData> = {}
+ let hasError = false
+
+ columns.forEach((col, colIndex) => {
+ const cellValue = row.getCell(colIndex + 1).value
+ let processedValue: any = cellValue
+
+ // 데이터 타입별 처리
+ if (cellValue !== null && cellValue !== undefined) {
+ const strValue = cellValue.toString().trim()
+
+ // 특별한 처리가 필요한 컬럼들
+ if (col.id === "isActive") {
+ processedValue = strValue === "활성"
+ } else if (col.id === "sortOrder") {
+ const numValue = parseFloat(strValue)
+ processedValue = isNaN(numValue) ? null : numValue
+ } else if (col.id === "parentId") {
+ const numValue = parseInt(strValue)
+ processedValue = isNaN(numValue) ? null : numValue
+ } else {
+ processedValue = strValue
+ }
+ }
+
+ // 필수 필드 검증
+ if ((col.id === "itemNumber" || col.id === "subtitle") && (!processedValue || processedValue === "")) {
+ errors.push(`${rowIndex}행: ${col.header}은(는) 필수 입력 항목입니다.`)
+ hasError = true
+ }
+
+ if (processedValue !== null && processedValue !== undefined && processedValue !== "") {
+ (rowData as any)[col.id] = processedValue
+ }
+ })
+
+ if (!hasError) {
+ data.push(rowData)
+ }
+
+ rowIndex++
+ }
+
+ } catch (error) {
+ errors.push(`파일 파싱 중 오류가 발생했습니다: ${error instanceof Error ? error.message : "알 수 없는 오류"}`)
+ }
+
+ return { data, errors }
+} \ No newline at end of file
diff --git a/lib/gtc-contract/gtc-clauses/table/gtc-clauses-table-toolbar-actions.tsx b/lib/gtc-contract/gtc-clauses/table/gtc-clauses-table-toolbar-actions.tsx
index 2a7452ef..ea516f49 100644
--- a/lib/gtc-contract/gtc-clauses/table/gtc-clauses-table-toolbar-actions.tsx
+++ b/lib/gtc-contract/gtc-clauses/table/gtc-clauses-table-toolbar-actions.tsx
@@ -32,42 +32,170 @@ import { type GtcClauseTreeView } from "@/db/schema/gtc"
import { CreateGtcClauseDialog } from "./create-gtc-clause-dialog"
import { PreviewDocumentDialog } from "./preview-document-dialog"
import { DeleteGtcClausesDialog } from "./delete-gtc-clauses-dialog"
+import { exportTableToExcel } from "@/lib/export"
+import { exportFullDataToExcel, type ExcelColumnDef } from "@/lib/export"
+import { getAllGtcClausesForExport, importGtcClausesFromExcel } from "../../service"
+import { ImportExcelDialog } from "./import-excel-dialog"
+import { toast } from "@/hooks/use-toast"
interface GtcClausesTableToolbarActionsProps {
table: Table<GtcClauseTreeView>
documentId: number
document: any
+ currentUserId?: number // 현재 사용자 ID 추가
}
+// GTC 조항을 위한 Excel 컬럼 정의 (실용적으로 간소화)
+const gtcClauseExcelColumns: ExcelColumnDef[] = [
+ {
+ id: "itemNumber",
+ header: "채번",
+ accessor: "itemNumber",
+ group: "필수 정보"
+ },
+ {
+ id: "subtitle",
+ header: "소제목",
+ accessor: "subtitle",
+ group: "필수 정보"
+ },
+ {
+ id: "content",
+ header: "상세항목",
+ accessor: "content",
+ group: "기본 정보"
+ },
+ {
+ id: "category",
+ header: "분류",
+ accessor: "category",
+ group: "기본 정보"
+ },
+ {
+ id: "sortOrder",
+ header: "순서",
+ accessor: "sortOrder",
+ group: "순서"
+ },
+ {
+ id: "parentId",
+ header: "상위 조항 ID",
+ accessor: "parentId",
+ group: "계층 구조"
+ },
+ {
+ id: "isActive",
+ header: "활성 상태",
+ accessor: (row) => row.isActive ? "활성" : "비활성",
+ group: "상태"
+ },
+ {
+ id: "editReason",
+ header: "편집 사유",
+ accessor: "editReason",
+ group: "추가 정보"
+ }
+]
+
export function GtcClausesTableToolbarActions({
table,
documentId,
document,
+ currentUserId = 1, // 기본값 설정 (실제로는 auth에서 가져와야 함)
}: GtcClausesTableToolbarActionsProps) {
const [showCreateDialog, setShowCreateDialog] = React.useState(false)
const [showReorderDialog, setShowReorderDialog] = React.useState(false)
const [showBulkUpdateDialog, setShowBulkUpdateDialog] = React.useState(false)
const [showGenerateVariablesDialog, setShowGenerateVariablesDialog] = React.useState(false)
- const [showPreviewDialog, setShowPreviewDialog] = React.useState(false) // ✅ 미리보기 다이얼로그 상태
+ const [showPreviewDialog, setShowPreviewDialog] = React.useState(false)
+ const [isExporting, setIsExporting] = React.useState(false)
const selectedRows = table.getSelectedRowModel().rows
const selectedCount = selectedRows.length
- // ✅ 테이블의 모든 데이터 가져오기
+ // 테이블의 모든 데이터 가져오기 (현재 페이지만)
const allClauses = table.getRowModel().rows.map(row => row.original)
- const handleExportToExcel = () => {
- // Excel 내보내기 로직
- console.log("Export to Excel")
+ // 현재 페이지 데이터만 Excel로 내보내기
+ const handleExportCurrentPageToExcel = () => {
+ exportTableToExcel(table, {
+ filename: `gtc-clauses-page-${new Date().toISOString().split('T')[0]}`,
+ excludeColumns: ["select", "actions"],
+ })
+ }
+
+ // 전체 데이터를 Excel로 내보내기
+ const handleExportAllToExcel = async () => {
+ try {
+ setIsExporting(true)
+
+ // 서버에서 전체 데이터 가져오기
+ const allData = await getAllGtcClausesForExport(documentId)
+
+ // 전체 데이터를 Excel로 내보내기
+ await exportFullDataToExcel(
+ allData,
+ gtcClauseExcelColumns,
+ {
+ filename: `gtc-clauses-all-${new Date().toISOString().split('T')[0]}`,
+ useGroupHeader: true
+ }
+ )
+
+ toast({
+ title: "내보내기 완료",
+ description: `총 ${allData.length}개의 조항이 Excel 파일로 내보내졌습니다.`,
+ })
+ } catch (error) {
+ console.error("Excel export failed:", error)
+ toast({
+ title: "내보내기 실패",
+ description: "Excel 파일 내보내기 중 오류가 발생했습니다.",
+ variant: "destructive"
+ })
+ } finally {
+ setIsExporting(false)
+ }
}
- const handleImportFromExcel = () => {
- // Excel 가져오기 로직
- console.log("Import from Excel")
+ // Excel 데이터 가져오기 처리
+ const handleImportExcelData = async (data: Partial<GtcClauseTreeView>[]) => {
+ try {
+ const result = await importGtcClausesFromExcel(documentId, data, currentUserId)
+
+ if (result.success) {
+ toast({
+ title: "가져오기 성공",
+ description: `${result.importedCount}개의 조항이 성공적으로 가져와졌습니다.`,
+ })
+
+ // 테이블 새로고침
+ handleRefreshTable()
+ } else {
+ const errorMessage = result.errors.length > 0
+ ? `오류: ${result.errors.slice(0, 3).join(', ')}${result.errors.length > 3 ? '...' : ''}`
+ : "알 수 없는 오류가 발생했습니다."
+
+ toast({
+ title: "가져오기 실패",
+ description: errorMessage,
+ variant: "destructive"
+ })
+
+ // 오류가 있어도 일부는 성공했을 수 있음
+ if (result.importedCount > 0) {
+ handleRefreshTable()
+ }
+
+ throw new Error("Import failed with errors")
+ }
+ } catch (error) {
+ console.error("Excel import failed:", error)
+ throw error // ImportExcelDialog에서 처리하도록 다시 throw
+ }
}
const handlePreviewDocument = () => {
- // ✅ 미리보기 다이얼로그 열기
setShowPreviewDialog(true)
}
@@ -108,9 +236,8 @@ export function GtcClausesTableToolbarActions({
{selectedCount > 0 && (
<>
<DeleteGtcClausesDialog
- gtcClauses={allClauses}
- onSuccess={() => table.toggleAllRowsSelected(false)}
-
+ gtcClauses={allClauses}
+ onSuccess={() => table.toggleAllRowsSelected(false)}
/>
</>
)}
@@ -118,33 +245,39 @@ export function GtcClausesTableToolbarActions({
{/* 관리 도구 드롭다운 */}
<DropdownMenu>
<DropdownMenuTrigger asChild>
- <Button variant="outline" size="sm">
+ <Button variant="outline" size="sm" disabled={isExporting}>
<Settings2 className="mr-2 h-4 w-4" />
관리 도구
</Button>
</DropdownMenuTrigger>
- <DropdownMenuContent align="end" className="w-56">
- {/* <DropdownMenuItem onClick={handleReorderClauses}>
- <ArrowUpDown className="mr-2 h-4 w-4" />
- 조항 순서 변경
+ <DropdownMenuContent align="end" className="w-64">
+ <DropdownMenuItem onClick={handleExportCurrentPageToExcel}>
+ <Download className="mr-2 h-4 w-4" />
+ 현재 페이지 Excel로 내보내기
</DropdownMenuItem>
- <DropdownMenuItem onClick={handleGenerateVariables}>
- <Wand2 className="mr-2 h-4 w-4" />
- PDFTron 변수명 일괄 생성
- </DropdownMenuItem> */}
-
- <DropdownMenuSeparator />
-
- <DropdownMenuItem onClick={handleExportToExcel}>
+ <DropdownMenuItem
+ onClick={handleExportAllToExcel}
+ disabled={isExporting}
+ >
<Download className="mr-2 h-4 w-4" />
- Excel로 내보내기
+ {isExporting ? "내보내는 중..." : "전체 데이터 Excel로 내보내기"}
</DropdownMenuItem>
- <DropdownMenuItem onClick={handleImportFromExcel}>
- <Upload className="mr-2 h-4 w-4" />
- Excel에서 가져오기
- </DropdownMenuItem>
+ <DropdownMenuSeparator />
+
+ <ImportExcelDialog
+ documentId={documentId}
+ columns={gtcClauseExcelColumns}
+ onSuccess={handleRefreshTable}
+ onImport={handleImportExcelData}
+ trigger={
+ <DropdownMenuItem onSelect={(e) => e.preventDefault()}>
+ <Upload className="mr-2 h-4 w-4" />
+ Excel에서 가져오기
+ </DropdownMenuItem>
+ }
+ />
<DropdownMenuSeparator />
@@ -152,11 +285,6 @@ export function GtcClausesTableToolbarActions({
<Eye className="mr-2 h-4 w-4" />
문서 미리보기
</DropdownMenuItem>
-
- {/* <DropdownMenuItem onClick={handleGenerateDocument}>
- <FileText className="mr-2 h-4 w-4" />
- 최종 문서 생성
- </DropdownMenuItem> */}
</DropdownMenuContent>
</DropdownMenu>
@@ -180,7 +308,7 @@ export function GtcClausesTableToolbarActions({
)}
</div>
- {/* ✅ 미리보기 다이얼로그 */}
+ {/* 미리보기 다이얼로그 */}
<PreviewDocumentDialog
open={showPreviewDialog}
onOpenChange={setShowPreviewDialog}
diff --git a/lib/gtc-contract/gtc-clauses/table/import-excel-dialog.tsx b/lib/gtc-contract/gtc-clauses/table/import-excel-dialog.tsx
new file mode 100644
index 00000000..f37566fc
--- /dev/null
+++ b/lib/gtc-contract/gtc-clauses/table/import-excel-dialog.tsx
@@ -0,0 +1,381 @@
+"use client"
+
+import * as React from "react"
+import { Upload, Download, FileText, AlertCircle, CheckCircle2, X } from "lucide-react"
+
+import { Button } from "@/components/ui/button"
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogHeader,
+ DialogTitle,
+ DialogTrigger,
+} from "@/components/ui/dialog"
+import {
+ Table,
+ TableBody,
+ TableCell,
+ TableHead,
+ TableHeader,
+ TableRow,
+} from "@/components/ui/table"
+import { Badge } from "@/components/ui/badge"
+import { Alert, AlertDescription } from "@/components/ui/alert"
+import { ScrollArea } from "@/components/ui/scroll-area"
+import { Separator } from "@/components/ui/separator"
+
+import { type ExcelColumnDef } from "@/lib/export"
+import { downloadExcelTemplate, parseExcelFile } from "./excel-import"
+import { type GtcClauseTreeView } from "@/db/schema/gtc"
+import { toast } from "@/hooks/use-toast"
+
+interface ImportExcelDialogProps {
+ documentId: number
+ columns: ExcelColumnDef[]
+ onSuccess?: () => void
+ onImport?: (data: Partial<GtcClauseTreeView>[]) => Promise<void>
+ trigger?: React.ReactNode
+}
+
+type ImportStep = "upload" | "preview" | "importing" | "complete"
+
+export function ImportExcelDialog({
+ documentId,
+ columns,
+ onSuccess,
+ onImport,
+ trigger,
+}: ImportExcelDialogProps) {
+ const [open, setOpen] = React.useState(false)
+ const [step, setStep] = React.useState<ImportStep>("upload")
+ const [selectedFile, setSelectedFile] = React.useState<File | null>(null)
+ const [parsedData, setParsedData] = React.useState<Partial<GtcClauseTreeView>[]>([])
+ const [errors, setErrors] = React.useState<string[]>([])
+ const [isProcessing, setIsProcessing] = React.useState(false)
+ const fileInputRef = React.useRef<HTMLInputElement>(null)
+
+ // 다이얼로그 열기/닫기 시 상태 초기화
+ const handleOpenChange = (isOpen: boolean) => {
+ setOpen(isOpen)
+ if (!isOpen) {
+ // 다이얼로그 닫을 때 상태 초기화
+ setStep("upload")
+ setSelectedFile(null)
+ setParsedData([])
+ setErrors([])
+ setIsProcessing(false)
+ if (fileInputRef.current) {
+ fileInputRef.current.value = ""
+ }
+ }
+ }
+
+ // 템플릿 다운로드
+ const handleDownloadTemplate = async () => {
+ try {
+ await downloadExcelTemplate(columns, {
+ filename: `gtc-clauses-template-${new Date().toISOString().split('T')[0]}`,
+ includeExampleData: true,
+ useGroupHeader: true,
+ })
+
+ toast({
+ title: "템플릿 다운로드 완료",
+ description: "Excel 템플릿이 다운로드되었습니다. 템플릿에 데이터를 입력한 후 업로드해주세요.",
+ })
+ } catch (error) {
+ toast({
+ title: "템플릿 다운로드 실패",
+ description: "템플릿 다운로드 중 오류가 발생했습니다.",
+ variant: "destructive",
+ })
+ }
+ }
+
+ // 파일 선택
+ const handleFileSelect = (event: React.ChangeEvent<HTMLInputElement>) => {
+ const file = event.target.files?.[0]
+ if (file) {
+ if (file.type !== "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" &&
+ file.type !== "application/vnd.ms-excel") {
+ toast({
+ title: "잘못된 파일 형식",
+ description: "Excel 파일(.xlsx, .xls)만 업로드할 수 있습니다.",
+ variant: "destructive",
+ })
+ return
+ }
+ setSelectedFile(file)
+ }
+ }
+
+ // 파일 파싱
+ const handleParseFile = async () => {
+ if (!selectedFile) return
+
+ setIsProcessing(true)
+ try {
+ const result = await parseExcelFile<GtcClauseTreeView>(
+ selectedFile,
+ columns,
+ {
+ hasGroupHeader: true,
+ sheetName: "GTC조항템플릿",
+ }
+ )
+
+ setParsedData(result.data)
+ setErrors(result.errors)
+
+ if (result.errors.length > 0) {
+ toast({
+ title: "파싱 완료 (오류 있음)",
+ description: `${result.data.length}개의 행을 파싱했지만 ${result.errors.length}개의 오류가 있습니다.`,
+ variant: "destructive",
+ })
+ } else {
+ toast({
+ title: "파싱 완료",
+ description: `${result.data.length}개의 행이 성공적으로 파싱되었습니다.`,
+ })
+ }
+
+ setStep("preview")
+ } catch (error) {
+ toast({
+ title: "파싱 실패",
+ description: "파일 파싱 중 오류가 발생했습니다.",
+ variant: "destructive",
+ })
+ } finally {
+ setIsProcessing(false)
+ }
+ }
+
+ // 데이터 가져오기 실행
+ const handleImportData = async () => {
+ if (parsedData.length === 0 || !onImport) return
+
+ setStep("importing")
+ try {
+ await onImport(parsedData)
+ setStep("complete")
+
+ toast({
+ title: "가져오기 완료",
+ description: `${parsedData.length}개의 조항이 성공적으로 가져와졌습니다.`,
+ })
+
+ // 성공 콜백 호출 후 잠시 후 다이얼로그 닫기
+ setTimeout(() => {
+ onSuccess?.()
+ setOpen(false)
+ }, 2000)
+ } catch (error) {
+ toast({
+ title: "가져오기 실패",
+ description: "데이터 가져오기 중 오류가 발생했습니다.",
+ variant: "destructive",
+ })
+ setStep("preview")
+ }
+ }
+
+ const renderUploadStep = () => (
+ <div className="space-y-6">
+ <div className="text-center">
+ <FileText className="mx-auto h-12 w-12 text-muted-foreground" />
+ <h3 className="mt-4 text-lg font-semibold">Excel 파일로 조항 가져오기</h3>
+ <p className="mt-2 text-sm text-muted-foreground">
+ 먼저 템플릿을 다운로드하여 데이터를 입력한 후 업로드해주세요.
+ </p>
+ </div>
+
+ <div className="space-y-4">
+ <div>
+ <Button
+ onClick={handleDownloadTemplate}
+ variant="outline"
+ className="w-full"
+ >
+ <Download className="mr-2 h-4 w-4" />
+ Excel 템플릿 다운로드
+ </Button>
+ <p className="mt-2 text-xs text-muted-foreground">
+ 템플릿에는 입력 가이드와 예시 데이터가 포함되어 있습니다.
+ </p>
+ </div>
+
+ <Separator />
+
+ <div>
+ <input
+ ref={fileInputRef}
+ type="file"
+ accept=".xlsx,.xls"
+ onChange={handleFileSelect}
+ className="hidden"
+ />
+ <Button
+ onClick={() => fileInputRef.current?.click()}
+ variant={selectedFile ? "secondary" : "outline"}
+ className="w-full"
+ >
+ <Upload className="mr-2 h-4 w-4" />
+ {selectedFile ? selectedFile.name : "Excel 파일 선택"}
+ </Button>
+ </div>
+
+ {selectedFile && (
+ <Button
+ onClick={handleParseFile}
+ disabled={isProcessing}
+ className="w-full"
+ >
+ {isProcessing ? "파싱 중..." : "파일 분석하기"}
+ </Button>
+ )}
+ </div>
+ </div>
+ )
+
+ const renderPreviewStep = () => (
+ <div className="space-y-4">
+ <div className="flex items-center justify-between">
+ <h3 className="text-lg font-semibold">데이터 미리보기</h3>
+ <div className="flex items-center gap-2">
+ <Badge variant="secondary">
+ {parsedData.length}개 행
+ </Badge>
+ {errors.length > 0 && (
+ <Badge variant="destructive">
+ {errors.length}개 오류
+ </Badge>
+ )}
+ </div>
+ </div>
+
+ {errors.length > 0 && (
+ <Alert variant="destructive">
+ <AlertCircle className="h-4 w-4" />
+ <AlertDescription>
+ <div className="space-y-1">
+ <div className="font-medium">다음 오류들을 확인해주세요:</div>
+ <ul className="list-disc list-inside space-y-1 text-sm">
+ {errors.slice(0, 5).map((error, index) => (
+ <li key={index}>{error}</li>
+ ))}
+ {errors.length > 5 && (
+ <li>... 및 {errors.length - 5}개 추가 오류</li>
+ )}
+ </ul>
+ </div>
+ </AlertDescription>
+ </Alert>
+ )}
+
+ <ScrollArea className="h-[300px] border rounded-md">
+ <Table>
+ <TableHeader>
+ <TableRow>
+ <TableHead className="w-12">#</TableHead>
+ <TableHead>채번</TableHead>
+ <TableHead>소제목</TableHead>
+ <TableHead>상세항목</TableHead>
+ <TableHead>분류</TableHead>
+ <TableHead>상태</TableHead>
+ </TableRow>
+ </TableHeader>
+ <TableBody>
+ {parsedData.map((item, index) => (
+ <TableRow key={index}>
+ <TableCell>{index + 1}</TableCell>
+ <TableCell className="font-mono">
+ {item.itemNumber || "-"}
+ </TableCell>
+ <TableCell className="max-w-[200px] truncate">
+ {item.subtitle || "-"}
+ </TableCell>
+ <TableCell className="max-w-[300px] truncate">
+ {item.content || "-"}
+ </TableCell>
+ <TableCell>{item.category || "-"}</TableCell>
+ <TableCell>
+ <Badge variant={item.isActive ? "default" : "secondary"}>
+ {item.isActive ? "활성" : "비활성"}
+ </Badge>
+ </TableCell>
+ </TableRow>
+ ))}
+ </TableBody>
+ </Table>
+ </ScrollArea>
+
+ <div className="flex gap-2">
+ <Button
+ variant="outline"
+ onClick={() => setStep("upload")}
+ className="flex-1"
+ >
+ 다시 선택
+ </Button>
+ <Button
+ onClick={handleImportData}
+ disabled={parsedData.length === 0 || errors.length > 0}
+ className="flex-1"
+ >
+ {errors.length > 0 ? "오류 수정 후 가져오기" : `${parsedData.length}개 조항 가져오기`}
+ </Button>
+ </div>
+ </div>
+ )
+
+ const renderImportingStep = () => (
+ <div className="text-center py-8">
+ <div className="animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto"></div>
+ <h3 className="mt-4 text-lg font-semibold">가져오는 중...</h3>
+ <p className="mt-2 text-sm text-muted-foreground">
+ {parsedData.length}개의 조항을 데이터베이스에 저장하고 있습니다.
+ </p>
+ </div>
+ )
+
+ const renderCompleteStep = () => (
+ <div className="text-center py-8">
+ <CheckCircle2 className="mx-auto h-12 w-12 text-green-500" />
+ <h3 className="mt-4 text-lg font-semibold">가져오기 완료!</h3>
+ <p className="mt-2 text-sm text-muted-foreground">
+ {parsedData.length}개의 조항이 성공적으로 가져와졌습니다.
+ </p>
+ </div>
+ )
+
+ return (
+ <Dialog open={open} onOpenChange={handleOpenChange}>
+ <DialogTrigger asChild>
+ {trigger || (
+ <Button variant="outline" size="sm">
+ <Upload className="mr-2 h-4 w-4" />
+ Excel에서 가져오기
+ </Button>
+ )}
+ </DialogTrigger>
+ <DialogContent className="max-w-4xl max-h-[80vh] overflow-hidden">
+ <DialogHeader>
+ <DialogTitle>Excel에서 조항 가져오기</DialogTitle>
+ <DialogDescription>
+ Excel 파일을 사용하여 여러 조항을 한 번에 가져올 수 있습니다.
+ </DialogDescription>
+ </DialogHeader>
+
+ <div className="mt-4">
+ {step === "upload" && renderUploadStep()}
+ {step === "preview" && renderPreviewStep()}
+ {step === "importing" && renderImportingStep()}
+ {step === "complete" && renderCompleteStep()}
+ </div>
+ </DialogContent>
+ </Dialog>
+ )
+} \ No newline at end of file
diff --git a/lib/gtc-contract/gtc-clauses/table/preview-document-dialog.tsx b/lib/gtc-contract/gtc-clauses/table/preview-document-dialog.tsx
index 29ab1b5a..3639c0f3 100644
--- a/lib/gtc-contract/gtc-clauses/table/preview-document-dialog.tsx
+++ b/lib/gtc-contract/gtc-clauses/table/preview-document-dialog.tsx
@@ -12,7 +12,8 @@ import {
Loader2,
FileText,
RefreshCw,
- Settings
+ Settings,
+ AlertCircle
} from "lucide-react"
import { toast } from "sonner"
@@ -35,6 +36,7 @@ export function PreviewDocumentDialog({
const [isGenerating, setIsGenerating] = React.useState(false)
const [documentGenerated, setDocumentGenerated] = React.useState(false)
const [viewerInstance, setViewerInstance] = React.useState<any>(null)
+ const [hasError, setHasError] = React.useState(false)
// 조항 통계 계산
const stats = React.useMemo(() => {
@@ -52,38 +54,84 @@ export function PreviewDocumentDialog({
const handleGeneratePreview = async () => {
setIsGenerating(true)
+ setHasError(false)
+ setDocumentGenerated(false)
+
try {
- // 잠시 후 문서 생성 완료로 설정 (실제로는 뷰어에서 처리)
- setTimeout(() => {
+ // 실제로는 ClausePreviewViewer에서 문서 생성을 처리하므로
+ // 여기서는 상태만 관리
+ console.log("🚀 문서 미리보기 생성 시작")
+
+ // ClausePreviewViewer가 완전히 로드될 때까지 기다림
+ await new Promise(resolve => setTimeout(resolve, 2000))
+
+ if (!hasError) {
setDocumentGenerated(true)
- setIsGenerating(false)
toast.success("문서 미리보기가 생성되었습니다.")
- }, 1500)
+ }
} catch (error) {
- setIsGenerating(false)
+ console.error("문서 생성 중 오류:", error)
+ setHasError(true)
toast.error("문서 생성 중 오류가 발생했습니다.")
+ } finally {
+ setIsGenerating(false)
}
}
const handleExportDocument = () => {
if (viewerInstance) {
- // PDFTron의 다운로드 기능 실행
- viewerInstance.UI.downloadPdf({
- filename: `${document?.title || 'GTC계약서'}_미리보기.pdf`
- })
- toast.success("문서가 다운로드됩니다.")
+ try {
+ // PDFTron의 다운로드 기능 실행
+ viewerInstance.UI.downloadPdf({
+ filename: `${document?.title || 'GTC계약서'}_미리보기.pdf`
+ })
+ toast.success("PDF 다운로드가 시작됩니다.")
+ } catch (error) {
+ console.error("다운로드 오류:", error)
+ toast.error("다운로드 중 오류가 발생했습니다.")
+ }
+ } else {
+ toast.error("뷰어가 준비되지 않았습니다.")
}
}
const handleRegenerateDocument = () => {
+ console.log("🔄 문서 재생성 시작")
setDocumentGenerated(false)
+ setHasError(false)
handleGeneratePreview()
}
+ const handleViewerSuccess = React.useCallback(() => {
+ setDocumentGenerated(true)
+ setIsGenerating(false)
+ setHasError(false)
+ }, [])
+
+ const handleViewerError = React.useCallback(() => {
+ setHasError(true)
+ setIsGenerating(false)
+ setDocumentGenerated(false)
+ }, [])
+
+ // 다이얼로그가 열릴 때 자동으로 미리보기 생성
+ React.useEffect(() => {
+ if (props.open && !documentGenerated && !isGenerating && !hasError) {
+ const timer = setTimeout(() => {
+ handleGeneratePreview()
+ }, 300) // 다이얼로그 애니메이션 후 시작
+
+ return () => clearTimeout(timer)
+ }
+ }, [props.open, documentGenerated, isGenerating, hasError])
+
+ // 다이얼로그가 닫힐 때 상태 초기화
React.useEffect(() => {
- // 다이얼로그가 열릴 때 자동으로 미리보기 생성
- if (props.open && !documentGenerated && !isGenerating) {
- handleGeneratePreview()
+ if (!props.open) {
+ setDocumentGenerated(false)
+ setIsGenerating(false)
+ setHasError(false)
+ setViewerInstance(null)
}
}, [props.open])
@@ -107,9 +155,15 @@ export function PreviewDocumentDialog({
<FileText className="h-4 w-4" />
<span className="font-medium">{document?.title || 'GTC 계약서'}</span>
<Badge variant="outline">{stats.total}개 조항</Badge>
+ {hasError && (
+ <Badge variant="destructive" className="gap-1">
+ <AlertCircle className="h-3 w-3" />
+ 오류 발생
+ </Badge>
+ )}
</div>
<div className="flex items-center gap-2">
- {documentGenerated && (
+ {documentGenerated && !hasError && (
<>
<Button
variant="outline"
@@ -117,19 +171,31 @@ export function PreviewDocumentDialog({
onClick={handleRegenerateDocument}
disabled={isGenerating}
>
- <RefreshCw className="mr-2 h-3 w-3" />
+ <RefreshCw className={`mr-2 h-3 w-3 ${isGenerating ? 'animate-spin' : ''}`} />
재생성
</Button>
<Button
variant="outline"
size="sm"
onClick={handleExportDocument}
+ disabled={!viewerInstance}
>
<Download className="mr-2 h-3 w-3" />
PDF 다운로드
</Button>
</>
)}
+ {hasError && (
+ <Button
+ variant="default"
+ size="sm"
+ onClick={handleRegenerateDocument}
+ disabled={isGenerating}
+ >
+ <RefreshCw className={`mr-2 h-3 w-3 ${isGenerating ? 'animate-spin' : ''}`} />
+ 다시 시도
+ </Button>
+ )}
</div>
</div>
@@ -164,6 +230,21 @@ export function PreviewDocumentDialog({
<p className="text-sm text-muted-foreground">
{stats.total}개의 조항을 배치하고 있습니다.
</p>
+ <p className="text-xs text-gray-400 mt-2">
+ 초기화에 시간이 걸릴 수 있습니다...
+ </p>
+ </div>
+ ) : hasError ? (
+ <div className="absolute inset-0 flex flex-col items-center justify-center bg-muted/10">
+ <AlertCircle className="h-12 w-12 text-destructive mb-4" />
+ <p className="text-lg font-medium mb-2 text-destructive">문서 생성 실패</p>
+ <p className="text-sm text-muted-foreground mb-4 text-center max-w-md">
+ 문서 생성 중 오류가 발생했습니다. 네트워크 연결이나 파일 권한을 확인해주세요.
+ </p>
+ <Button onClick={handleRegenerateDocument} disabled={isGenerating}>
+ <RefreshCw className="mr-2 h-4 w-4" />
+ 다시 시도
+ </Button>
</div>
) : documentGenerated ? (
<ClausePreviewViewer
@@ -171,6 +252,8 @@ export function PreviewDocumentDialog({
document={document}
instance={viewerInstance}
setInstance={setViewerInstance}
+ onSuccess={handleViewerSuccess}
+ onError={handleViewerError}
/>
) : (
<div className="absolute inset-0 flex flex-col items-center justify-center bg-muted/10">
diff --git a/lib/gtc-contract/service.ts b/lib/gtc-contract/service.ts
index 308c52bf..4d11ad0a 100644
--- a/lib/gtc-contract/service.ts
+++ b/lib/gtc-contract/service.ts
@@ -1,13 +1,13 @@
'use server'
import { revalidateTag, unstable_cache } from "next/cache"
-import { and, desc, asc, eq, or, ilike, count, max , inArray} from "drizzle-orm"
+import { and, desc, asc, eq, or, ilike, count, max , inArray, isNotNull, notInArray} from "drizzle-orm"
import db from "@/db/db"
-import { gtcDocuments, gtcDocumentsView, type GtcDocument, type GtcDocumentWithRelations } from "@/db/schema/gtc"
+import { GtcClauseTreeView, gtcClauses, gtcDocuments, gtcDocumentsView, type GtcDocument, type GtcDocumentWithRelations } from "@/db/schema/gtc"
import { projects } from "@/db/schema/projects"
import { users } from "@/db/schema/users"
import { filterColumns } from "@/lib/filter-columns"
-import type { GetGtcDocumentsSchema, CreateGtcDocumentSchema, UpdateGtcDocumentSchema, CreateNewRevisionSchema } from "./validations"
+import type { GetGtcDocumentsSchema, CreateGtcDocumentSchema, UpdateGtcDocumentSchema, CreateNewRevisionSchema, CloneGtcDocumentSchema } from "./validations"
/**
* 프로젝트 존재 여부 확인
@@ -330,4 +330,518 @@ export async function getGtcDocumentById(id: number) {
tags: [`gtc-document-${id}`, "gtc-documents"],
}
)()
+}
+
+// 복제 함수
+export async function cloneGtcDocument(
+ data: CloneGtcDocumentSchema & { createdById: number }
+): Promise<{ data?: GtcDocument; error?: string }> {
+ try {
+ return await db.transaction(async (tx) => {
+ // 1. 원본 문서 조회
+ const [sourceDocument] = await tx
+ .select()
+ .from(gtcDocuments)
+ .where(eq(gtcDocuments.id, data.sourceDocumentId))
+
+ if (!sourceDocument) {
+ throw new Error("원본 문서를 찾을 수 없습니다.")
+ }
+
+ // 2. 새로운 리비전 번호 계산
+ const nextRevision = await getNextRevision(data.type, data.projectId || undefined)
+
+ // 3. 새 문서 생성
+ const [newDocument] = await tx
+ .insert(gtcDocuments)
+ .values({
+ type: data.type,
+ projectId: data.projectId,
+ title: data.title || sourceDocument.title,
+ revision: nextRevision,
+ fileName: sourceDocument.fileName, // 파일 정보도 복사
+ filePath: sourceDocument.filePath,
+ fileSize: sourceDocument.fileSize,
+ createdById: data.createdById,
+ updatedById: data.createdById,
+ editReason: data.editReason || `${sourceDocument.title || 'GTC 문서'} v${sourceDocument.revision}에서 복제`,
+ isActive: true,
+ })
+ .returning()
+
+ // 4. 원본 문서의 모든 clauses 조회
+ const sourceClauses = await tx
+ .select()
+ .from(gtcClauses)
+ .where(eq(gtcClauses.documentId, data.sourceDocumentId))
+ .orderBy(gtcClauses.sortOrder)
+
+ // 5. clauses 복제 (ID 매핑을 위한 Map 생성)
+ if (sourceClauses.length > 0) {
+ const clauseIdMapping = new Map<number, number>()
+
+ // 첫 번째 pass: 모든 clauses를 복사하고 ID 매핑 생성
+ for (const sourceClause of sourceClauses) {
+ const [newClause] = await tx
+ .insert(gtcClauses)
+ .values({
+ documentId: newDocument.id,
+ parentId: null, // 첫 번째 pass에서는 null로 설정
+ itemNumber: sourceClause.itemNumber,
+ category: sourceClause.category,
+ subtitle: sourceClause.subtitle,
+ content: sourceClause.content,
+ sortOrder: sourceClause.sortOrder,
+ depth: sourceClause.depth,
+ fullPath: sourceClause.fullPath,
+ images: sourceClause.images,
+ isActive: sourceClause.isActive,
+ createdById: data.createdById,
+ updatedById: data.createdById,
+ editReason: data.editReason || "문서 복제",
+ })
+ .returning()
+
+ clauseIdMapping.set(sourceClause.id, newClause.id)
+ }
+
+ // 두 번째 pass: parentId 관계 설정
+ for (const sourceClause of sourceClauses) {
+ if (sourceClause.parentId) {
+ const newParentId = clauseIdMapping.get(sourceClause.parentId)
+ const newClauseId = clauseIdMapping.get(sourceClause.id)
+
+ if (newParentId && newClauseId) {
+ await tx
+ .update(gtcClauses)
+ .set({ parentId: newParentId })
+ .where(eq(gtcClauses.id, newClauseId))
+ }
+ }
+ }
+ }
+
+ revalidateTag("gtc-documents")
+ revalidateTag(`gtc-clauses-${newDocument.id}`)
+
+ return { data: newDocument }
+ })
+ } catch (error) {
+ console.error("Error cloning GTC document:", error)
+ return {
+ error: error instanceof Error
+ ? error.message
+ : "문서 복제 중 오류가 발생했습니다."
+ }
+ }
+}
+
+
+// 새 함수: GTC 문서가 없는 프로젝트만 조회
+export async function getAvailableProjectsForGtc(): Promise<ProjectForFilter[]> {
+ // 이미 GTC 문서가 있는 프로젝트 ID들 조회
+ const projectsWithGtc = await db
+ .selectDistinct({
+ projectId: gtcDocuments.projectId
+ })
+ .from(gtcDocuments)
+ .where(isNotNull(gtcDocuments.projectId))
+
+ const usedProjectIds = projectsWithGtc
+ .map(row => row.projectId)
+ .filter((id): id is number => id !== null)
+
+ // GTC 문서가 없는 프로젝트들만 반환
+ if (usedProjectIds.length === 0) {
+ // 사용된 프로젝트가 없으면 모든 프로젝트 반환
+ return await getProjectsForSelect()
+ }
+
+ return await db
+ .select({
+ id: projects.id,
+ code: projects.code,
+ name: projects.name,
+ })
+ .from(projects)
+ .where(notInArray(projects.id, usedProjectIds))
+ .orderBy(projects.name)
+}
+
+// 복제시 사용할 함수: 특정 프로젝트는 제외하고 조회
+export async function getAvailableProjectsForGtcExcluding(excludeProjectId?: number): Promise<ProjectForFilter[]> {
+ // 이미 GTC 문서가 있는 프로젝트 ID들 조회
+ const projectsWithGtc = await db
+ .selectDistinct({
+ projectId: gtcDocuments.projectId
+ })
+ .from(gtcDocuments)
+ .where(isNotNull(gtcDocuments.projectId))
+
+ let usedProjectIds = projectsWithGtc
+ .map(row => row.projectId)
+ .filter((id): id is number => id !== null)
+
+ // 제외할 프로젝트 ID가 있다면 사용된 ID 목록에서 제거 (복제시 원본 프로젝트는 선택 가능)
+ if (excludeProjectId) {
+ usedProjectIds = usedProjectIds.filter(id => id !== excludeProjectId)
+ }
+
+ // GTC 문서가 없는 프로젝트들만 반환
+ if (usedProjectIds.length === 0) {
+ return await getProjectsForSelect()
+ }
+
+ return await db
+ .select({
+ id: projects.id,
+ code: projects.code,
+ name: projects.name,
+ })
+ .from(projects)
+ .where(notInArray(projects.id, usedProjectIds))
+ .orderBy(projects.name)
+}
+
+export async function hasStandardGtcDocument(): Promise<boolean> {
+ const result = await db
+ .select({ id: gtcDocuments.id })
+ .from(gtcDocuments)
+ .where(eq(gtcDocuments.type, "standard"))
+ .limit(1)
+
+ return result.length > 0
+}
+
+export async function getAllGtcClausesForExport(documentId: number): Promise<GtcClauseTreeView[]> {
+ try {
+ // 실제 데이터베이스 쿼리 로직을 여기에 구현
+ // 예시: 문서 ID에 해당하는 모든 조항을 트리 뷰 형태로 가져오기
+ const clauses = await db
+ .select()
+ .from(gtcClauses)
+ .where(eq(gtcClauses.documentId, documentId))
+ // 여기에 필요한 JOIN, ORDER BY 등을 추가
+ .orderBy(gtcClauses.sortOrder)
+
+ // GtcClauseTreeView 형태로 변환하여 반환
+ return clauses.map((clause) => ({
+ ...clause,
+ // 필요한 추가 필드들을 여기에 매핑
+ })) as GtcClauseTreeView[]
+ } catch (error) {
+ console.error("Failed to fetch GTC clauses for export:", error)
+ throw new Error("Failed to fetch GTC clauses for export")
+ }
+}
+
+
+interface ImportGtcClauseData {
+ itemNumber: string
+ subtitle: string
+ content?: string
+ category?: string
+ sortOrder?: number
+ parentId?: number | null
+ depth?: number
+ fullPath?: string
+ images?: any[]
+ isActive?: boolean
+ editReason?: string
+}
+
+interface ImportResult {
+ success: boolean
+ importedCount: number
+ errors: string[]
+ duplicates: string[]
+}
+
+/**
+ * Excel에서 가져온 GTC 조항들을 데이터베이스에 저장
+ */
+export async function importGtcClausesFromExcel(
+ documentId: number,
+ data: Partial<GtcClauseTreeView>[],
+ userId: number = 1 // TODO: 실제 사용자 ID로 교체
+): Promise<ImportResult> {
+ const result: ImportResult = {
+ success: false,
+ importedCount: 0,
+ errors: [],
+ duplicates: []
+ }
+
+ try {
+ // 데이터 검증 및 변환
+ const validData: ImportGtcClauseData[] = []
+
+ for (let i = 0; i < data.length; i++) {
+ const item = data[i]
+ const rowNumber = i + 1
+
+ // 필수 필드 검증
+ if (!item.itemNumber || typeof item.itemNumber !== 'string' || item.itemNumber.trim() === '') {
+ result.errors.push(`${rowNumber}행: 채번은 필수 항목입니다.`)
+ continue
+ }
+
+ if (!item.subtitle || typeof item.subtitle !== 'string' || item.subtitle.trim() === '') {
+ result.errors.push(`${rowNumber}행: 소제목은 필수 항목입니다.`)
+ continue
+ }
+
+ // 중복 채번 체크 (같은 문서 내에서, 같은 부모 하에서)
+ const existingClause = await db
+ .select({ id: gtcClauses.id, itemNumber: gtcClauses.itemNumber })
+ .from(gtcClauses)
+ .where(
+ and(
+ eq(gtcClauses.documentId, documentId),
+ eq(gtcClauses.parentId, item.parentId || null),
+ eq(gtcClauses.itemNumber, item.itemNumber.trim())
+ )
+ )
+ .limit(1)
+
+ if (existingClause.length > 0) {
+ result.duplicates.push(`${rowNumber}행: 채번 "${item.itemNumber}"는 이미 존재합니다.`)
+ continue
+ }
+
+ // 상위 조항 ID 검증 (제공된 경우)
+ if (item.parentId && typeof item.parentId === 'number') {
+ const parentExists = await db
+ .select({ id: gtcClauses.id })
+ .from(gtcClauses)
+ .where(
+ and(
+ eq(gtcClauses.documentId, documentId),
+ eq(gtcClauses.id, item.parentId)
+ )
+ )
+ .limit(1)
+
+ if (parentExists.length === 0) {
+ result.errors.push(`${rowNumber}행: 상위 조항 ID ${item.parentId}를 찾을 수 없습니다.`)
+ continue
+ }
+ }
+
+ // sortOrder를 decimal로 변환
+ let sortOrder = 0
+ if (item.sortOrder !== undefined) {
+ if (typeof item.sortOrder === 'number') {
+ sortOrder = item.sortOrder
+ } else if (typeof item.sortOrder === 'string') {
+ const parsed = parseFloat(item.sortOrder)
+ if (!isNaN(parsed)) {
+ sortOrder = parsed
+ }
+ }
+ } else {
+ // 기본값: (현재 인덱스 + 1) * 10
+ sortOrder = (validData.length + 1) * 10
+ }
+
+ // depth 계산 (parentId가 있으면 부모의 depth + 1, 아니면 0)
+ let depth = 0
+ if (item.parentId) {
+ const parentClause = await db
+ .select({ depth: gtcClauses.depth })
+ .from(gtcClauses)
+ .where(eq(gtcClauses.id, item.parentId))
+ .limit(1)
+
+ if (parentClause.length > 0) {
+ depth = (parentClause[0].depth || 0) + 1
+ }
+ }
+
+ // 유효한 데이터 추가
+ validData.push({
+ itemNumber: item.itemNumber.trim(),
+ subtitle: item.subtitle.trim(),
+ content: item.content?.toString().trim() || null,
+ category: item.category?.toString().trim() || null,
+ sortOrder: sortOrder,
+ parentId: item.parentId || null,
+ isActive: typeof item.isActive === 'boolean' ? item.isActive : true,
+ editReason: item.editReason?.toString().trim() || null,
+ })
+ }
+
+ // 오류가 있거나 중복이 있으면 가져오기 중단
+ if (result.errors.length > 0 || result.duplicates.length > 0) {
+ return result
+ }
+
+ // 트랜잭션으로 데이터 저장
+ await db.transaction(async (tx) => {
+ for (const clauseData of validData) {
+ try {
+ // depth 재계산 (저장 시점에서)
+ let finalDepth = 0
+ if (clauseData.parentId) {
+ const parentClause = await tx
+ .select({ depth: gtcClauses.depth })
+ .from(gtcClauses)
+ .where(eq(gtcClauses.id, clauseData.parentId))
+ .limit(1)
+
+ if (parentClause.length > 0) {
+ finalDepth = (parentClause[0].depth || 0) + 1
+ }
+ }
+
+ await tx.insert(gtcClauses).values({
+ documentId,
+ parentId: clauseData.parentId,
+ itemNumber: clauseData.itemNumber,
+ category: clauseData.category,
+ subtitle: clauseData.subtitle,
+ content: clauseData.content,
+ sortOrder:clauseData.sortOrder? clauseData.sortOrder.toString() :"0", // decimal로 저장
+ depth: finalDepth,
+ fullPath: null, // 추후 별도 로직에서 생성
+ images: null, // Excel 가져오기에서는 이미지 제외
+ isActive: clauseData.isActive,
+ createdById: userId,
+ updatedById: userId,
+ editReason: clauseData.editReason,
+ createdAt: new Date(),
+ updatedAt: new Date(),
+ })
+
+ result.importedCount++
+ } catch (insertError) {
+ result.errors.push(`"${clauseData.subtitle}" 저장 중 오류: ${insertError instanceof Error ? insertError.message : '알 수 없는 오류'}`)
+ }
+ }
+ })
+
+ result.success = result.importedCount > 0 && result.errors.length === 0
+
+ return result
+
+ } catch (error) {
+ result.errors.push(`가져오기 처리 중 오류가 발생했습니다: ${error instanceof Error ? error.message : '알 수 없는 오류'}`)
+ return result
+ }
+}
+
+/**
+ * Excel 가져오기 전 데이터 유효성 검사
+ */
+export async function validateGtcClausesImport(
+ documentId: number,
+ data: Partial<GtcClauseTreeView>[]
+): Promise<{
+ valid: boolean
+ errors: string[]
+ warnings: string[]
+ summary: {
+ totalRows: number
+ validRows: number
+ duplicateCount: number
+ errorCount: number
+ }
+}> {
+ const errors: string[] = []
+ const warnings: string[] = []
+ let validRows = 0
+ let duplicateCount = 0
+
+ try {
+ // 기존 채번들 가져오기 (중복 체크용)
+ const existingItems = await db
+ .select({
+ itemNumber: gtcClauses.itemNumber,
+ parentId: gtcClauses.parentId
+ })
+ .from(gtcClauses)
+ .where(eq(gtcClauses.documentId, documentId))
+
+ // 채번-부모ID 조합으로 중복 체크 세트 생성
+ const existingItemSet = new Set(
+ existingItems.map(item => `${item.parentId || 'null'}:${item.itemNumber.toLowerCase()}`)
+ )
+
+ // 같은 파일 내에서의 중복 체크를 위한 세트
+ const currentFileItems = new Set<string>()
+
+ for (let i = 0; i < data.length; i++) {
+ const item = data[i]
+ const rowNumber = i + 1
+ let hasError = false
+
+ // 필수 필드 검증
+ if (!item.itemNumber || typeof item.itemNumber !== 'string' || item.itemNumber.trim() === '') {
+ errors.push(`${rowNumber}행: 채번은 필수 항목입니다.`)
+ hasError = true
+ }
+
+ if (!item.subtitle || typeof item.subtitle !== 'string' || item.subtitle.trim() === '') {
+ errors.push(`${rowNumber}행: 소제목은 필수 항목입니다.`)
+ hasError = true
+ }
+
+ if (item.itemNumber && item.itemNumber.trim() !== '') {
+ const itemKey = `${item.parentId || 'null'}:${item.itemNumber.toLowerCase()}`
+
+ // DB에 이미 존재하는지 체크
+ if (existingItemSet.has(itemKey)) {
+ warnings.push(`${rowNumber}행: 채번 "${item.itemNumber}"는 이미 존재합니다.`)
+ duplicateCount++
+ }
+
+ // 현재 파일 내에서 중복인지 체크
+ if (currentFileItems.has(itemKey)) {
+ errors.push(`${rowNumber}행: 채번 "${item.itemNumber}"가 파일 내에서 중복됩니다.`)
+ hasError = true
+ } else {
+ currentFileItems.add(itemKey)
+ }
+ }
+
+ // 숫자 필드 검증
+ if (item.sortOrder !== undefined) {
+ const sortOrderNum = typeof item.sortOrder === 'string' ? parseFloat(item.sortOrder) : item.sortOrder
+ if (typeof sortOrderNum !== 'number' || isNaN(sortOrderNum) || sortOrderNum < 0) {
+ warnings.push(`${rowNumber}행: 순서는 0 이상의 숫자여야 합니다.`)
+ }
+ }
+
+ if (!hasError) {
+ validRows++
+ }
+ }
+
+ return {
+ valid: errors.length === 0,
+ errors,
+ warnings,
+ summary: {
+ totalRows: data.length,
+ validRows,
+ duplicateCount,
+ errorCount: errors.length
+ }
+ }
+
+ } catch (error) {
+ errors.push(`유효성 검사 중 오류가 발생했습니다: ${error instanceof Error ? error.message : '알 수 없는 오류'}`)
+
+ return {
+ valid: false,
+ errors,
+ warnings,
+ summary: {
+ totalRows: data.length,
+ validRows: 0,
+ duplicateCount: 0,
+ errorCount: errors.length
+ }
+ }
+ }
} \ No newline at end of file
diff --git a/lib/gtc-contract/status/clone-gtc-document-dialog.tsx b/lib/gtc-contract/status/clone-gtc-document-dialog.tsx
new file mode 100644
index 00000000..1e56f2f7
--- /dev/null
+++ b/lib/gtc-contract/status/clone-gtc-document-dialog.tsx
@@ -0,0 +1,383 @@
+"use client"
+
+import * as React from "react"
+import { useForm } from "react-hook-form"
+import { zodResolver } from "@hookform/resolvers/zod"
+import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter } from "@/components/ui/dialog"
+import { Button } from "@/components/ui/button"
+import { Textarea } from "@/components/ui/textarea"
+
+import {
+ Form,
+ FormControl,
+ FormDescription,
+ FormField,
+ FormItem,
+ FormLabel,
+ FormMessage,
+} from "@/components/ui/form"
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@/components/ui/select"
+import {
+ Popover,
+ PopoverTrigger,
+ PopoverContent,
+} from "@/components/ui/popover"
+import {
+ Command,
+ CommandInput,
+ CommandList,
+ CommandGroup,
+ CommandItem,
+ CommandEmpty,
+} from "@/components/ui/command"
+import { Check, ChevronsUpDown, Loader, Copy } from "lucide-react"
+import { cn } from "@/lib/utils"
+import { toast } from "sonner"
+
+import { cloneGtcDocumentSchema, type CloneGtcDocumentSchema } from "@/lib/gtc-contract/validations"
+import { cloneGtcDocument, getAvailableProjectsForGtcExcluding, hasStandardGtcDocument } from "@/lib/gtc-contract/service"
+import { type ProjectForFilter } from "@/lib/gtc-contract/service"
+import { type GtcDocumentWithRelations } from "@/db/schema/gtc"
+import { useSession } from "next-auth/react"
+import { Input } from "@/components/ui/input"
+import { useRouter } from "next/navigation"
+
+interface CloneGtcDocumentDialogProps {
+ sourceDocument: GtcDocumentWithRelations
+ open?: boolean
+ onOpenChange?: (open: boolean) => void
+}
+
+export function CloneGtcDocumentDialog({
+ sourceDocument,
+ open: controlledOpen,
+ onOpenChange: controlledOnOpenChange
+}: CloneGtcDocumentDialogProps) {
+ const [internalOpen, setInternalOpen] = React.useState(false)
+ const [projects, setProjects] = React.useState<ProjectForFilter[]>([])
+ const [isClonePending, startCloneTransition] = React.useTransition()
+ const { data: session } = useSession()
+ const router = useRouter()
+ const [defaultType, setDefaultType] = React.useState<"standard" | "project">("standard")
+
+ const isControlled = controlledOpen !== undefined
+ const open = isControlled ? controlledOpen! : internalOpen
+ const setOpen = isControlled ? controlledOnOpenChange! : setInternalOpen
+
+ const currentUserId = React.useMemo(() => {
+ return session?.user?.id ? Number(session.user.id) : null
+ }, [session])
+
+
+
+
+ const form = useForm<CloneGtcDocumentSchema>({
+ resolver: zodResolver(cloneGtcDocumentSchema),
+ defaultValues: {
+ sourceDocumentId: sourceDocument.id,
+ type: sourceDocument.type,
+ projectId: sourceDocument.projectId,
+ title: sourceDocument.title || "",
+ editReason: "",
+ },
+ })
+
+ const resetForm = React.useCallback((type: "standard" | "project") => {
+ form.reset({
+ sourceDocumentId: sourceDocument.id,
+ type,
+ projectId: sourceDocument.projectId,
+ title: sourceDocument.title || "",
+ editReason: "",
+ })
+ }, [form, sourceDocument])
+
+ React.useEffect(() => {
+ if (open) {
+ // 표준 GTC 존재 여부와 사용 가능한 프로젝트 동시 조회
+ Promise.all([
+ hasStandardGtcDocument(),
+ getAvailableProjectsForGtcExcluding(sourceDocument.projectId || undefined)
+ ]).then(([hasStandard, availableProjects]) => {
+ const initialType = hasStandard ? "project" : "standard"
+ setDefaultType(initialType)
+ setProjects(availableProjects)
+
+ // 폼 기본값 설정: 원본 문서 타입을 우선으로 하되, 표준이 이미 있고 원본도 표준이면 프로젝트로 변경
+ const targetType = hasStandard && sourceDocument.type === "standard" ? "project" : sourceDocument.type
+ resetForm(targetType)
+ })
+ }
+ }, [open, sourceDocument.projectId, sourceDocument.type, resetForm])
+
+
+ const watchedType = form.watch("type")
+
+ React.useEffect(() => {
+ // 소스 문서가 변경되면 폼 기본값 업데이트 (다이얼로그가 열려있을 때만)
+ if (open) {
+ hasStandardGtcDocument().then((hasStandard) => {
+ const targetType = hasStandard && sourceDocument.type === "standard" ? "project" : sourceDocument.type
+ resetForm(targetType)
+ })
+ }
+ }, [sourceDocument, resetForm, open])
+
+ async function onSubmit(data: CloneGtcDocumentSchema) {
+ startCloneTransition(async () => {
+ if (!currentUserId) {
+ toast.error("로그인이 필요합니다")
+ return
+ }
+
+ try {
+ const result = await cloneGtcDocument({
+ ...data,
+ createdById: currentUserId
+ })
+
+ if (result.error) {
+ toast.error(`에러: ${result.error}`)
+ return
+ }
+
+ resetForm(sourceDocument.type)
+ setOpen(false)
+ router.refresh()
+
+ toast.success("GTC 문서가 복제되었습니다.")
+ } catch (error) {
+ toast.error("문서 복제 중 오류가 발생했습니다.")
+ }
+ })
+ }
+
+ function handleDialogOpenChange(nextOpen: boolean) {
+ if (!nextOpen) {
+ // 다이얼로그 닫을 때는 원본 문서 정보로 리셋
+ resetForm(sourceDocument.type)
+ }
+ setOpen(nextOpen)
+ }
+
+ const DialogWrapper = isControlled ? React.Fragment : Dialog
+
+ return (
+ <DialogWrapper>
+ {!isControlled && (
+ <DialogTrigger asChild>
+ <Button variant="outline" size="sm">
+ <Copy className="mr-2 h-4 w-4" />
+ 복제하기
+ </Button>
+ </DialogTrigger>
+ )}
+
+ <Dialog open={open} onOpenChange={handleDialogOpenChange}>
+ <DialogContent className="max-w-md">
+ <DialogHeader>
+ <DialogTitle>GTC 문서 복제</DialogTitle>
+ <DialogDescription>
+ 기존 문서를 복제하여 새로운 문서를 생성합니다. <br />
+ <span className="font-medium text-foreground">
+ 원본: {sourceDocument.title || `${sourceDocument.type === 'standard' ? '표준' : '프로젝트'} GTC v${sourceDocument.revision}`}
+ </span>
+ </DialogDescription>
+ </DialogHeader>
+
+ <Form {...form}>
+ <form onSubmit={form.handleSubmit(onSubmit)}>
+ <div className="space-y-4 py-4">
+ {/* 구분 (Type) */}
+ <FormField
+ control={form.control}
+ name="type"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>구분</FormLabel>
+ <FormControl>
+ <Select
+ onValueChange={(value) => {
+ field.onChange(value)
+ // 표준으로 변경시 프로젝트 ID 초기화
+ if (value === "standard") {
+ form.setValue("projectId", null)
+ }
+ }}
+ value={field.value}
+ >
+ <SelectTrigger>
+ <SelectValue placeholder="구분을 선택하세요" />
+ </SelectTrigger>
+ <SelectContent>
+ <SelectItem value="standard">표준</SelectItem>
+ <SelectItem value="project">프로젝트</SelectItem>
+ </SelectContent>
+ </Select>
+ </FormControl>
+ {defaultType === "project" && sourceDocument.type === "standard" && (
+ <FormDescription>
+ 표준 GTC 문서가 이미 존재합니다. 복제시에는 프로젝트 타입을 권장합니다.
+ </FormDescription>
+ )}
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+
+ {/* 프로젝트 선택 (프로젝트 타입인 경우만) */}
+ {watchedType === "project" && (
+ <FormField
+ control={form.control}
+ name="projectId"
+ render={({ field }) => {
+ const selectedProject = projects.find(
+ (p) => p.id === field.value
+ )
+ const [popoverOpen, setPopoverOpen] = React.useState(false)
+
+ return (
+ <FormItem>
+ <FormLabel>프로젝트</FormLabel>
+ <FormControl>
+ <Popover
+ open={popoverOpen}
+ onOpenChange={setPopoverOpen}
+ modal={true}
+ >
+ <PopoverTrigger asChild>
+ <Button
+ variant="outline"
+ role="combobox"
+ aria-expanded={popoverOpen}
+ className="w-full justify-between"
+ >
+ {selectedProject
+ ? `${selectedProject.name} (${selectedProject.code})`
+ : "프로젝트를 선택하세요..."}
+ <ChevronsUpDown className="ml-2 h-4 w-4 shrink-0 opacity-50" />
+ </Button>
+ </PopoverTrigger>
+
+ <PopoverContent className="w-full p-0">
+ <Command>
+ <CommandInput
+ placeholder="프로젝트 검색..."
+ className="h-9"
+ />
+ <CommandList>
+ <CommandEmpty>
+ {projects.length === 0
+ ? "사용 가능한 프로젝트가 없습니다."
+ : "프로젝트를 찾을 수 없습니다."
+ }
+ </CommandEmpty>
+ <CommandGroup>
+ {projects.map((project) => {
+ const label = `${project.name} (${project.code})`
+ return (
+ <CommandItem
+ key={project.id}
+ value={label}
+ onSelect={() => {
+ field.onChange(project.id)
+ setPopoverOpen(false)
+ }}
+ >
+ {label}
+ <Check
+ className={cn(
+ "ml-auto h-4 w-4",
+ selectedProject?.id === project.id
+ ? "opacity-100"
+ : "opacity-0"
+ )}
+ />
+ </CommandItem>
+ )
+ })}
+ </CommandGroup>
+ </CommandList>
+ </Command>
+ </PopoverContent>
+ </Popover>
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )
+ }}
+ />
+ )}
+
+ <FormField
+ control={form.control}
+ name="title"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>GTC 제목 (선택사항)</FormLabel>
+ <FormControl>
+ <Input
+ placeholder="GTC 제목을 입력하세요..."
+ {...field}
+ />
+ </FormControl>
+ <FormDescription>
+ 워드의 제목으로 사용됩니다.
+ </FormDescription>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+
+ {/* 편집 사유 */}
+ <FormField
+ control={form.control}
+ name="editReason"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>복제 사유 (선택사항)</FormLabel>
+ <FormControl>
+ <Textarea
+ placeholder="복제 사유를 입력하세요..."
+ {...field}
+ rows={3}
+ />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+ </div>
+
+ <DialogFooter>
+ <Button
+ type="button"
+ variant="outline"
+ onClick={() => setOpen(false)}
+ disabled={isClonePending}
+ >
+ Cancel
+ </Button>
+ <Button type="submit" disabled={isClonePending}>
+ {isClonePending && (
+ <Loader
+ className="mr-2 size-4 animate-spin"
+ aria-hidden="true"
+ />
+ )}
+ 복제하기
+ </Button>
+ </DialogFooter>
+ </form>
+ </Form>
+ </DialogContent>
+ </Dialog>
+ </DialogWrapper>
+ )
+} \ No newline at end of file
diff --git a/lib/gtc-contract/status/create-gtc-document-dialog.tsx b/lib/gtc-contract/status/create-gtc-document-dialog.tsx
index 003e4d51..174bb8dd 100644
--- a/lib/gtc-contract/status/create-gtc-document-dialog.tsx
+++ b/lib/gtc-contract/status/create-gtc-document-dialog.tsx
@@ -41,28 +41,45 @@ import { cn } from "@/lib/utils"
import { toast } from "sonner"
import { createGtcDocumentSchema, type CreateGtcDocumentSchema } from "@/lib/gtc-contract/validations"
-import { createGtcDocument, getProjectsForSelect } from "@/lib/gtc-contract/service"
-import { type Project } from "@/db/schema/projects"
+import { createGtcDocument, getAvailableProjectsForGtc, hasStandardGtcDocument } from "@/lib/gtc-contract/service"
+import { type ProjectForFilter } from "@/lib/gtc-contract/service"
import { useSession } from "next-auth/react"
import { Input } from "@/components/ui/input"
-import { useRouter } from "next/navigation";
+import { useRouter } from "next/navigation"
export function CreateGtcDocumentDialog() {
const [open, setOpen] = React.useState(false)
- const [projects, setProjects] = React.useState<Project[]>([])
+ const [projects, setProjects] = React.useState<ProjectForFilter[]>([])
const [isCreatePending, startCreateTransition] = React.useTransition()
+ const [defaultType, setDefaultType] = React.useState<"standard" | "project">("standard")
const { data: session } = useSession()
- const router = useRouter();
+ const router = useRouter()
const currentUserId = React.useMemo(() => {
return session?.user?.id ? Number(session.user.id) : null;
- }, [session]);
-
+ }, [session])
React.useEffect(() => {
if (open) {
- getProjectsForSelect().then((res) => {
- setProjects(res)
+ // 표준 GTC 존재 여부와 사용 가능한 프로젝트 동시 조회
+ Promise.all([
+ hasStandardGtcDocument(),
+ getAvailableProjectsForGtc()
+ ]).then(([hasStandard, availableProjects]) => {
+ const initialType = hasStandard ? "project" : "standard"
+ setDefaultType(initialType)
+ setProjects(availableProjects)
+
+ // 폼 기본값 설정 (setTimeout으로 다음 틱에 실행)
+ setTimeout(() => {
+ form.reset({
+ type: initialType,
+ projectId: null,
+ title: "",
+ revision: 0,
+ editReason: "",
+ })
+ }, 0)
})
}
}, [open])
@@ -78,11 +95,21 @@ export function CreateGtcDocumentDialog() {
},
})
+ const resetForm = React.useCallback((type: "standard" | "project") => {
+ form.reset({
+ type,
+ projectId: null,
+ title: "",
+ revision: 0,
+ editReason: "",
+ })
+ }, [form])
+
+
const watchedType = form.watch("type")
async function onSubmit(data: CreateGtcDocumentSchema) {
startCreateTransition(async () => {
-
if (!currentUserId) {
toast.error("로그인이 필요합니다")
return
@@ -99,9 +126,9 @@ export function CreateGtcDocumentDialog() {
return
}
- form.reset()
+ resetForm(defaultType)
setOpen(false)
- router.refresh();
+ router.refresh()
toast.success("GTC 문서가 생성되었습니다.")
} catch (error) {
@@ -112,7 +139,7 @@ export function CreateGtcDocumentDialog() {
function handleDialogOpenChange(nextOpen: boolean) {
if (!nextOpen) {
- form.reset()
+ resetForm(defaultType)
}
setOpen(nextOpen)
}
@@ -122,15 +149,15 @@ export function CreateGtcDocumentDialog() {
<DialogTrigger asChild>
<Button variant="default" size="sm">
<Plus className="mr-2 h-4 w-4" />
- Add GTC Document
+ GTC 추가
</Button>
</DialogTrigger>
<DialogContent className="max-w-md">
<DialogHeader>
- <DialogTitle>Create New GTC Document</DialogTitle>
+ <DialogTitle>새 GTC 만들기</DialogTitle>
<DialogDescription>
- 새 GTC 문서 정보를 입력하고 <b>Create</b> 버튼을 누르세요.
+ 새 GTC 문서 정보를 입력하고 <b>생성</b> 버튼을 누르세요.
</DialogDescription>
</DialogHeader>
@@ -159,11 +186,26 @@ export function CreateGtcDocumentDialog() {
<SelectValue placeholder="구분을 선택하세요" />
</SelectTrigger>
<SelectContent>
- <SelectItem value="standard">표준</SelectItem>
- <SelectItem value="project">프로젝트</SelectItem>
+ {/* 기본값에 따라 순서 조정 */}
+ {defaultType === "project" ? (
+ <>
+ <SelectItem value="project">프로젝트</SelectItem>
+ <SelectItem value="standard">표준</SelectItem>
+ </>
+ ) : (
+ <>
+ <SelectItem value="standard">표준</SelectItem>
+ <SelectItem value="project">프로젝트</SelectItem>
+ </>
+ )}
</SelectContent>
</Select>
</FormControl>
+ {defaultType === "project" && (
+ <FormDescription>
+ 표준 GTC 문서가 이미 존재합니다. 새 문서는 프로젝트 타입을 권장합니다.
+ </FormDescription>
+ )}
<FormMessage />
</FormItem>
)}
@@ -198,7 +240,9 @@ export function CreateGtcDocumentDialog() {
>
{selectedProject
? `${selectedProject.name} (${selectedProject.code})`
- : "프로젝트를 선택하세요..."}
+ : projects.length === 0
+ ? "사용 가능한 프로젝트가 없습니다"
+ : "프로젝트를 선택하세요..."}
<ChevronsUpDown className="ml-2 h-4 w-4 shrink-0 opacity-50" />
</Button>
</PopoverTrigger>
@@ -210,7 +254,12 @@ export function CreateGtcDocumentDialog() {
className="h-9"
/>
<CommandList>
- <CommandEmpty>프로젝트를 찾을 수 없습니다.</CommandEmpty>
+ <CommandEmpty>
+ {projects.length === 0
+ ? "모든 프로젝트에 이미 GTC 문서가 있습니다."
+ : "프로젝트를 찾을 수 없습니다."
+ }
+ </CommandEmpty>
<CommandGroup>
{projects.map((project) => {
const label = `${project.name} (${project.code})`
@@ -241,6 +290,9 @@ export function CreateGtcDocumentDialog() {
</PopoverContent>
</Popover>
</FormControl>
+ <FormDescription>
+ {projects.length === 0 && "이미 GTC 문서가 있는 프로젝트는 표시되지 않습니다."}
+ </FormDescription>
<FormMessage />
</FormItem>
)
@@ -256,7 +308,7 @@ export function CreateGtcDocumentDialog() {
<FormLabel>GTC 제목 (선택사항)</FormLabel>
<FormControl>
<Input
- placeholder="GTC 제목를 입력하세요..."
+ placeholder="GTC 제목을 입력하세요..."
{...field}
/>
</FormControl>
@@ -295,7 +347,7 @@ export function CreateGtcDocumentDialog() {
onClick={() => setOpen(false)}
disabled={isCreatePending}
>
- Cancel
+ 취소
</Button>
<Button type="submit" disabled={isCreatePending}>
{isCreatePending && (
@@ -304,7 +356,7 @@ export function CreateGtcDocumentDialog() {
aria-hidden="true"
/>
)}
- Create
+ 생성
</Button>
</DialogFooter>
</form>
diff --git a/lib/gtc-contract/status/gtc-contract-table.tsx b/lib/gtc-contract/status/gtc-contract-table.tsx
index 0fb637b6..ce3a2c7a 100644
--- a/lib/gtc-contract/status/gtc-contract-table.tsx
+++ b/lib/gtc-contract/status/gtc-contract-table.tsx
@@ -27,6 +27,7 @@ import { UpdateGtcDocumentSheet } from "./update-gtc-document-sheet"
import { CreateGtcDocumentDialog } from "./create-gtc-document-dialog"
import { CreateNewRevisionDialog } from "./create-new-revision-dialog"
import { useRouter } from "next/navigation"
+import { CloneGtcDocumentDialog } from "./clone-gtc-document-dialog"
interface GtcDocumentsTableProps {
promises: Promise<
@@ -42,6 +43,8 @@ export function GtcDocumentsTable({ promises }: GtcDocumentsTableProps) {
const [{ data, pageCount }, projects, users] = React.use(promises)
const router = useRouter()
+ console.log(data)
+
const [rowAction, setRowAction] =
React.useState<DataTableRowAction<GtcDocumentWithRelations> | null>(null)
@@ -169,6 +172,16 @@ export function GtcDocumentsTable({ promises }: GtcDocumentsTableProps) {
originalDocument={rowAction?.row.original ?? null}
/>
+
+ {/* 복제 다이얼로그 */}
+ {rowAction?.type === "clone" && (
+ <CloneGtcDocumentDialog
+ sourceDocument={rowAction.row.original}
+ open={true}
+ onOpenChange={() => setRowAction(null)}
+ />
+ )}
+
{/* <CreateGtcDocumentDialog /> */}
</>
)
diff --git a/lib/gtc-contract/status/gtc-documents-table-columns.tsx b/lib/gtc-contract/status/gtc-documents-table-columns.tsx
index cd02a3e5..89415284 100644
--- a/lib/gtc-contract/status/gtc-documents-table-columns.tsx
+++ b/lib/gtc-contract/status/gtc-documents-table-columns.tsx
@@ -24,7 +24,7 @@ import { type GtcDocumentWithRelations } from "@/db/schema/gtc"
interface GetColumnsProps {
setRowAction: React.Dispatch<React.SetStateAction<DataTableRowAction<GtcDocumentWithRelations> | null>>
- router: AppRouterInstance // ← 추가
+ router: AppRouterInstance
}
/** GTC Documents 테이블 컬럼 정의 (그룹 헤더 제거) */
@@ -75,12 +75,13 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef
accessorKey: "project",
header: ({ column }) => <DataTableColumnHeaderSimple column={column} title="프로젝트" />,
cell: ({ row }) => {
- const project = row.original.project
- if (!project) return <span className="text-muted-foreground">-</span>
+ const projectName = row.original.projectName
+ const projectCode = row.original.projectCode
+ if (!projectName) return <span className="text-muted-foreground">-</span>
return (
<div className="flex flex-col min-w-0">
- <span className="font-medium truncate">{project.name}</span>
- <span className="text-xs text-muted-foreground">{project.code}</span>
+ <span className="font-medium truncate">{projectName}</span>
+ <span className="text-xs text-muted-foreground">{projectCode}</span>
</div>
)
},
@@ -195,6 +196,10 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef
setRowAction({ row, type: "createRevision" })
}
+ const handleClone = () => {
+ setRowAction({ row, type: "clone" })
+ }
+
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
@@ -206,26 +211,30 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef
<Ellipsis className="size-4" aria-hidden />
</Button>
</DropdownMenuTrigger>
- <DropdownMenuContent align="end" className="w-48">
+ <DropdownMenuContent align="end" className="w-44">
<DropdownMenuItem onSelect={handleViewDetails}>
- <Eye className="mr-2 h-4 w-4" />
- 상세
+ {/* <Eye className="mr-2 h-4 w-4" /> */}
+ 상세보기
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem onSelect={() => setRowAction({ row, type: "update" })}>
- 수정
+ 수정하기
</DropdownMenuItem>
<DropdownMenuItem onSelect={handleCreateNewRevision}>
- 새 리비전 생성
+ 리비전 생성하기
+ </DropdownMenuItem>
+
+ <DropdownMenuItem onSelect={handleClone}>
+ 복제하기
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem onSelect={() => setRowAction({ row, type: "delete" })}>
- 삭제
- <DropdownMenuShortcut>⌘⌫</DropdownMenuShortcut>
+ 삭제하기
+ {/* <DropdownMenuShortcut>⌘⌫</DropdownMenuShortcut> */}
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
@@ -241,4 +250,4 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef
...auditColumns,
actionsColumn,
]
-}
+} \ No newline at end of file
diff --git a/lib/gtc-contract/validations.ts b/lib/gtc-contract/validations.ts
index d00d795b..0566c1cb 100644
--- a/lib/gtc-contract/validations.ts
+++ b/lib/gtc-contract/validations.ts
@@ -70,4 +70,35 @@ export const createNewRevisionSchema = z.object({
export type GetGtcDocumentsSchema = Awaited<ReturnType<typeof searchParamsCache.parse>>
export type CreateGtcDocumentSchema = z.infer<typeof createGtcDocumentSchema>
export type UpdateGtcDocumentSchema = z.infer<typeof updateGtcDocumentSchema>
-export type CreateNewRevisionSchema = z.infer<typeof createNewRevisionSchema> \ No newline at end of file
+export type CreateNewRevisionSchema = z.infer<typeof createNewRevisionSchema>
+
+
+
+// 복제용 schema
+export const cloneGtcDocumentSchema = z.object({
+ sourceDocumentId: z.number().min(1, "원본 문서 ID가 필요합니다."),
+ type: z.enum(["standard", "project"]),
+ projectId: z.number().nullable().optional(),
+ title: z.string().optional(),
+ editReason: z.string().optional(),
+}).refine((data) => {
+ // 프로젝트 타입인 경우 projectId가 필수
+ if (data.type === "project") {
+ return data.projectId !== null && data.projectId !== undefined
+ }
+ return true
+}, {
+ message: "프로젝트 타입인 경우 프로젝트를 선택해야 합니다.",
+ path: ["projectId"]
+}).refine((data) => {
+ // 표준 타입인 경우 projectId는 null이어야 함
+ if (data.type === "standard") {
+ return data.projectId === null || data.projectId === undefined
+ }
+ return true
+}, {
+ message: "표준 타입인 경우 프로젝트를 선택할 수 없습니다.",
+ path: ["projectId"]
+})
+
+export type CloneGtcDocumentSchema = z.infer<typeof cloneGtcDocumentSchema> \ No newline at end of file
diff --git a/lib/vendor-document-list/enhanced-document-service.ts b/lib/vendor-document-list/enhanced-document-service.ts
index b78d0fc3..9eaa2a40 100644
--- a/lib/vendor-document-list/enhanced-document-service.ts
+++ b/lib/vendor-document-list/enhanced-document-service.ts
@@ -2,9 +2,9 @@
"use server"
import { revalidatePath, unstable_cache } from "next/cache"
-import { and, asc, desc, eq, ilike, or, count, avg, inArray } from "drizzle-orm"
+import { and, asc, desc, eq, ilike, or, count, avg, inArray, sql } from "drizzle-orm"
import db from "@/db/db"
-import { documentAttachments, documents, enhancedDocumentsView, issueStages, revisions, simplifiedDocumentsView, type EnhancedDocumentsView } from "@/db/schema/vendorDocu"
+import { documentAttachments, documentStagesOnlyView, documents, enhancedDocumentsView, issueStages, revisions, simplifiedDocumentsView, type EnhancedDocumentsView } from "@/db/schema/vendorDocu"
import { filterColumns } from "@/lib/filter-columns"
import type {
CreateDocumentInput,
@@ -23,6 +23,7 @@ import { GetVendorShipDcoumentsSchema } from "./validations"
import { contracts, users, vendors } from "@/db/schema"
import { getServerSession } from "next-auth/next"
import { authOptions } from "@/app/api/auth/[...nextauth]/route"
+import { countDocumentStagesOnly, selectDocumentStagesOnly } from "./repository"
// 스키마 타입 정의
export interface GetEnhancedDocumentsSchema {
@@ -1181,4 +1182,7 @@ export async function getDocumentDetails(documentId: number) {
console.error("Error fetching user vendor document stats:", err)
return { stats: {}, totalDocuments: 0, primaryDrawingKind: null }
}
- } \ No newline at end of file
+ }
+
+
+
diff --git a/lib/vendor-document-list/plant/document-stage-actions.ts b/lib/vendor-document-list/plant/document-stage-actions.ts
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/lib/vendor-document-list/plant/document-stage-actions.ts
diff --git a/lib/vendor-document-list/plant/document-stage-dialogs.tsx b/lib/vendor-document-list/plant/document-stage-dialogs.tsx
new file mode 100644
index 00000000..732a4bed
--- /dev/null
+++ b/lib/vendor-document-list/plant/document-stage-dialogs.tsx
@@ -0,0 +1,789 @@
+"use client"
+
+import React from "react"
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogFooter,
+ DialogHeader,
+ DialogTitle,
+} from "@/components/ui/dialog"
+import {
+ Sheet,
+ SheetContent,
+ SheetDescription,
+ SheetFooter,
+ SheetHeader,
+ SheetTitle,
+} from "@/components/ui/sheet"
+import { Button } from "@/components/ui/button"
+import { Input } from "@/components/ui/input"
+import { Label } from "@/components/ui/label"
+import { Textarea } from "@/components/ui/textarea"
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@/components/ui/select"
+import { Badge } from "@/components/ui/badge"
+import { DocumentStagesOnlyView } from "@/db/schema"
+import { Upload, FileSpreadsheet, Calendar, User, Target, Loader2 } from "lucide-react"
+import { toast } from "sonner"
+import {
+ getDocumentNumberTypes,
+ getDocumentNumberTypeConfigs,
+ getComboBoxOptions,
+ getDocumentClasses,
+ createDocument,
+ updateStage
+} from "./document-stages-service"
+
+// =============================================================================
+// 1. Add Document Dialog (Updated with fixed header/footer and English text)
+// =============================================================================
+interface AddDocumentDialogProps {
+ open: boolean
+ onOpenChange: (open: boolean) => void
+ contractId: number
+ projectType: "ship" | "plant"
+}
+
+export function AddDocumentDialog({
+ open,
+ onOpenChange,
+ contractId,
+ projectType
+}: AddDocumentDialogProps) {
+ const [isLoading, setIsLoading] = React.useState(false)
+ const [documentNumberTypes, setDocumentNumberTypes] = React.useState<any[]>([])
+ const [documentClasses, setDocumentClasses] = React.useState<any[]>([])
+ const [selectedTypeConfigs, setSelectedTypeConfigs] = React.useState<any[]>([])
+ const [comboBoxOptions, setComboBoxOptions] = React.useState<Record<number, any[]>>({})
+
+ const [formData, setFormData] = React.useState({
+ documentNumberTypeId: "",
+ documentClassId: "",
+ title: "",
+ pic: "",
+ vendorDocNumber: "",
+ fieldValues: {} as Record<string, string>
+ })
+
+ // Load initial data
+ React.useEffect(() => {
+ if (open) {
+ loadInitialData()
+ }
+ }, [open])
+
+ const loadInitialData = async () => {
+ setIsLoading(true)
+ try {
+ const [typesResult, classesResult] = await Promise.all([
+ getDocumentNumberTypes(),
+ getDocumentClasses()
+ ])
+
+ if (typesResult.success) {
+ setDocumentNumberTypes(typesResult.data)
+ }
+ if (classesResult.success) {
+ setDocumentClasses(classesResult.data)
+ }
+ } catch (error) {
+ toast.error("Error loading data.")
+ } finally {
+ setIsLoading(false)
+ }
+ }
+
+ // Handle document type change
+ const handleDocumentTypeChange = async (documentNumberTypeId: string) => {
+ setFormData({
+ ...formData,
+ documentNumberTypeId,
+ fieldValues: {}
+ })
+
+ if (documentNumberTypeId) {
+ const configsResult = await getDocumentNumberTypeConfigs(Number(documentNumberTypeId))
+ if (configsResult.success) {
+ setSelectedTypeConfigs(configsResult.data)
+
+ // Pre-load combobox options
+ const comboBoxPromises = configsResult.data
+ .filter(config => config.codeGroup?.controlType === 'combobox')
+ .map(async (config) => {
+ const optionsResult = await getComboBoxOptions(config.codeGroupId!)
+ return {
+ codeGroupId: config.codeGroupId,
+ options: optionsResult.success ? optionsResult.data : []
+ }
+ })
+
+ const comboBoxResults = await Promise.all(comboBoxPromises)
+ const newComboBoxOptions: Record<number, any[]> = {}
+ comboBoxResults.forEach(result => {
+ if (result.codeGroupId) {
+ newComboBoxOptions[result.codeGroupId] = result.options
+ }
+ })
+ setComboBoxOptions(newComboBoxOptions)
+ }
+ } else {
+ setSelectedTypeConfigs([])
+ setComboBoxOptions({})
+ }
+ }
+
+ // Handle field value change
+ const handleFieldValueChange = (fieldKey: string, value: string) => {
+ setFormData({
+ ...formData,
+ fieldValues: {
+ ...formData.fieldValues,
+ [fieldKey]: value
+ }
+ })
+ }
+
+ // Generate document number preview
+ const generatePreviewDocNumber = () => {
+ if (selectedTypeConfigs.length === 0) return ""
+
+ let preview = ""
+ selectedTypeConfigs.forEach((config, index) => {
+ const fieldKey = `field_${config.sdq}`
+ const value = formData.fieldValues[fieldKey] || "[value]"
+ preview += value
+ if (index < selectedTypeConfigs.length - 1) {
+ preview += "-"
+ }
+ })
+ return preview
+ }
+
+ const handleSubmit = async () => {
+ if (!formData.documentNumberTypeId || !formData.documentClassId || !formData.title) {
+ toast.error("Please fill in all required fields.")
+ return
+ }
+
+ setIsLoading(true)
+ try {
+ const result = await createDocument({
+ contractId,
+ documentNumberTypeId: Number(formData.documentNumberTypeId),
+ documentClassId: Number(formData.documentClassId),
+ title: formData.title,
+ fieldValues: formData.fieldValues,
+ pic: formData.pic,
+ vendorDocNumber: formData.vendorDocNumber,
+ })
+
+ if (result.success) {
+ toast.success("Document added successfully.")
+ onOpenChange(false)
+ resetForm()
+ } else {
+ toast.error(result.error || "Error adding document.")
+ }
+ } catch (error) {
+ toast.error("Error adding document.")
+ } finally {
+ setIsLoading(false)
+ }
+ }
+
+ const resetForm = () => {
+ setFormData({
+ documentNumberTypeId: "",
+ documentClassId: "",
+ title: "",
+ pic: "",
+ vendorDocNumber: "",
+ fieldValues: {}
+ })
+ setSelectedTypeConfigs([])
+ setComboBoxOptions({})
+ }
+
+ const isPlantProject = projectType === "plant"
+
+ return (
+ <Dialog open={open} onOpenChange={onOpenChange}>
+ <DialogContent className="sm:max-w-[700px] h-[80vh] flex flex-col">
+ <DialogHeader className="flex-shrink-0">
+ <DialogTitle>Add New Document</DialogTitle>
+ <DialogDescription>
+ Enter the basic information for the new document.
+ </DialogDescription>
+ </DialogHeader>
+
+ {isLoading ? (
+ <div className="flex items-center justify-center py-8 flex-1">
+ <Loader2 className="h-8 w-8 animate-spin" />
+ </div>
+ ) : (
+ <div className="flex-1 overflow-y-auto pr-2">
+ <div className="grid gap-4 py-4">
+ {/* Document Number Type Selection */}
+ <div className="grid gap-2">
+ <Label htmlFor="documentNumberTypeId">
+ Document Number Type <span className="text-red-500">*</span>
+ </Label>
+ <Select
+ value={formData.documentNumberTypeId}
+ onValueChange={handleDocumentTypeChange}
+ >
+ <SelectTrigger>
+ <SelectValue placeholder="Select document number type" />
+ </SelectTrigger>
+ <SelectContent>
+ {documentNumberTypes.map((type) => (
+ <SelectItem key={type.id} value={String(type.id)}>
+ {type.name} - {type.description}
+ </SelectItem>
+ ))}
+ </SelectContent>
+ </Select>
+ </div>
+
+ {/* Dynamic Fields */}
+ {selectedTypeConfigs.length > 0 && (
+ <div className="border rounded-lg p-4 bg-blue-50/30">
+ <Label className="text-sm font-medium text-blue-800 mb-3 block">
+ Document Number Components
+ </Label>
+ <div className="grid gap-3">
+ {selectedTypeConfigs.map((config) => (
+ <div key={config.id} className="grid gap-2">
+ <Label className="text-sm">
+ {config.codeGroup?.description || config.description}
+ {config.required && <span className="text-red-500 ml-1">*</span>}
+ {config.remark && (
+ <span className="text-xs text-gray-500 ml-2">({config.remark})</span>
+ )}
+ </Label>
+
+ {config.codeGroup?.controlType === 'combobox' ? (
+ <Select
+ value={formData.fieldValues[`field_${config.sdq}`] || ""}
+ onValueChange={(value) => handleFieldValueChange(`field_${config.sdq}`, value)}
+ >
+ <SelectTrigger>
+ <SelectValue placeholder="Select option" />
+ </SelectTrigger>
+ <SelectContent>
+ {(comboBoxOptions[config.codeGroupId!] || []).map((option) => (
+ <SelectItem key={option.id} value={option.code}>
+ {option.code} - {option.description}
+ </SelectItem>
+ ))}
+ </SelectContent>
+ </Select>
+ ) : config.documentClass ? (
+ <div className="p-2 bg-gray-100 rounded text-sm">
+ {config.documentClass.code} - {config.documentClass.description}
+ </div>
+ ) : (
+ <Input
+ value={formData.fieldValues[`field_${config.sdq}`] || ""}
+ onChange={(e) => handleFieldValueChange(`field_${config.sdq}`, e.target.value)}
+ placeholder="Enter value"
+ />
+ )}
+ </div>
+ ))}
+ </div>
+
+ {/* Document Number Preview */}
+ <div className="mt-3 p-2 bg-white border rounded">
+ <Label className="text-xs text-gray-600">Document Number Preview:</Label>
+ <div className="font-mono text-sm font-medium text-blue-600">
+ {generatePreviewDocNumber()}
+ </div>
+ </div>
+ </div>
+ )}
+
+ {/* Document Class Selection */}
+ <div className="grid gap-2">
+ <Label htmlFor="documentClassId">
+ Document Class <span className="text-red-500">*</span>
+ </Label>
+ <Select
+ value={formData.documentClassId}
+ onValueChange={(value) => setFormData({ ...formData, documentClassId: value })}
+ >
+ <SelectTrigger>
+ <SelectValue placeholder="Select document class" />
+ </SelectTrigger>
+ <SelectContent>
+ {documentClasses.map((cls) => (
+ <SelectItem key={cls.id} value={String(cls.id)}>
+ {cls.code} - {cls.description}
+ </SelectItem>
+ ))}
+ </SelectContent>
+ </Select>
+ {formData.documentClassId && (
+ <p className="text-xs text-gray-600">
+ Options from the selected class will be automatically created as stages.
+ </p>
+ )}
+ </div>
+
+ {/* Document Title */}
+ <div className="grid gap-2">
+ <Label htmlFor="title">
+ Document Title <span className="text-red-500">*</span>
+ </Label>
+ <Input
+ id="title"
+ value={formData.title}
+ onChange={(e) => setFormData({ ...formData, title: e.target.value })}
+ placeholder="Enter document title"
+ />
+ </div>
+
+ {/* Additional Information */}
+ {isPlantProject && (
+ <div className="grid gap-2">
+ <Label htmlFor="vendorDocNumber">Vendor Document Number</Label>
+ <Input
+ id="vendorDocNumber"
+ value={formData.vendorDocNumber}
+ onChange={(e) => setFormData({ ...formData, vendorDocNumber: e.target.value })}
+ placeholder="Vendor provided document number"
+ />
+ </div>
+ )}
+ </div>
+ </div>
+ )}
+
+ <DialogFooter className="flex-shrink-0">
+ <Button variant="outline" onClick={() => onOpenChange(false)} disabled={isLoading}>
+ Cancel
+ </Button>
+ <Button onClick={handleSubmit} disabled={isLoading}>
+ {isLoading ? <Loader2 className="h-4 w-4 animate-spin mr-2" /> : null}
+ Add Document
+ </Button>
+ </DialogFooter>
+ </DialogContent>
+ </Dialog>
+ )
+}
+
+// =============================================================================
+// 2. Edit Document Dialog (Updated with English text)
+// =============================================================================
+interface EditDocumentDialogProps {
+ open: boolean
+ onOpenChange: (open: boolean) => void
+ document: DocumentStagesOnlyView | null
+ contractId: number
+ projectType: "ship" | "plant"
+}
+
+export function EditDocumentDialog({
+ open,
+ onOpenChange,
+ document,
+ contractId,
+ projectType
+}: EditDocumentDialogProps) {
+ const [formData, setFormData] = React.useState({
+ title: "",
+ pic: "",
+ vendorDocNumber: "",
+ })
+
+ React.useEffect(() => {
+ if (document) {
+ setFormData({
+ title: document.title || "",
+ pic: document.pic || "",
+ vendorDocNumber: document.vendorDocNumber || "",
+ })
+ }
+ }, [document])
+
+ const handleSubmit = async () => {
+ try {
+ // TODO: API call to update document
+ toast.success("Document updated successfully.")
+ onOpenChange(false)
+ } catch (error) {
+ toast.error("Error updating document.")
+ }
+ }
+
+ const isPlantProject = projectType === "plant"
+
+ return (
+ <Sheet open={open} onOpenChange={onOpenChange}>
+ <SheetContent className="sm:max-w-[500px]">
+ <SheetHeader>
+ <SheetTitle>Edit Document</SheetTitle>
+ <SheetDescription>
+ You can modify the basic information of the document.
+ </SheetDescription>
+ </SheetHeader>
+
+ <div className="grid gap-4 py-4">
+ <div className="grid gap-2">
+ <Label>Document Number</Label>
+ <div className="p-2 bg-gray-100 rounded text-sm font-mono">
+ {document?.docNumber}
+ </div>
+ </div>
+
+ <div className="grid gap-2">
+ <Label htmlFor="edit-title">
+ Document Title <span className="text-red-500">*</span>
+ </Label>
+ <Input
+ id="edit-title"
+ value={formData.title}
+ onChange={(e) => setFormData({ ...formData, title: e.target.value })}
+ placeholder="Enter document title"
+ />
+ </div>
+
+ <div className="grid grid-cols-2 gap-4">
+ {isPlantProject && (
+ <div className="grid gap-2">
+ <Label htmlFor="edit-vendorDocNumber">Vendor Document Number</Label>
+ <Input
+ id="edit-vendorDocNumber"
+ value={formData.vendorDocNumber}
+ onChange={(e) => setFormData({ ...formData, vendorDocNumber: e.target.value })}
+ placeholder="Vendor provided document number"
+ />
+ </div>
+ )}
+ <div className="grid gap-2">
+ <Label htmlFor="edit-pic">PIC</Label>
+ <Input
+ id="edit-pic"
+ value={formData.pic}
+ onChange={(e) => setFormData({ ...formData, pic: e.target.value })}
+ placeholder="Person in charge"
+ />
+ </div>
+ </div>
+ </div>
+
+ <SheetFooter>
+ <Button variant="outline" onClick={() => onOpenChange(false)}>
+ Cancel
+ </Button>
+ <Button onClick={handleSubmit}>
+ Save Changes
+ </Button>
+ </SheetFooter>
+ </SheetContent>
+ </Sheet>
+ )
+}
+
+// =============================================================================
+// 3. Edit Stage Dialog (Updated with English text)
+// =============================================================================
+interface EditStageDialogProps {
+ open: boolean
+ onOpenChange: (open: boolean) => void
+ document: DocumentStagesOnlyView | null
+ stageId: number | null
+}
+
+export function EditStageDialog({
+ open,
+ onOpenChange,
+ document,
+ stageId
+}: EditStageDialogProps) {
+ const [isLoading, setIsLoading] = React.useState(false)
+ const [formData, setFormData] = React.useState({
+ stageName: "",
+ planDate: "",
+ actualDate: "",
+ stageStatus: "PLANNED",
+ assigneeName: "",
+ priority: "MEDIUM",
+ notes: ""
+ })
+
+ // Load stage information by stageId
+ React.useEffect(() => {
+ if (document && stageId) {
+ const stage = document.allStages?.find(s => s.id === stageId)
+ if (stage) {
+ setFormData({
+ stageName: stage.stageName || "",
+ planDate: stage.planDate || "",
+ actualDate: stage.actualDate || "",
+ stageStatus: stage.stageStatus || "PLANNED",
+ assigneeName: stage.assigneeName || "",
+ priority: stage.priority || "MEDIUM",
+ notes: stage.notes || ""
+ })
+ }
+ }
+ }, [document, stageId])
+
+ const handleSubmit = async () => {
+ if (!stageId) return
+
+ setIsLoading(true)
+ try {
+ const result = await updateStage({
+ stageId,
+ ...formData
+ })
+
+ if (result.success) {
+ toast.success("Stage updated successfully.")
+ onOpenChange(false)
+ } else {
+ toast.error(result.error || "Error updating stage.")
+ }
+ } catch (error) {
+ toast.error("Error updating stage.")
+ } finally {
+ setIsLoading(false)
+ }
+ }
+
+ return (
+ <Dialog open={open} onOpenChange={onOpenChange}>
+ <DialogContent className="sm:max-w-[500px] h-[70vh] flex flex-col">
+ <DialogHeader className="flex-shrink-0">
+ <DialogTitle>Edit Stage</DialogTitle>
+ <DialogDescription>
+ You can modify stage information.
+ </DialogDescription>
+ </DialogHeader>
+
+ <div className="flex-1 overflow-y-auto pr-2">
+ <div className="grid gap-4 py-4">
+ <div className="grid gap-2">
+ <Label htmlFor="edit-stageName">Stage Name</Label>
+ <div className="p-2 bg-gray-100 rounded text-sm">
+ {formData.stageName}
+ </div>
+ </div>
+
+ <div className="grid grid-cols-2 gap-4">
+ <div className="grid gap-2">
+ <Label htmlFor="edit-planDate">
+ <Calendar className="inline w-4 h-4 mr-1" />
+ Plan Date
+ </Label>
+ <Input
+ id="edit-planDate"
+ type="date"
+ value={formData.planDate}
+ onChange={(e) => setFormData({ ...formData, planDate: e.target.value })}
+ />
+ </div>
+ <div className="grid gap-2">
+ <Label htmlFor="edit-actualDate">
+ <Calendar className="inline w-4 h-4 mr-1" />
+ Actual Date
+ </Label>
+ <Input
+ id="edit-actualDate"
+ type="date"
+ value={formData.actualDate}
+ onChange={(e) => setFormData({ ...formData, actualDate: e.target.value })}
+ />
+ </div>
+ </div>
+
+ <div className="grid grid-cols-2 gap-4">
+ <div className="grid gap-2">
+ <Label htmlFor="edit-stageStatus">Status</Label>
+ <Select
+ value={formData.stageStatus}
+ onValueChange={(value) => setFormData({ ...formData, stageStatus: value })}
+ >
+ <SelectTrigger>
+ <SelectValue />
+ </SelectTrigger>
+ <SelectContent>
+ <SelectItem value="PLANNED">Planned</SelectItem>
+ <SelectItem value="IN_PROGRESS">In Progress</SelectItem>
+ <SelectItem value="SUBMITTED">Submitted</SelectItem>
+ <SelectItem value="COMPLETED">Completed</SelectItem>
+ </SelectContent>
+ </Select>
+ </div>
+ <div className="grid gap-2">
+ <Label htmlFor="edit-priority">
+ <Target className="inline w-4 h-4 mr-1" />
+ Priority
+ </Label>
+ <Select
+ value={formData.priority}
+ onValueChange={(value) => setFormData({ ...formData, priority: value })}
+ >
+ <SelectTrigger>
+ <SelectValue />
+ </SelectTrigger>
+ <SelectContent>
+ <SelectItem value="HIGH">High</SelectItem>
+ <SelectItem value="MEDIUM">Medium</SelectItem>
+ <SelectItem value="LOW">Low</SelectItem>
+ </SelectContent>
+ </Select>
+ </div>
+ </div>
+
+ <div className="grid gap-2">
+ <Label htmlFor="edit-assigneeName">
+ <User className="inline w-4 h-4 mr-1" />
+ Assignee
+ </Label>
+ <Input
+ id="edit-assigneeName"
+ value={formData.assigneeName}
+ onChange={(e) => setFormData({ ...formData, assigneeName: e.target.value })}
+ placeholder="Enter assignee name"
+ />
+ </div>
+
+ <div className="grid gap-2">
+ <Label htmlFor="edit-notes">Notes</Label>
+ <Textarea
+ id="edit-notes"
+ value={formData.notes}
+ onChange={(e) => setFormData({ ...formData, notes: e.target.value })}
+ placeholder="Additional notes"
+ rows={3}
+ />
+ </div>
+ </div>
+ </div>
+
+ <DialogFooter className="flex-shrink-0">
+ <Button variant="outline" onClick={() => onOpenChange(false)} disabled={isLoading}>
+ Cancel
+ </Button>
+ <Button onClick={handleSubmit} disabled={isLoading}>
+ {isLoading ? <Loader2 className="h-4 w-4 animate-spin mr-2" /> : null}
+ Save Changes
+ </Button>
+ </DialogFooter>
+ </DialogContent>
+ </Dialog>
+ )
+}
+
+// =============================================================================
+// 4. Excel Import Dialog (Updated with English text)
+// =============================================================================
+interface ExcelImportDialogProps {
+ open: boolean
+ onOpenChange: (open: boolean) => void
+ contractId: number
+ projectType: "ship" | "plant"
+}
+
+export function ExcelImportDialog({
+ open,
+ onOpenChange,
+ contractId,
+ projectType
+}: ExcelImportDialogProps) {
+ const [file, setFile] = React.useState<File | null>(null)
+ const [isUploading, setIsUploading] = React.useState(false)
+
+ const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {
+ const selectedFile = e.target.files?.[0]
+ if (selectedFile) {
+ setFile(selectedFile)
+ }
+ }
+
+ const handleImport = async () => {
+ if (!file) {
+ toast.error("Please select a file.")
+ return
+ }
+
+ setIsUploading(true)
+ try {
+ // TODO: API call to upload and process Excel file
+ toast.success("Excel file imported successfully.")
+ onOpenChange(false)
+ setFile(null)
+ } catch (error) {
+ toast.error("Error importing Excel file.")
+ } finally {
+ setIsUploading(false)
+ }
+ }
+
+ return (
+ <Dialog open={open} onOpenChange={onOpenChange}>
+ <DialogContent className="sm:max-w-[500px]">
+ <DialogHeader>
+ <DialogTitle>
+ <FileSpreadsheet className="inline w-5 h-5 mr-2" />
+ Import Excel File
+ </DialogTitle>
+ <DialogDescription>
+ Upload an Excel file containing document list for batch registration.
+ </DialogDescription>
+ </DialogHeader>
+
+ <div className="grid gap-4 py-4">
+ <div className="grid gap-2">
+ <Label htmlFor="excel-file">Select Excel File</Label>
+ <Input
+ id="excel-file"
+ type="file"
+ accept=".xlsx,.xls"
+ onChange={handleFileChange}
+ className="file:mr-4 file:py-2 file:px-4 file:rounded-full file:border-0 file:text-sm file:font-semibold file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100"
+ />
+ {file && (
+ <p className="text-sm text-gray-600 mt-1">
+ Selected file: {file.name}
+ </p>
+ )}
+ </div>
+
+ <div className="bg-blue-50 border border-blue-200 rounded-lg p-4">
+ <h4 className="font-medium text-blue-800 mb-2">File Format Guide</h4>
+ <div className="text-sm text-blue-700 space-y-1">
+ <p>• First row must be header row</p>
+ <p>• Required columns: Document Number, Document Title, Document Class</p>
+ {projectType === "plant" && (
+ <p>• Optional columns: Vendor Document Number, PIC</p>
+ )}
+ <p>• Supported formats: .xlsx, .xls</p>
+ </div>
+ </div>
+ </div>
+
+ <DialogFooter>
+ <Button variant="outline" onClick={() => onOpenChange(false)}>
+ Cancel
+ </Button>
+ <Button onClick={handleImport} disabled={!file || isUploading}>
+ {isUploading ? <Loader2 className="h-4 w-4 animate-spin mr-2" /> : null}
+ {isUploading ? "Importing..." : "Import"}
+ </Button>
+ </DialogFooter>
+ </DialogContent>
+ </Dialog>
+ )
+} \ No newline at end of file
diff --git a/lib/vendor-document-list/plant/document-stage-validations.ts b/lib/vendor-document-list/plant/document-stage-validations.ts
new file mode 100644
index 00000000..037293e3
--- /dev/null
+++ b/lib/vendor-document-list/plant/document-stage-validations.ts
@@ -0,0 +1,339 @@
+// document-stage-validations.ts
+import { z } from "zod"
+import {
+ createSearchParamsCache,
+ parseAsArrayOf,
+ parseAsInteger,
+ parseAsString,
+ parseAsStringEnum,
+} from "nuqs/server"
+import { getFiltersStateParser, getSortingStateParser } from "@/lib/parsers"
+import { DocumentStagesOnlyView } from "@/db/schema"
+
+// =============================================================================
+// 1. 문서 관련 스키마들
+// =============================================================================
+
+// 문서 생성 스키마
+export const createDocumentSchema = z.object({
+ contractId: z.number().min(1, "계약 ID는 필수입니다"),
+ docNumber: z.string().min(1, "문서번호는 필수입니다").max(100, "문서번호는 100자를 초과할 수 없습니다"),
+ title: z.string().min(1, "문서명은 필수입니다").max(255, "문서명은 255자를 초과할 수 없습니다"),
+ drawingKind: z.enum(["B3", "B4", "B5"], {
+ required_error: "문서종류를 선택해주세요",
+ }),
+ vendorDocNumber: z.string().max(100).optional(),
+ pic: z.string().max(50).optional(),
+ issuedDate: z.string().date().optional(),
+
+ // DOLCE 연동 정보
+ drawingMoveGbn: z.string().max(50).optional(),
+ discipline: z.string().max(10).optional(),
+ externalDocumentId: z.string().max(100).optional(),
+ externalSystemType: z.string().max(20).optional(),
+
+ // B4 전용 필드들
+ cGbn: z.string().max(50).optional(),
+ dGbn: z.string().max(50).optional(),
+ degreeGbn: z.string().max(50).optional(),
+ deptGbn: z.string().max(50).optional(),
+ jGbn: z.string().max(50).optional(),
+ sGbn: z.string().max(50).optional(),
+
+ // 추가 필드들
+ shiDrawingNo: z.string().max(100).optional(),
+ manager: z.string().max(100).optional(),
+ managerENM: z.string().max(100).optional(),
+ managerNo: z.string().max(50).optional(),
+})
+
+// 문서 업데이트 스키마
+export const updateDocumentSchema = createDocumentSchema.partial().extend({
+ id: z.number().min(1, "문서 ID는 필수입니다"),
+})
+
+// 문서 삭제 스키마
+export const deleteDocumentSchema = z.object({
+ id: z.number().min(1, "문서 ID는 필수입니다"),
+})
+
+// =============================================================================
+// 2. 스테이지 관련 스키마들
+// =============================================================================
+
+// 스테이지 생성 스키마
+export const createStageSchema = z.object({
+ documentId: z.number().min(1, "문서 ID는 필수입니다"),
+ stageName: z.string().min(1, "스테이지명은 필수입니다").max(100, "스테이지명은 100자를 초과할 수 없습니다"),
+ planDate: z.string().date().optional(),
+ stageStatus: z.enum(["PLANNED", "IN_PROGRESS", "SUBMITTED", "APPROVED", "REJECTED", "COMPLETED"], {
+ required_error: "스테이지 상태를 선택해주세요",
+ }).default("PLANNED"),
+ stageOrder: z.number().min(0).default(0),
+ priority: z.enum(["HIGH", "MEDIUM", "LOW"]).default("MEDIUM"),
+ assigneeId: z.number().optional(),
+ assigneeName: z.string().max(100).optional(),
+ reminderDays: z.number().min(0).max(30).default(3),
+ description: z.string().max(500).optional(),
+ notes: z.string().max(1000).optional(),
+})
+
+// 스테이지 업데이트 스키마
+export const updateStageSchema = createStageSchema.partial().extend({
+ id: z.number().min(1, "스테이지 ID는 필수입니다"),
+ actualDate: z.string().date().optional(),
+})
+
+// 스테이지 삭제 스키마
+export const deleteStageSchema = z.object({
+ id: z.number().min(1, "스테이지 ID는 필수입니다"),
+})
+
+// 스테이지 순서 변경 스키마
+export const reorderStagesSchema = z.object({
+ documentId: z.number().min(1, "문서 ID는 필수입니다"),
+ stages: z.array(z.object({
+ id: z.number().min(1),
+ stageOrder: z.number().min(0),
+ })).min(1, "최소 하나의 스테이지는 필요합니다"),
+})
+
+// =============================================================================
+// 3. 일괄 작업 스키마들
+// =============================================================================
+
+// 일괄 문서 생성 스키마 (엑셀 임포트용)
+export const bulkCreateDocumentsSchema = z.object({
+ contractId: z.number().min(1, "계약 ID는 필수입니다"),
+ documents: z.array(createDocumentSchema.omit({ contractId: true })).min(1, "최소 하나의 문서는 필요합니다"),
+})
+
+// 일괄 스테이지 생성 스키마
+export const bulkCreateStagesSchema = z.object({
+ documentId: z.number().min(1, "문서 ID는 필수입니다"),
+ stages: z.array(createStageSchema.omit({ documentId: true })).min(1, "최소 하나의 스테이지는 필요합니다"),
+})
+
+// 일괄 상태 업데이트 스키마
+export const bulkUpdateStatusSchema = z.object({
+ stageIds: z.array(z.number().min(1)).min(1, "최소 하나의 스테이지를 선택해주세요"),
+ status: z.enum(["PLANNED", "IN_PROGRESS", "SUBMITTED", "APPROVED", "REJECTED", "COMPLETED"]),
+ actualDate: z.string().date().optional(),
+})
+
+// 일괄 담당자 지정 스키마
+export const bulkAssignSchema = z.object({
+ stageIds: z.array(z.number().min(1)).min(1, "최소 하나의 스테이지를 선택해주세요"),
+ assigneeId: z.number().optional(),
+ assigneeName: z.string().max(100).optional(),
+})
+
+// =============================================================================
+// 4. 검색 및 필터링 스키마들
+// =============================================================================
+
+// 검색 파라미터 스키마 (Zod 검증용)
+export const searchParamsSchema = z.object({
+ page: z.coerce.number().default(1),
+ perPage: z.coerce.number().default(10),
+ sort: z.string().optional(),
+ search: z.string().optional(),
+ filters: z.string().optional(),
+ drawingKind: z.enum(["all", "B3", "B4", "B5"]).default("all"),
+ stageStatus: z.enum(["all", "PLANNED", "IN_PROGRESS", "SUBMITTED", "APPROVED", "REJECTED", "COMPLETED"]).default("all"),
+ priority: z.enum(["all", "HIGH", "MEDIUM", "LOW"]).default("all"),
+ isOverdue: z.enum(["all", "true", "false"]).default("all"),
+ assignee: z.string().optional(),
+ dateFrom: z.string().date().optional(),
+ dateTo: z.string().date().optional(),
+ joinOperator: z.enum(["and", "or"]).default("and"),
+})
+
+// 문서 스테이지 전용 검색 파라미터 캐시 (nuqs용)
+export const documentStageSearchParamsCache = createSearchParamsCache({
+ page: parseAsInteger.withDefault(1),
+ perPage: parseAsInteger.withDefault(10),
+ sort: getSortingStateParser<DocumentStagesOnlyView>().withDefault([
+ { id: "createdAt", desc: true },
+ ]),
+
+ // advanced filter
+ filters: getFiltersStateParser().withDefault([]),
+ joinOperator: parseAsStringEnum(["and", "or"]).withDefault("and"),
+ search: parseAsString.withDefault(""),
+
+ // 문서 스테이지 전용 필터들
+ drawingKind: parseAsStringEnum(["all", "B3", "B4", "B5"]).withDefault("all"),
+ stageStatus: parseAsStringEnum(["all", "PLANNED", "IN_PROGRESS", "SUBMITTED", "APPROVED", "REJECTED", "COMPLETED"]).withDefault("all"),
+ priority: parseAsStringEnum(["all", "HIGH", "MEDIUM", "LOW"]).withDefault("all"),
+ isOverdue: parseAsStringEnum(["all", "true", "false"]).withDefault("all"),
+ assignee: parseAsString.withDefault(""),
+ dateFrom: parseAsString.withDefault(""),
+ dateTo: parseAsString.withDefault(""),
+})
+
+// =============================================================================
+// 5. 엑셀 임포트 스키마들
+// =============================================================================
+
+// 엑셀 문서 행 스키마
+export const excelDocumentRowSchema = z.object({
+ "문서번호": z.string().min(1, "문서번호는 필수입니다"),
+ "문서명": z.string().min(1, "문서명은 필수입니다"),
+ "문서종류": z.enum(["B3", "B4", "B5"], {
+ required_error: "문서종류는 B3, B4, B5 중 하나여야 합니다",
+ }),
+ "벤더문서번호": z.string().optional(),
+ "PIC": z.string().optional(),
+ "발행일": z.string().optional(),
+ "벤더명": z.string().optional(),
+ "벤더코드": z.string().optional(),
+ // B4 전용 필드들
+ "C구분": z.string().optional(),
+ "D구분": z.string().optional(),
+ "Degree구분": z.string().optional(),
+ "부서구분": z.string().optional(),
+ "S구분": z.string().optional(),
+ "J구분": z.string().optional(),
+})
+
+// 엑셀 스테이지 행 스키마
+export const excelStageRowSchema = z.object({
+ "문서번호": z.string().min(1, "문서번호는 필수입니다"),
+ "스테이지명": z.string().min(1, "스테이지명은 필수입니다"),
+ "계획일": z.string().optional(),
+ "우선순위": z.enum(["HIGH", "MEDIUM", "LOW"]).optional(),
+ "담당자": z.string().optional(),
+ "설명": z.string().optional(),
+ "스테이지순서": z.coerce.number().optional(),
+})
+
+// 엑셀 임포트 결과 스키마
+export const excelImportResultSchema = z.object({
+ totalRows: z.number(),
+ successCount: z.number(),
+ failureCount: z.number(),
+ errors: z.array(z.object({
+ row: z.number(),
+ field: z.string().optional(),
+ message: z.string(),
+ })),
+ createdDocuments: z.array(z.object({
+ id: z.number(),
+ docNumber: z.string(),
+ title: z.string(),
+ })),
+})
+
+// =============================================================================
+// 6. API 응답 스키마들
+// =============================================================================
+
+// 표준 API 응답 스키마
+export const apiResponseSchema = <T extends z.ZodTypeAny>(dataSchema: T) =>
+ z.object({
+ success: z.boolean(),
+ data: dataSchema.optional(),
+ error: z.string().optional(),
+ message: z.string().optional(),
+ })
+
+// 페이지네이션 응답 스키마
+export const paginatedResponseSchema = <T extends z.ZodTypeAny>(dataSchema: T) =>
+ z.object({
+ data: z.array(dataSchema),
+ pageCount: z.number(),
+ total: z.number(),
+ page: z.number(),
+ perPage: z.number(),
+ })
+
+// =============================================================================
+// 7. 타입 추출
+// =============================================================================
+
+export type CreateDocumentInput = z.infer<typeof createDocumentSchema>
+export type UpdateDocumentInput = z.infer<typeof updateDocumentSchema>
+export type DeleteDocumentInput = z.infer<typeof deleteDocumentSchema>
+
+export type CreateStageInput = z.infer<typeof createStageSchema>
+export type UpdateStageInput = z.infer<typeof updateStageSchema>
+export type DeleteStageInput = z.infer<typeof deleteStageSchema>
+export type ReorderStagesInput = z.infer<typeof reorderStagesSchema>
+
+export type BulkCreateDocumentsInput = z.infer<typeof bulkCreateDocumentsSchema>
+export type BulkCreateStagesInput = z.infer<typeof bulkCreateStagesSchema>
+export type BulkUpdateStatusInput = z.infer<typeof bulkUpdateStatusSchema>
+export type BulkAssignInput = z.infer<typeof bulkAssignSchema>
+
+export type SearchParamsInput = z.infer<typeof searchParamsSchema>
+export type ExcelDocumentRow = z.infer<typeof excelDocumentRowSchema>
+export type ExcelStageRow = z.infer<typeof excelStageRowSchema>
+export type ExcelImportResult = z.infer<typeof excelImportResultSchema>
+
+// =============================================================================
+// 8. 유틸리티 함수들
+// =============================================================================
+
+// 문서번호 유효성 검사 (프로젝트별 규칙)
+export const validateDocNumber = (docNumber: string, projectType: "ship" | "plant") => {
+ if (projectType === "ship") {
+ // Ship 프로젝트: 특정 패턴 검사
+ const shipPattern = /^[A-Z]{2,4}-\d{4}-\d{3}$/
+ return shipPattern.test(docNumber)
+ } else {
+ // Plant 프로젝트: 더 유연한 패턴
+ const plantPattern = /^[A-Z0-9-]{5,20}$/
+ return plantPattern.test(docNumber)
+ }
+}
+
+// B4 필드 유효성 검사
+export const validateB4Fields = (data: Partial<CreateDocumentInput>) => {
+ if (data.drawingKind === "B4") {
+ const requiredB4Fields = ["cGbn", "dGbn", "deptGbn"]
+ const missingFields = requiredB4Fields.filter(field =>
+ !data[field as keyof typeof data] ||
+ String(data[field as keyof typeof data]).trim() === ""
+ )
+
+ if (missingFields.length > 0) {
+ throw new Error(`B4 문서는 다음 필드가 필수입니다: ${missingFields.join(", ")}`)
+ }
+ }
+}
+
+// 스테이지 순서 유효성 검사
+export const validateStageOrder = (stages: { id: number; stageOrder: number }[]) => {
+ const orders = stages.map(s => s.stageOrder)
+ const uniqueOrders = new Set(orders)
+
+ if (orders.length !== uniqueOrders.size) {
+ throw new Error("스테이지 순서는 중복될 수 없습니다")
+ }
+
+ const sortedOrders = [...orders].sort((a, b) => a - b)
+ const expectedOrders = Array.from({ length: orders.length }, (_, i) => i)
+
+ if (JSON.stringify(sortedOrders) !== JSON.stringify(expectedOrders)) {
+ throw new Error("스테이지 순서는 0부터 연속된 숫자여야 합니다")
+ }
+}
+
+// 날짜 유효성 검사
+export const validateDateRange = (startDate?: string, endDate?: string) => {
+ if (startDate && endDate) {
+ const start = new Date(startDate)
+ const end = new Date(endDate)
+
+ if (start > end) {
+ throw new Error("시작일은 종료일보다 이전이어야 합니다")
+ }
+
+ // 최대 1년 범위 제한
+ const oneYearInMs = 365 * 24 * 60 * 60 * 1000
+ if (end.getTime() - start.getTime() > oneYearInMs) {
+ throw new Error("날짜 범위는 최대 1년까지 가능합니다")
+ }
+ }
+} \ No newline at end of file
diff --git a/lib/vendor-document-list/plant/document-stages-columns.tsx b/lib/vendor-document-list/plant/document-stages-columns.tsx
new file mode 100644
index 00000000..d39af4e8
--- /dev/null
+++ b/lib/vendor-document-list/plant/document-stages-columns.tsx
@@ -0,0 +1,521 @@
+"use client"
+
+import * as React from "react"
+import { ColumnDef } from "@tanstack/react-table"
+import { formatDate, formatDateTime } from "@/lib/utils"
+import { Checkbox } from "@/components/ui/checkbox"
+import { DataTableColumnHeaderSimple } from "@/components/data-table/data-table-column-simple-header"
+import { DataTableRowAction } from "@/types/table"
+import { DocumentStagesOnlyView } from "@/db/schema"
+import {
+ DropdownMenu,
+ DropdownMenuContent,
+ DropdownMenuItem,
+ DropdownMenuSeparator,
+ DropdownMenuShortcut,
+ DropdownMenuTrigger,
+} from "@/components/ui/dropdown-menu"
+import { Button } from "@/components/ui/button"
+import { Badge } from "@/components/ui/badge"
+import { Progress } from "@/components/ui/progress"
+import {
+ Ellipsis,
+ AlertTriangle,
+ Clock,
+ CheckCircle,
+ Calendar,
+ User,
+ Eye,
+ Edit,
+ Plus,
+ Trash2
+} from "lucide-react"
+import { cn } from "@/lib/utils"
+
+interface GetColumnsProps {
+ setRowAction: React.Dispatch<React.SetStateAction<DataTableRowAction<DocumentStagesOnlyView> | null>>
+ projectType: string
+}
+
+// 유틸리티 함수들
+const getStatusColor = (status: string, isOverdue = false) => {
+ if (isOverdue) return 'destructive'
+ switch (status) {
+ case 'COMPLETED': case 'APPROVED': return 'success'
+ case 'IN_PROGRESS': return 'default'
+ case 'SUBMITTED': case 'UNDER_REVIEW': return 'secondary'
+ case 'REJECTED': return 'destructive'
+ default: return 'outline'
+ }
+}
+
+const getPriorityColor = (priority: string) => {
+ switch (priority) {
+ case 'HIGH': return 'destructive'
+ case 'MEDIUM': return 'default'
+ case 'LOW': return 'secondary'
+ default: return 'outline'
+ }
+}
+
+const getStatusText = (status: string) => {
+ switch (status) {
+ case 'PLANNED': return 'Planned'
+ case 'IN_PROGRESS': return 'In Progress'
+ case 'SUBMITTED': return 'Submitted'
+ case 'UNDER_REVIEW': return 'Under Review'
+ case 'APPROVED': return 'Approved'
+ case 'REJECTED': return 'Rejected'
+ case 'COMPLETED': return 'Completed'
+ default: return status
+ }
+}
+
+const getPriorityText = (priority: string) => {
+ switch (priority) {
+ case 'HIGH': return 'High'
+ case 'MEDIUM': return 'Medium'
+ case 'LOW': return 'Low'
+ default: priority
+ }
+}
+
+// 마감일 정보 컴포넌트 (콤팩트)
+const DueDateInfo = ({
+ daysUntilDue,
+ isOverdue,
+ className = ""
+}: {
+ daysUntilDue: number | null
+ isOverdue: boolean
+ className?: string
+}) => {
+ if (isOverdue && daysUntilDue !== null && daysUntilDue < 0) {
+ return (
+ <span className={cn("inline-flex items-center gap-1 text-red-600 text-xs", className)}>
+ <AlertTriangle className="w-3 h-3" />
+ {Math.abs(daysUntilDue)}d overdue
+ </span>
+ )
+ }
+
+ if (daysUntilDue === 0) {
+ return (
+ <span className={cn("inline-flex items-center gap-1 text-orange-600 text-xs", className)}>
+ <Clock className="w-3 h-3" />
+ Due today
+ </span>
+ )
+ }
+
+ if (daysUntilDue && daysUntilDue > 0 && daysUntilDue <= 3) {
+ return (
+ <span className={cn("inline-flex items-center gap-1 text-orange-600 text-xs", className)}>
+ <Clock className="w-3 h-3" />
+ {daysUntilDue}d left
+ </span>
+ )
+ }
+
+ if (daysUntilDue && daysUntilDue > 0) {
+ return (
+ <span className={cn("inline-flex items-center gap-1 text-gray-500 text-xs", className)}>
+ <Calendar className="w-3 h-3" />
+ {daysUntilDue}d
+ </span>
+ )
+ }
+
+ return (
+ <span className={cn("inline-flex items-center gap-1 text-green-600 text-xs", className)}>
+ <CheckCircle className="w-3 h-3" />
+ Done
+ </span>
+ )
+}
+
+export function getDocumentStagesColumns({
+ setRowAction,
+ projectType
+}: GetColumnsProps): ColumnDef<DocumentStagesOnlyView>[] {
+ const isPlantProject = projectType === "plant"
+
+ const columns: ColumnDef<DocumentStagesOnlyView>[] = [
+ // 체크박스 선택
+ {
+ id: "select",
+ header: ({ table }) => (
+ <Checkbox
+ checked={
+ table.getIsAllPageRowsSelected() ||
+ (table.getIsSomePageRowsSelected() && "indeterminate")
+ }
+ onCheckedChange={(value) => table.toggleAllPageRowsSelected(!!value)}
+ aria-label="Select all"
+ className="translate-y-0.5"
+ />
+ ),
+ cell: ({ row }) => (
+ <Checkbox
+ checked={row.getIsSelected()}
+ onCheckedChange={(value) => row.toggleSelected(!!value)}
+ aria-label="Select row"
+ className="translate-y-0.5"
+ />
+ ),
+ size: 40,
+ enableSorting: false,
+ enableHiding: false,
+ },
+ {
+ accessorKey: "projectCode",
+ header: ({ column }) => (
+ <DataTableColumnHeaderSimple column={column} title="Project" />
+ ),
+ cell: ({ row }) => {
+ const doc = row.original
+ return (
+ <span className="text-sm font-medium">{doc.projectCode}</span>
+ )
+ },
+ size: 140,
+ enableResizing: true,
+ meta: {
+ excelHeader: "Project"
+ },
+ },
+
+
+
+ // 문서번호
+ {
+ accessorKey: "docNumber",
+ header: ({ column }) => (
+ <DataTableColumnHeaderSimple column={column} title="Document Number" />
+ ),
+ cell: ({ row }) => {
+ const doc = row.original
+ return (
+ <span className="font-mono text-sm font-medium">{doc.docNumber}</span>
+ )
+ },
+ size: 140,
+ enableResizing: true,
+ meta: {
+ excelHeader: "Document Number"
+ },
+ },
+
+ // 문서명 (PIC 포함)
+ {
+ accessorKey: "title",
+ header: ({ column }) => (
+ <DataTableColumnHeaderSimple column={column} title="Document Name" />
+ ),
+ cell: ({ row }) => {
+ const doc = row.original
+ return (
+ <div className="min-w-0 flex-1">
+ <div className="font-medium text-gray-900 truncate text-sm" title={doc.title}>
+ {doc.title}
+ </div>
+ {doc.pic && (
+ <span className="text-xs text-gray-500 bg-gray-100 px-1.5 py-0.5 rounded mt-1 inline-block">
+ PIC: {doc.pic}
+ </span>
+ )}
+ </div>
+ )
+ },
+ size: 220,
+ enableResizing: true,
+ meta: {
+ excelHeader: "Document Name"
+ },
+ },
+ ]
+
+ // Plant 프로젝트용 추가 컬럼들
+ if (isPlantProject) {
+ columns.push(
+ // 벤더 문서번호
+ {
+ accessorKey: "vendorDocNumber",
+ header: ({ column }) => (
+ <DataTableColumnHeaderSimple column={column} title="Vendor Doc No." />
+ ),
+ cell: ({ row }) => {
+ const doc = row.original
+ return doc.vendorDocNumber ? (
+ <span className="font-mono text-sm text-blue-600">{doc.vendorDocNumber}</span>
+ ) : (
+ <span className="text-gray-400 text-sm">-</span>
+ )
+ },
+ size: 120,
+ enableResizing: true,
+ meta: {
+ excelHeader: "Vendor Doc No."
+ },
+ },
+
+ )
+ }
+
+ // 나머지 공통 컬럼들
+ columns.push(
+ // 현재 스테이지 (상태, 담당자 한 줄)
+ {
+ accessorKey: "currentStageName",
+ header: ({ column }) => (
+ <DataTableColumnHeaderSimple column={column} title="Current Stage" />
+ ),
+ cell: ({ row }) => {
+ const doc = row.original
+ if (!doc.currentStageName) {
+ return (
+ <Button
+ size="sm"
+ variant="outline"
+ onClick={(e) => {
+ e.stopPropagation()
+ setRowAction({ row, type: "add_stage" })
+ }}
+ className="h-6 text-xs"
+ >
+ <Plus className="w-3 h-3 mr-1" />
+ Add stage
+ </Button>
+ )
+ }
+
+ return (
+ <div className="flex items-center gap-2">
+ <span className="text-sm font-medium truncate" title={doc.currentStageName}>
+ {doc.currentStageName}
+ </span>
+ <Badge
+ variant={getStatusColor(doc.currentStageStatus || '', doc.isOverdue || false)}
+ className="text-xs px-1.5 py-0"
+ >
+ {getStatusText(doc.currentStageStatus || '')}
+ </Badge>
+ {doc.currentStageAssigneeName && (
+ <span className="text-xs text-gray-500 flex items-center gap-1">
+ <User className="w-3 h-3" />
+ {doc.currentStageAssigneeName}
+ </span>
+ )}
+ </div>
+ )
+ },
+ size: 180,
+ enableResizing: true,
+ meta: {
+ excelHeader: "Current Stage"
+ },
+ },
+
+ // 계획 일정 (한 줄)
+ {
+ accessorKey: "currentStagePlanDate",
+ header: ({ column }) => (
+ <DataTableColumnHeaderSimple column={column} title="Plan Date" />
+ ),
+ cell: ({ row }) => {
+ const doc = row.original
+ if (!doc.currentStagePlanDate) return <span className="text-gray-400">-</span>
+
+ return (
+ <div className="flex items-center gap-2">
+ <span className="text-sm">{formatDate(doc.currentStagePlanDate, 'MM/dd')}</span>
+ <DueDateInfo
+ daysUntilDue={doc.daysUntilDue}
+ isOverdue={doc.isOverdue || false}
+ />
+ </div>
+ )
+ },
+ size: 120,
+ enableResizing: true,
+ meta: {
+ excelHeader: "Plan Date"
+ },
+ },
+
+ // 우선순위 + 진행률 (콤팩트)
+ {
+ accessorKey: "progressPercentage",
+ header: ({ column }) => (
+ <DataTableColumnHeaderSimple column={column} title="Priority/Progress" />
+ ),
+ cell: ({ row }) => {
+ const doc = row.original
+ const progress = doc.progressPercentage || 0
+ const completed = doc.completedStages || 0
+ const total = doc.totalStages || 0
+
+ return (
+ <div className="flex items-center gap-2">
+ {doc.currentStagePriority && (
+ <Badge
+ variant={getPriorityColor(doc.currentStagePriority)}
+ className="text-xs px-1.5 py-0"
+ >
+ {getPriorityText(doc.currentStagePriority)}
+ </Badge>
+ )}
+ <div className="flex items-center gap-1">
+ <Progress value={progress} className="w-12 h-1.5" />
+ <span className="text-xs text-gray-600 min-w-[2rem]">
+ {progress}%
+ </span>
+ </div>
+ <span className="text-xs text-gray-500">
+ ({completed}/{total})
+ </span>
+ </div>
+ )
+ },
+ size: 140,
+ enableResizing: true,
+ meta: {
+ excelHeader: "Progress"
+ },
+ },
+
+ // 업데이트 일시
+ {
+ accessorKey: "updatedAt",
+ header: ({ column }) => (
+ <DataTableColumnHeaderSimple column={column} title="Updated At" />
+ ),
+ cell: ({ cell }) => (
+ <span className="text-xs text-gray-600">
+ {formatDateTime(cell.getValue() as Date)}
+ </span>
+ ),
+ size: 80,
+ enableResizing: true,
+ meta: {
+ excelHeader: "Updated At"
+ },
+ },
+
+ // 액션 메뉴
+ {
+ id: "actions",
+ enableHiding: false,
+ cell: function Cell({ row }) {
+ const doc = row.original
+ const hasStages = doc.totalStages && doc.totalStages > 0
+
+ const viewActions = [
+ {
+ key: "view",
+ label: "View Stage Details",
+ icon: Eye,
+ action: () => setRowAction({ row, type: "view" }),
+ show: hasStages
+ }
+ ]
+
+ const manageActions = [
+ {
+ key: "edit_document",
+ label: "Edit Document",
+ icon: Edit,
+ action: () => setRowAction({ row, type: "edit_document" }),
+ show: true
+ }
+ ]
+
+ const dangerActions = [
+ {
+ key: "delete",
+ label: "Delete Document",
+ icon: Trash2,
+ action: () => setRowAction({ row, type: "delete" }),
+ show: true,
+ className: "text-red-600",
+ shortcut: "⌘⌫"
+ }
+ ]
+
+ const hasViewActions = viewActions.some(action => action.show)
+ const hasManageActions = manageActions.some(action => action.show)
+ const hasDangerActions = dangerActions.some(action => action.show)
+
+ return (
+ <DropdownMenu>
+ <DropdownMenuTrigger asChild>
+ <Button
+ aria-label="Open menu"
+ variant="ghost"
+ className="flex size-6 p-0 data-[state=open]:bg-muted"
+ >
+ <Ellipsis className="size-3" aria-hidden="true" />
+ </Button>
+ </DropdownMenuTrigger>
+ <DropdownMenuContent align="end" className="w-40">
+ {hasViewActions && (
+ <>
+ {viewActions.map(action => action.show && (
+ <DropdownMenuItem
+ key={action.key}
+ onSelect={action.action}
+ className={action.className}
+ >
+ <action.icon className="mr-2 h-3 w-3" />
+ <span className="text-xs">{action.label}</span>
+ {action.shortcut && (
+ <DropdownMenuShortcut>{action.shortcut}</DropdownMenuShortcut>
+ )}
+ </DropdownMenuItem>
+ ))}
+ {hasManageActions && <DropdownMenuSeparator />}
+ </>
+ )}
+
+ {manageActions.map(action => action.show && (
+ <DropdownMenuItem
+ key={action.key}
+ onSelect={action.action}
+ className={action.className}
+ >
+ <action.icon className="mr-2 h-3 w-3" />
+ <span className="text-xs">{action.label}</span>
+ {action.shortcut && (
+ <DropdownMenuShortcut>{action.shortcut}</DropdownMenuShortcut>
+ )}
+ </DropdownMenuItem>
+ ))}
+
+ {hasDangerActions && (
+ <>
+ <DropdownMenuSeparator />
+ {dangerActions.map(action => action.show && (
+ <DropdownMenuItem
+ key={action.key}
+ onSelect={action.action}
+ className={action.className}
+ >
+ <action.icon className="mr-2 h-3 w-3" />
+ <span className="text-xs">{action.label}</span>
+ {action.shortcut && (
+ <DropdownMenuShortcut>{action.shortcut}</DropdownMenuShortcut>
+ )}
+ </DropdownMenuItem>
+ ))}
+ </>
+ )}
+ </DropdownMenuContent>
+ </DropdownMenu>
+ )
+ },
+ size: 40,
+ }
+ )
+
+ return columns
+} \ No newline at end of file
diff --git a/lib/vendor-document-list/plant/document-stages-expanded-content.tsx b/lib/vendor-document-list/plant/document-stages-expanded-content.tsx
new file mode 100644
index 00000000..2f6b637c
--- /dev/null
+++ b/lib/vendor-document-list/plant/document-stages-expanded-content.tsx
@@ -0,0 +1,136 @@
+"use client"
+
+import React from "react"
+import { DocumentStagesOnlyView } from "@/db/schema"
+import { Badge } from "@/components/ui/badge"
+import { Button } from "@/components/ui/button"
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
+import { Progress } from "@/components/ui/progress"
+import {
+ Calendar,
+ CheckCircle,
+ Edit,
+ FileText
+} from "lucide-react"
+import { formatDate } from "@/lib/utils"
+import { cn } from "@/lib/utils"
+
+interface DocumentStagesExpandedContentProps {
+ document: DocumentStagesOnlyView
+ onEditStage: (stageId: number) => void
+ projectType: "ship" | "plant"
+}
+
+// 상태별 색상 및 텍스트 유틸리티
+const getStatusVariant = (status: string) => {
+ switch (status) {
+ case 'COMPLETED': return 'success'
+ case 'IN_PROGRESS': return 'default'
+ case 'SUBMITTED': return 'secondary'
+ case 'REJECTED': return 'destructive'
+ default: return 'outline'
+ }
+}
+
+const getStatusText = (status: string) => {
+ switch (status) {
+ case 'PLANNED': return '계획'
+ case 'IN_PROGRESS': return '진행중'
+ case 'SUBMITTED': return '제출'
+ case 'COMPLETED': return '완료'
+ case 'REJECTED': return '반려'
+ default: return status
+ }
+}
+
+export function DocumentStagesExpandedContent({
+ document,
+ onEditStage,
+ projectType
+}: DocumentStagesExpandedContentProps) {
+ const stages = document.allStages || []
+ const sortedStages = stages.sort((a, b) => a.stageOrder - b.stageOrder)
+
+ return (
+ <div className="bg-gray-50 border-t p-3">
+ {stages.length === 0 ? (
+ <div className="text-center py-3 text-gray-500 text-sm">
+ 등록된 스테이지가 없습니다.
+ </div>
+ ) : (
+ <div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 gap-2">
+ {sortedStages.map((stage, index) => {
+ const isCurrentStage = stage.id === document.currentStageId
+ const planDate = stage.planDate ? new Date(stage.planDate) : null
+ const actualDate = stage.actualDate ? new Date(stage.actualDate) : null
+
+ return (
+ <div
+ key={stage.id}
+ className={cn(
+ "relative p-2 rounded-md border text-xs transition-colors hover:shadow-sm",
+ isCurrentStage
+ ? "bg-blue-50 border-blue-200"
+ : "bg-white border-gray-200"
+ )}
+ >
+ {/* 스테이지 순서 */}
+ <div className="absolute -top-1 -left-1 bg-gray-600 text-white rounded-full w-4 h-4 flex items-center justify-center text-xs font-medium">
+ {index + 1}
+ </div>
+
+ {/* 스테이지명 */}
+ <div className="mb-2 pr-6">
+ <div className="font-medium text-sm truncate" title={stage.stageName}>
+ {stage.stageName}
+ </div>
+ {isCurrentStage && (
+ <Badge variant="default" className="text-xs px-1 py-0 mt-1">
+ 현재
+ </Badge>
+ )}
+ </div>
+
+ {/* 상태 */}
+ <div className="mb-2">
+ <Badge
+ variant={getStatusVariant(stage.stageStatus)}
+ className="text-xs px-1.5 py-0"
+ >
+ {getStatusText(stage.stageStatus)}
+ </Badge>
+ </div>
+
+ {/* 날짜 정보 */}
+ <div className="space-y-1 text-xs text-gray-600 mb-2">
+ {planDate && (
+ <div className="flex items-center gap-1">
+ <Calendar className="h-3 w-3" />
+ <span>계획: {formatDate(planDate.toISOString(), 'MM/dd')}</span>
+ </div>
+ )}
+ {actualDate && (
+ <div className="flex items-center gap-1">
+ <CheckCircle className="h-3 w-3 text-green-500" />
+ <span>실적: {formatDate(actualDate.toISOString(), 'MM/dd')}</span>
+ </div>
+ )}
+ </div>
+
+ {/* 편집 버튼 */}
+ <Button
+ size="sm"
+ variant="ghost"
+ onClick={() => onEditStage(stage.id)}
+ className="absolute top-1 right-1 h-5 w-5 p-0 hover:bg-gray-100"
+ >
+ <Edit className="h-3 w-3" />
+ </Button>
+ </div>
+ )
+ })}
+ </div>
+ )}
+ </div>
+ )
+} \ No newline at end of file
diff --git a/lib/vendor-document-list/plant/document-stages-service.ts b/lib/vendor-document-list/plant/document-stages-service.ts
new file mode 100644
index 00000000..2fd20fa4
--- /dev/null
+++ b/lib/vendor-document-list/plant/document-stages-service.ts
@@ -0,0 +1,1097 @@
+// document-stage-actions.ts
+"use server"
+
+import { revalidatePath, revalidateTag } from "next/cache"
+import { redirect } from "next/navigation"
+import db from "@/db/db"
+import { codeGroups, comboBoxSettings, documentClassOptions, documentClasses, documentNumberTypeConfigs, documentNumberTypes, documentStagesOnlyView, documents, issueStages } from "@/db/schema"
+import { and, eq, asc, desc, sql, inArray, max } from "drizzle-orm"
+import {
+ createDocumentSchema,
+ updateDocumentSchema,
+ deleteDocumentSchema,
+ createStageSchema,
+ updateStageSchema,
+ deleteStageSchema,
+ reorderStagesSchema,
+ bulkCreateDocumentsSchema,
+ bulkUpdateStatusSchema,
+ bulkAssignSchema,
+ validateDocNumber,
+ validateB4Fields,
+ validateStageOrder,
+ type CreateDocumentInput,
+ type UpdateDocumentInput,
+ type CreateStageInput,
+ type UpdateStageInput,
+ type ExcelImportResult,
+} from "./document-stage-validations"
+import { unstable_noStore as noStore } from "next/cache"
+import { filterColumns } from "@/lib/filter-columns"
+import { GetEnhancedDocumentsSchema } from "../enhanced-document-service"
+import { countDocumentStagesOnly, selectDocumentStagesOnly } from "../repository"
+
+// =============================================================================
+// 1. 문서 관련 액션들
+// =============================================================================
+
+// 문서 생성
+// export async function createDocument(input: CreateDocumentInput) {
+// noStore()
+
+// try {
+// // 입력값 검증
+// const validatedData = createDocumentSchema.parse(input)
+
+// // 프로젝트 타입 확인 (계약 정보에서 가져와야 함)
+// const contract = await db.query.contracts.findFirst({
+// where: eq(documents.contractId, validatedData.contractId),
+// with: { project: true }
+// })
+
+// if (!contract) {
+// throw new Error("계약 정보를 찾을 수 없습니다")
+// }
+
+// const projectType = contract.project?.type === "plant" ? "plant" : "ship"
+
+// // 문서번호 유효성 검사
+// if (!validateDocNumber(validatedData.docNumber, projectType)) {
+// throw new Error(`${projectType === "ship" ? "선박" : "플랜트"} 프로젝트의 문서번호 형식에 맞지 않습니다`)
+// }
+
+// // B4 필드 유효성 검사
+// validateB4Fields(validatedData)
+
+// // 문서번호 중복 검사
+// const existingDoc = await db.query.documents.findFirst({
+// where: and(
+// eq(documents.contractId, validatedData.contractId),
+// eq(documents.docNumber, validatedData.docNumber),
+// eq(documents.status, "ACTIVE")
+// )
+// })
+
+// if (existingDoc) {
+// throw new Error("이미 존재하는 문서번호입니다")
+// }
+
+// // 문서 생성
+// const [newDocument] = await db.insert(documents).values({
+// contractId: validatedData.contractId,
+// docNumber: validatedData.docNumber,
+// title: validatedData.title,
+// drawingKind: validatedData.drawingKind,
+// vendorDocNumber: validatedData.vendorDocNumber || null,
+// pic: validatedData.pic || null,
+// issuedDate: validatedData.issuedDate || null,
+// drawingMoveGbn: validatedData.drawingMoveGbn || null,
+// discipline: validatedData.discipline || null,
+// externalDocumentId: validatedData.externalDocumentId || null,
+// externalSystemType: validatedData.externalSystemType || null,
+// cGbn: validatedData.cGbn || null,
+// dGbn: validatedData.dGbn || null,
+// degreeGbn: validatedData.degreeGbn || null,
+// deptGbn: validatedData.deptGbn || null,
+// jGbn: validatedData.jGbn || null,
+// sGbn: validatedData.sGbn || null,
+// shiDrawingNo: validatedData.shiDrawingNo || null,
+// manager: validatedData.manager || null,
+// managerENM: validatedData.managerENM || null,
+// managerNo: validatedData.managerNo || null,
+// status: "ACTIVE",
+// createdAt: new Date(),
+// updatedAt: new Date(),
+// }).returning()
+
+// // 캐시 무효화
+// revalidateTag(`documents-${validatedData.contractId}`)
+// revalidatePath(`/contracts/${validatedData.contractId}/documents`)
+
+// return {
+// success: true,
+// data: newDocument,
+// message: "문서가 성공적으로 생성되었습니다"
+// }
+
+// } catch (error) {
+// console.error("Error creating document:", error)
+// return {
+// success: false,
+// error: error instanceof Error ? error.message : "문서 생성 중 오류가 발생했습니다"
+// }
+// }
+// }
+
+// 문서 수정
+export async function updateDocument(input: UpdateDocumentInput) {
+ noStore()
+
+ try {
+ const validatedData = updateDocumentSchema.parse(input)
+
+ // 문서 존재 확인
+ const existingDoc = await db.query.documents.findFirst({
+ where: eq(documents.id, validatedData.id)
+ })
+
+ if (!existingDoc) {
+ throw new Error("문서를 찾을 수 없습니다")
+ }
+
+ // B4 필드 유효성 검사 (drawingKind 변경 시)
+ if (validatedData.drawingKind) {
+ validateB4Fields(validatedData)
+ }
+
+ // 문서번호 중복 검사 (문서번호 변경 시)
+ if (validatedData.docNumber && validatedData.docNumber !== existingDoc.docNumber) {
+ const duplicateDoc = await db.query.documents.findFirst({
+ where: and(
+ eq(documents.contractId, existingDoc.contractId),
+ eq(documents.docNumber, validatedData.docNumber),
+ eq(documents.status, "ACTIVE")
+ )
+ })
+
+ if (duplicateDoc) {
+ throw new Error("이미 존재하는 문서번호입니다")
+ }
+ }
+
+ // 문서 업데이트
+ const [updatedDocument] = await db
+ .update(documents)
+ .set({
+ ...validatedData,
+ updatedAt: new Date(),
+ })
+ .where(eq(documents.id, validatedData.id))
+ .returning()
+
+ // 캐시 무효화
+ revalidateTag(`documents-${existingDoc.contractId}`)
+ revalidatePath(`/contracts/${existingDoc.contractId}/documents`)
+
+ return {
+ success: true,
+ data: updatedDocument,
+ message: "문서가 성공적으로 수정되었습니다"
+ }
+
+ } catch (error) {
+ console.error("Error updating document:", error)
+ return {
+ success: false,
+ error: error instanceof Error ? error.message : "문서 수정 중 오류가 발생했습니다"
+ }
+ }
+}
+
+// 문서 삭제 (소프트 삭제)
+export async function deleteDocument(input: { id: number }) {
+ noStore()
+
+ try {
+ const validatedData = deleteDocumentSchema.parse(input)
+
+ // 문서 존재 확인
+ const existingDoc = await db.query.documents.findFirst({
+ where: eq(documents.id, validatedData.id)
+ })
+
+ if (!existingDoc) {
+ throw new Error("문서를 찾을 수 없습니다")
+ }
+
+ // 연관된 스테이지 확인
+ const relatedStages = await db.query.issueStages.findMany({
+ where: eq(issueStages.documentId, validatedData.id)
+ })
+
+ if (relatedStages.length > 0) {
+ throw new Error("연관된 스테이지가 있는 문서는 삭제할 수 없습니다. 먼저 스테이지를 삭제해주세요.")
+ }
+
+ // 소프트 삭제 (상태 변경)
+ await db
+ .update(documents)
+ .set({
+ status: "DELETED",
+ updatedAt: new Date(),
+ })
+ .where(eq(documents.id, validatedData.id))
+
+ // 캐시 무효화
+ revalidateTag(`documents-${existingDoc.contractId}`)
+ revalidatePath(`/contracts/${existingDoc.contractId}/documents`)
+
+ return {
+ success: true,
+ message: "문서가 성공적으로 삭제되었습니다"
+ }
+
+ } catch (error) {
+ console.error("Error deleting document:", error)
+ return {
+ success: false,
+ error: error instanceof Error ? error.message : "문서 삭제 중 오류가 발생했습니다"
+ }
+ }
+}
+
+// =============================================================================
+// 2. 스테이지 관련 액션들
+// =============================================================================
+
+// 스테이지 생성
+export async function createStage(input: CreateStageInput) {
+ noStore()
+
+ try {
+ const validatedData = createStageSchema.parse(input)
+
+ // 문서 존재 확인
+ const document = await db.query.documents.findFirst({
+ where: eq(documents.id, validatedData.documentId)
+ })
+
+ if (!document) {
+ throw new Error("문서를 찾을 수 없습니다")
+ }
+
+ // 스테이지명 중복 검사
+ const existingStage = await db.query.issueStages.findFirst({
+ where: and(
+ eq(issueStages.documentId, validatedData.documentId),
+ eq(issueStages.stageName, validatedData.stageName)
+ )
+ })
+
+ if (existingStage) {
+ throw new Error("이미 존재하는 스테이지명입니다")
+ }
+
+ // 스테이지 순서 자동 설정 (제공되지 않은 경우)
+ let stageOrder = validatedData.stageOrder
+ if (stageOrder === 0 || stageOrder === undefined) {
+ const maxOrderResult = await db
+ .select({ maxOrder: max(issueStages.stageOrder) })
+ .from(issueStages)
+ .where(eq(issueStages.documentId, validatedData.documentId))
+
+ stageOrder = (maxOrderResult[0]?.maxOrder ?? -1) + 1
+ }
+
+ // 스테이지 생성
+ const [newStage] = await db.insert(issueStages).values({
+ documentId: validatedData.documentId,
+ stageName: validatedData.stageName,
+ planDate: validatedData.planDate || null,
+ stageStatus: validatedData.stageStatus,
+ stageOrder,
+ priority: validatedData.priority,
+ assigneeId: validatedData.assigneeId || null,
+ assigneeName: validatedData.assigneeName || null,
+ reminderDays: validatedData.reminderDays,
+ description: validatedData.description || null,
+ notes: validatedData.notes || null,
+ createdAt: new Date(),
+ updatedAt: new Date(),
+ }).returning()
+
+ // 캐시 무효화
+ revalidateTag(`documents-${document.contractId}`)
+ revalidateTag(`document-${validatedData.documentId}`)
+ revalidatePath(`/contracts/${document.contractId}/documents`)
+
+ return {
+ success: true,
+ data: newStage,
+ message: "스테이지가 성공적으로 생성되었습니다"
+ }
+
+ } catch (error) {
+ console.error("Error creating stage:", error)
+ return {
+ success: false,
+ error: error instanceof Error ? error.message : "스테이지 생성 중 오류가 발생했습니다"
+ }
+ }
+}
+
+// 스테이지 수정
+export async function updateStage(input: UpdateStageInput) {
+ noStore()
+
+ try {
+ const validatedData = updateStageSchema.parse(input)
+
+ // 스테이지 존재 확인
+ const existingStage = await db.query.issueStages.findFirst({
+ where: eq(issueStages.id, validatedData.id),
+ with: {
+ document: true
+ }
+ })
+
+ if (!existingStage) {
+ throw new Error("스테이지를 찾을 수 없습니다")
+ }
+
+ // 스테이지명 중복 검사 (스테이지명 변경 시)
+ if (validatedData.stageName && validatedData.stageName !== existingStage.stageName) {
+ const duplicateStage = await db.query.issueStages.findFirst({
+ where: and(
+ eq(issueStages.documentId, existingStage.documentId),
+ eq(issueStages.stageName, validatedData.stageName)
+ )
+ })
+
+ if (duplicateStage) {
+ throw new Error("이미 존재하는 스테이지명입니다")
+ }
+ }
+
+ // 스테이지 업데이트
+ const [updatedStage] = await db
+ .update(issueStages)
+ .set({
+ ...validatedData,
+ updatedAt: new Date(),
+ })
+ .where(eq(issueStages.id, validatedData.id))
+ .returning()
+
+ // 캐시 무효화
+ revalidateTag(`documents-${existingStage.document.contractId}`)
+ revalidateTag(`document-${existingStage.documentId}`)
+ revalidatePath(`/contracts/${existingStage.document.contractId}/documents`)
+
+ return {
+ success: true,
+ data: updatedStage,
+ message: "스테이지가 성공적으로 수정되었습니다"
+ }
+
+ } catch (error) {
+ console.error("Error updating stage:", error)
+ return {
+ success: false,
+ error: error instanceof Error ? error.message : "스테이지 수정 중 오류가 발생했습니다"
+ }
+ }
+}
+
+// 스테이지 삭제
+export async function deleteStage(input: { id: number }) {
+ noStore()
+
+ try {
+ const validatedData = deleteStageSchema.parse(input)
+
+ // 스테이지 존재 확인
+ const existingStage = await db.query.issueStages.findFirst({
+ where: eq(issueStages.id, validatedData.id),
+ with: {
+ document: true
+ }
+ })
+
+ if (!existingStage) {
+ throw new Error("스테이지를 찾을 수 없습니다")
+ }
+
+ // 연관된 리비전 확인 (향후 구현 시)
+ // const relatedRevisions = await db.query.revisions.findMany({
+ // where: eq(revisions.issueStageId, validatedData.id)
+ // })
+
+ // if (relatedRevisions.length > 0) {
+ // throw new Error("연관된 리비전이 있는 스테이지는 삭제할 수 없습니다")
+ // }
+
+ // 스테이지 삭제
+ await db.delete(issueStages).where(eq(issueStages.id, validatedData.id))
+
+ // 스테이지 순서 재정렬
+ const remainingStages = await db.query.issueStages.findMany({
+ where: eq(issueStages.documentId, existingStage.documentId),
+ orderBy: [issueStages.stageOrder]
+ })
+
+ for (let i = 0; i < remainingStages.length; i++) {
+ if (remainingStages[i].stageOrder !== i) {
+ await db
+ .update(issueStages)
+ .set({ stageOrder: i, updatedAt: new Date() })
+ .where(eq(issueStages.id, remainingStages[i].id))
+ }
+ }
+
+ // 캐시 무효화
+ revalidateTag(`documents-${existingStage.document.contractId}`)
+ revalidateTag(`document-${existingStage.documentId}`)
+ revalidatePath(`/contracts/${existingStage.document.contractId}/documents`)
+
+ return {
+ success: true,
+ message: "스테이지가 성공적으로 삭제되었습니다"
+ }
+
+ } catch (error) {
+ console.error("Error deleting stage:", error)
+ return {
+ success: false,
+ error: error instanceof Error ? error.message : "스테이지 삭제 중 오류가 발생했습니다"
+ }
+ }
+}
+
+// 스테이지 순서 변경
+export async function reorderStages(input: any) {
+ noStore()
+
+ try {
+ const validatedData = reorderStagesSchema.parse(input)
+
+ // 스테이지 순서 유효성 검사
+ validateStageOrder(validatedData.stages)
+
+ // 문서 존재 확인
+ const document = await db.query.documents.findFirst({
+ where: eq(documents.id, validatedData.documentId)
+ })
+
+ if (!document) {
+ throw new Error("문서를 찾을 수 없습니다")
+ }
+
+ // 스테이지들이 해당 문서에 속하는지 확인
+ const stageIds = validatedData.stages.map(s => s.id)
+ const existingStages = await db.query.issueStages.findMany({
+ where: and(
+ eq(issueStages.documentId, validatedData.documentId),
+ inArray(issueStages.id, stageIds)
+ )
+ })
+
+ if (existingStages.length !== validatedData.stages.length) {
+ throw new Error("일부 스테이지가 해당 문서에 속하지 않습니다")
+ }
+
+ // 트랜잭션으로 순서 업데이트
+ await db.transaction(async (tx) => {
+ for (const stage of validatedData.stages) {
+ await tx
+ .update(issueStages)
+ .set({
+ stageOrder: stage.stageOrder,
+ updatedAt: new Date()
+ })
+ .where(eq(issueStages.id, stage.id))
+ }
+ })
+
+ // 캐시 무효화
+ revalidateTag(`documents-${document.contractId}`)
+ revalidateTag(`document-${validatedData.documentId}`)
+ revalidatePath(`/contracts/${document.contractId}/documents`)
+
+ return {
+ success: true,
+ message: "스테이지 순서가 성공적으로 변경되었습니다"
+ }
+
+ } catch (error) {
+ console.error("Error reordering stages:", error)
+ return {
+ success: false,
+ error: error instanceof Error ? error.message : "스테이지 순서 변경 중 오류가 발생했습니다"
+ }
+ }
+}
+
+// =============================================================================
+// 3. 일괄 작업 액션들
+// =============================================================================
+
+// 일괄 문서 생성 (엑셀 임포트)
+export async function bulkCreateDocuments(input: any): Promise<ExcelImportResult> {
+ noStore()
+
+ try {
+ const validatedData = bulkCreateDocumentsSchema.parse(input)
+
+ const result: ExcelImportResult = {
+ totalRows: validatedData.documents.length,
+ successCount: 0,
+ failureCount: 0,
+ errors: [],
+ createdDocuments: []
+ }
+
+ // 트랜잭션으로 일괄 처리
+ await db.transaction(async (tx) => {
+ for (let i = 0; i < validatedData.documents.length; i++) {
+ const docData = validatedData.documents[i]
+
+ try {
+ // 문서번호 중복 검사
+ const existingDoc = await tx.query.documents.findFirst({
+ where: and(
+ eq(documents.contractId, validatedData.contractId),
+ eq(documents.docNumber, docData.docNumber),
+ eq(documents.status, "ACTIVE")
+ )
+ })
+
+ if (existingDoc) {
+ result.errors.push({
+ row: i + 2, // 엑셀 행 번호 (헤더 포함)
+ field: "docNumber",
+ message: `문서번호 '${docData.docNumber}'가 이미 존재합니다`
+ })
+ result.failureCount++
+ continue
+ }
+
+ // 문서 생성
+ const [newDoc] = await tx.insert(documents).values({
+ contractId: validatedData.contractId,
+ docNumber: docData.docNumber,
+ title: docData.title,
+ drawingKind: docData.drawingKind,
+ vendorDocNumber: docData.vendorDocNumber || null,
+ pic: docData.pic || null,
+ issuedDate: docData.issuedDate || null,
+ cGbn: docData.cGbn || null,
+ dGbn: docData.dGbn || null,
+ degreeGbn: docData.degreeGbn || null,
+ deptGbn: docData.deptGbn || null,
+ jGbn: docData.jGbn || null,
+ sGbn: docData.sGbn || null,
+ status: "ACTIVE",
+ createdAt: new Date(),
+ updatedAt: new Date(),
+ }).returning()
+
+ result.createdDocuments.push({
+ id: newDoc.id,
+ docNumber: newDoc.docNumber,
+ title: newDoc.title
+ })
+ result.successCount++
+
+ } catch (error) {
+ result.errors.push({
+ row: i + 2,
+ message: error instanceof Error ? error.message : "알 수 없는 오류"
+ })
+ result.failureCount++
+ }
+ }
+ })
+
+ // 캐시 무효화
+ revalidateTag(`documents-${validatedData.contractId}`)
+ revalidatePath(`/contracts/${validatedData.contractId}/documents`)
+
+ return result
+
+ } catch (error) {
+ console.error("Error bulk creating documents:", error)
+ throw new Error("일괄 문서 생성 중 오류가 발생했습니다")
+ }
+}
+
+// 일괄 상태 업데이트
+export async function bulkUpdateStageStatus(input: any) {
+ noStore()
+
+ try {
+ const validatedData = bulkUpdateStatusSchema.parse(input)
+
+ // 스테이지들 존재 확인
+ const existingStages = await db.query.issueStages.findMany({
+ where: inArray(issueStages.id, validatedData.stageIds),
+ with: { document: true }
+ })
+
+ if (existingStages.length !== validatedData.stageIds.length) {
+ throw new Error("일부 스테이지를 찾을 수 없습니다")
+ }
+
+ // 일괄 업데이트
+ await db
+ .update(issueStages)
+ .set({
+ stageStatus: validatedData.status,
+ actualDate: validatedData.actualDate || null,
+ updatedAt: new Date()
+ })
+ .where(inArray(issueStages.id, validatedData.stageIds))
+
+ // 관련된 계약들의 캐시 무효화
+ const contractIds = [...new Set(existingStages.map(s => s.document.contractId))]
+ for (const contractId of contractIds) {
+ revalidateTag(`documents-${contractId}`)
+ revalidatePath(`/contracts/${contractId}/documents`)
+ }
+
+ return {
+ success: true,
+ message: `${validatedData.stageIds.length}개 스테이지의 상태가 업데이트되었습니다`
+ }
+
+ } catch (error) {
+ console.error("Error bulk updating stage status:", error)
+ return {
+ success: false,
+ error: error instanceof Error ? error.message : "일괄 상태 업데이트 중 오류가 발생했습니다"
+ }
+ }
+}
+
+// 일괄 담당자 지정
+export async function bulkAssignStages(input: any) {
+ noStore()
+
+ try {
+ const validatedData = bulkAssignSchema.parse(input)
+
+ // 스테이지들 존재 확인
+ const existingStages = await db.query.issueStages.findMany({
+ where: inArray(issueStages.id, validatedData.stageIds),
+ with: { document: true }
+ })
+
+ if (existingStages.length !== validatedData.stageIds.length) {
+ throw new Error("일부 스테이지를 찾을 수 없습니다")
+ }
+
+ // 일괄 담당자 지정
+ await db
+ .update(issueStages)
+ .set({
+ assigneeId: validatedData.assigneeId || null,
+ assigneeName: validatedData.assigneeName || null,
+ updatedAt: new Date()
+ })
+ .where(inArray(issueStages.id, validatedData.stageIds))
+
+ // 관련된 계약들의 캐시 무효화
+ const contractIds = [...new Set(existingStages.map(s => s.document.contractId))]
+ for (const contractId of contractIds) {
+ revalidateTag(`documents-${contractId}`)
+ revalidatePath(`/contracts/${contractId}/documents`)
+ }
+
+ return {
+ success: true,
+ message: `${validatedData.stageIds.length}개 스테이지에 담당자가 지정되었습니다`
+ }
+
+ } catch (error) {
+ console.error("Error bulk assigning stages:", error)
+ return {
+ success: false,
+ error: error instanceof Error ? error.message : "일괄 담당자 지정 중 오류가 발생했습니다"
+ }
+ }
+}
+
+
+// 문서번호 타입 목록 조회
+export async function getDocumentNumberTypes() {
+ try {
+ const types = await db
+ .select()
+ .from(documentNumberTypes)
+ .where(eq(documentNumberTypes.isActive, true))
+ .orderBy(asc(documentNumberTypes.name))
+
+ return { success: true, data: types }
+ } catch (error) {
+ console.error("문서번호 타입 조회 실패:", error)
+ return { success: false, error: "문서번호 타입을 불러올 수 없습니다." }
+ }
+}
+
+// 문서번호 타입 설정 조회
+export async function getDocumentNumberTypeConfigs(documentNumberTypeId: number) {
+ try {
+ const configs = await db
+ .select({
+ id: documentNumberTypeConfigs.id,
+ sdq: documentNumberTypeConfigs.sdq,
+ description: documentNumberTypeConfigs.description,
+ remark: documentNumberTypeConfigs.remark,
+ codeGroupId: documentNumberTypeConfigs.codeGroupId,
+ documentClassId: documentNumberTypeConfigs.documentClassId,
+ codeGroup: {
+ id: codeGroups.id,
+ groupId: codeGroups.groupId,
+ description: codeGroups.description,
+ controlType: codeGroups.controlType,
+ },
+ documentClass: {
+ id: documentClasses.id,
+ code: documentClasses.code,
+ description: documentClasses.description,
+ }
+ })
+ .from(documentNumberTypeConfigs)
+ .leftJoin(codeGroups, eq(documentNumberTypeConfigs.codeGroupId, codeGroups.id))
+ .leftJoin(documentClasses, eq(documentNumberTypeConfigs.documentClassId, documentClasses.id))
+ .where(
+ and(
+ eq(documentNumberTypeConfigs.documentNumberTypeId, documentNumberTypeId),
+ eq(documentNumberTypeConfigs.isActive, true)
+ )
+ )
+ .orderBy(asc(documentNumberTypeConfigs.sdq))
+
+ console.log(configs,"configs")
+
+ return { success: true, data: configs }
+ } catch (error) {
+ console.error("문서번호 타입 설정 조회 실패:", error)
+ return { success: false, error: "문서번호 설정을 불러올 수 없습니다." }
+ }
+}
+
+// 콤보박스 옵션 조회
+export async function getComboBoxOptions(codeGroupId: number) {
+ console.log(codeGroupId,"codeGroupId")
+ try {
+ const settings = await db
+ .select({
+ id: comboBoxSettings.id,
+ code: comboBoxSettings.code,
+ description: comboBoxSettings.description,
+ remark: comboBoxSettings.remark,
+ })
+ .from(comboBoxSettings)
+ .where(eq(comboBoxSettings.codeGroupId, codeGroupId))
+ .orderBy(asc(comboBoxSettings.code))
+
+ console.log("settings",settings)
+
+ return { success: true, data: settings }
+ } catch (error) {
+ console.error("콤보박스 옵션 조회 실패:", error)
+ return { success: false, error: "콤보박스 옵션을 불러올 수 없습니다." }
+ }
+}
+
+// 문서 클래스 목록 조회
+export async function getDocumentClasses() {
+ try {
+ const classes = await db
+ .select()
+ .from(documentClasses)
+ .where(eq(documentClasses.isActive, true))
+ .orderBy(asc(documentClasses.description))
+
+ return { success: true, data: classes }
+ } catch (error) {
+ console.error("문서 클래스 조회 실패:", error)
+ return { success: false, error: "문서 클래스를 불러올 수 없습니다." }
+ }
+}
+
+// 문서 클래스 옵션 조회 (스테이지로 사용)
+export async function getDocumentClassOptions(documentClassId: number) {
+ try {
+ const options = await db
+ .select()
+ .from(documentClassOptions)
+ .where(
+ and(
+ eq(documentClassOptions.documentClassId, documentClassId),
+ eq(documentClassOptions.isActive, true)
+ )
+ )
+ .orderBy(asc(documentClassOptions.sortOrder))
+
+ return { success: true, data: options }
+ } catch (error) {
+ console.error("문서 클래스 옵션 조회 실패:", error)
+ return { success: false, error: "문서 클래스 옵션을 불러올 수 없습니다." }
+ }
+}
+
+// 문서번호 생성
+export async function generateDocumentNumber(configs: any[], values: Record<string, string>) {
+ let docNumber = ""
+
+ configs.forEach((config) => {
+ const value = values[`field_${config.sdq}`] || ""
+ if (value) {
+ docNumber += value
+ // 구분자가 필요한 경우 추가 (하이픈 등)
+ if (config.sdq < configs.length) {
+ docNumber += "-"
+ }
+ }
+ })
+
+ return docNumber.replace(/-$/, "") // 마지막 하이픈 제거
+}
+
+// 문서 생성
+export async function createDocument(data: {
+ contractId: number
+ documentNumberTypeId: number
+ documentClassId: number
+ title: string
+ fieldValues: Record<string, string>
+ pic?: string
+ vendorDocNumber?: string
+}) {
+ try {
+ // 1. 문서번호 타입 설정 조회
+ const configsResult = await getDocumentNumberTypeConfigs(data.documentNumberTypeId)
+ if (!configsResult.success) {
+ return { success: false, error: configsResult.error }
+ }
+
+ // 2. 문서번호 생성
+ const documentNumber = generateDocumentNumber(configsResult.data, data.fieldValues)
+
+ // 3. 문서 생성 (실제 documents 테이블에 INSERT)
+ // TODO: 실제 documents 테이블 스키마에 맞게 수정 필요
+ /*
+ const [document] = await db.insert(documents).values({
+ contractId: data.contractId,
+ docNumber: documentNumber,
+ title: data.title,
+ documentClassId: data.documentClassId,
+ pic: data.pic,
+ vendorDocNumber: data.vendorDocNumber,
+ }).returning()
+ */
+
+ // 4. 문서 클래스의 옵션들을 스테이지로 자동 생성
+ const stageOptionsResult = await getDocumentClassOptions(data.documentClassId)
+ if (stageOptionsResult.success && stageOptionsResult.data.length > 0) {
+ // TODO: 실제 stages 테이블에 스테이지들 생성
+ /*
+ const stageInserts = stageOptionsResult.data.map((option, index) => ({
+ documentId: document.id,
+ stageName: option.optionValue,
+ stageOrder: option.sortOrder || index + 1,
+ stageStatus: 'PLANNED',
+ // 기본값들...
+ }))
+
+ await db.insert(documentStages).values(stageInserts)
+ */
+ }
+
+ revalidatePath(`/contracts/${data.contractId}/documents`)
+
+ return {
+ success: true,
+ data: {
+ documentNumber,
+ // document
+ }
+ }
+ } catch (error) {
+ console.error("문서 생성 실패:", error)
+ return { success: false, error: "문서 생성 중 오류가 발생했습니다." }
+ }
+}
+
+// 스테이지 업데이트
+// export async function updateStage(data: {
+// stageId: number
+// stageName?: string
+// planDate?: string
+// actualDate?: string
+// stageStatus?: string
+// assigneeName?: string
+// priority?: string
+// notes?: string
+// }) {
+// try {
+// // TODO: 실제 stages 테이블 업데이트
+// /*
+// await db
+// .update(documentStages)
+// .set({
+// ...data,
+// updatedAt: new Date(),
+// })
+// .where(eq(documentStages.id, data.stageId))
+// */
+
+// revalidatePath("/contracts/[contractId]/documents", "page")
+
+// return { success: true }
+// } catch (error) {
+// console.error("스테이지 업데이트 실패:", error)
+// return { success: false, error: "스테이지 업데이트 중 오류가 발생했습니다." }
+// }
+// }
+
+export async function getDocumentStagesOnly(
+ input: GetEnhancedDocumentsSchema,
+ contractId: number
+) {
+ try {
+ const offset = (input.page - 1) * input.perPage
+
+ // 고급 필터 처리
+ const advancedWhere = filterColumns({
+ table: documentStagesOnlyView,
+ filters: input.filters || [],
+ joinOperator: input.joinOperator || "and",
+ })
+
+ // 전역 검색 처리
+ let globalWhere
+ if (input.search) {
+ const searchTerm = `%${input.search}%`
+ globalWhere = or(
+ ilike(documentStagesOnlyView.title, searchTerm),
+ ilike(documentStagesOnlyView.docNumber, searchTerm),
+ ilike(documentStagesOnlyView.currentStageName, searchTerm),
+ ilike(documentStagesOnlyView.currentStageAssigneeName, searchTerm),
+ ilike(documentStagesOnlyView.vendorDocNumber, searchTerm),
+ ilike(documentStagesOnlyView.pic, searchTerm)
+ )
+ }
+
+ // 최종 WHERE 조건
+ const finalWhere = and(
+ advancedWhere,
+ globalWhere,
+ eq(documentStagesOnlyView.contractId, contractId)
+ )
+
+ // 정렬 처리
+ const orderBy = input.sort && input.sort.length > 0
+ ? input.sort.map((item) =>
+ item.desc
+ ? desc(documentStagesOnlyView[item.id])
+ : asc(documentStagesOnlyView[item.id])
+ )
+ : [desc(documentStagesOnlyView.createdAt)]
+
+ // 트랜잭션 실행
+ const { data, total } = await db.transaction(async (tx) => {
+ const data = await selectDocumentStagesOnly(tx, {
+ where: finalWhere,
+ orderBy,
+ offset,
+ limit: input.perPage,
+ })
+
+ const total = await countDocumentStagesOnly(tx, finalWhere)
+
+ return { data, total }
+ })
+
+ const pageCount = Math.ceil(total / input.perPage)
+
+ return { data, pageCount, total }
+ } catch (err) {
+ console.error("Error fetching document stages only:", err)
+ return { data: [], pageCount: 0, total: 0 }
+ }
+}
+
+// 단일 문서의 스테이지 정보 조회
+export async function getDocumentStagesOnlyById(documentId: number) {
+ try {
+ const result = await db
+ .select()
+ .from(documentStagesOnlyView)
+ .where(eq(documentStagesOnlyView.documentId, documentId))
+ .limit(1)
+
+ return result[0] || null
+ } catch (err) {
+ console.error("Error fetching document stages by id:", err)
+ return null
+ }
+}
+
+// 특정 계약의 문서 개수 조회 (빠른 카운트)
+export async function getDocumentStagesOnlyCount(contractId: number) {
+ try {
+ const result = await db
+ .select({ count: sql<number>`count(*)` })
+ .from(documentStagesOnlyView)
+ .where(eq(documentStagesOnlyView.contractId, contractId))
+
+ return result[0]?.count ?? 0
+ } catch (err) {
+ console.error("Error counting document stages:", err)
+ return 0
+ }
+}
+
+// 진행률별 문서 통계 조회
+export async function getDocumentProgressStats(contractId: number) {
+ try {
+ const result = await db
+ .select({
+ totalDocuments: sql<number>`count(*)`,
+ completedDocuments: sql<number>`count(case when progress_percentage = 100 then 1 end)`,
+ inProgressDocuments: sql<number>`count(case when progress_percentage > 0 and progress_percentage < 100 then 1 end)`,
+ notStartedDocuments: sql<number>`count(case when progress_percentage = 0 then 1 end)`,
+ overdueDocuments: sql<number>`count(case when is_overdue = true then 1 end)`,
+ avgProgress: sql<number>`round(avg(progress_percentage), 2)`,
+ })
+ .from(documentStagesOnlyView)
+ .where(eq(documentStagesOnlyView.contractId, contractId))
+
+ return result[0] || {
+ totalDocuments: 0,
+ completedDocuments: 0,
+ inProgressDocuments: 0,
+ notStartedDocuments: 0,
+ overdueDocuments: 0,
+ avgProgress: 0,
+ }
+ } catch (err) {
+ console.error("Error fetching document progress stats:", err)
+ return {
+ totalDocuments: 0,
+ completedDocuments: 0,
+ inProgressDocuments: 0,
+ notStartedDocuments: 0,
+ overdueDocuments: 0,
+ avgProgress: 0,
+ }
+ }
+}
+
+// 스테이지별 문서 분포 조회
+export async function getDocumentsByStageStats(contractId: number) {
+ try {
+ const result = await db
+ .select({
+ stageName: documentStagesOnlyView.currentStageName,
+ stageStatus: documentStagesOnlyView.currentStageStatus,
+ documentCount: sql<number>`count(*)`,
+ overdueCount: sql<number>`count(case when is_overdue = true then 1 end)`,
+ })
+ .from(documentStagesOnlyView)
+ .where(eq(documentStagesOnlyView.contractId, contractId))
+ .groupBy(
+ documentStagesOnlyView.currentStageName,
+ documentStagesOnlyView.currentStageStatus
+ )
+ .orderBy(sql`count(*) desc`)
+
+ return result
+ } catch (err) {
+ console.error("Error fetching documents by stage stats:", err)
+ return []
+ }
+}
diff --git a/lib/vendor-document-list/plant/document-stages-table.tsx b/lib/vendor-document-list/plant/document-stages-table.tsx
new file mode 100644
index 00000000..736a7467
--- /dev/null
+++ b/lib/vendor-document-list/plant/document-stages-table.tsx
@@ -0,0 +1,449 @@
+"use client"
+
+import React from "react"
+import type {
+ DataTableAdvancedFilterField,
+ DataTableFilterField,
+ DataTableRowAction,
+} from "@/types/table"
+
+import { useDataTable } from "@/hooks/use-data-table"
+import { getDocumentStagesOnly } from "./document-stages-service"
+import type { DocumentStagesOnlyView } from "@/db/schema"
+import { DataTableAdvancedToolbar } from "@/components/data-table/data-table-advanced-toolbar"
+import { Badge } from "@/components/ui/badge"
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
+import {
+ AlertTriangle,
+ Clock,
+ TrendingUp,
+ Target,
+ Users,
+ Plus,
+ FileSpreadsheet
+} from "lucide-react"
+import { getDocumentStagesColumns } from "./document-stages-columns"
+import { ExpandableDataTable } from "@/components/data-table/expandable-data-table"
+import { toast } from "sonner"
+import { Button } from "@/components/ui/button"
+import { DocumentStagesExpandedContent } from "./document-stages-expanded-content"
+import { AddDocumentDialog } from "./document-stage-dialogs"
+import { EditDocumentDialog } from "./document-stage-dialogs"
+import { EditStageDialog } from "./document-stage-dialogs"
+import { ExcelImportDialog } from "./document-stage-dialogs"
+
+interface DocumentStagesTableProps {
+ promises: Promise<[Awaited<ReturnType<typeof getDocumentStagesOnly>>]>
+ contractId: number
+ projectType: "ship" | "plant"
+}
+
+export function DocumentStagesTable({
+ promises,
+ contractId,
+ projectType,
+}: DocumentStagesTableProps) {
+ const [{ data, pageCount, total }] = React.use(promises)
+
+ console.log(data)
+
+ // 상태 관리
+ const [rowAction, setRowAction] = React.useState<DataTableRowAction<DocumentStagesOnlyView> | null>(null)
+ const [expandedRows, setExpandedRows] = React.useState<Set<string>>(new Set())
+ const [quickFilter, setQuickFilter] = React.useState<'all' | 'overdue' | 'due_soon' | 'in_progress' | 'high_priority'>('all')
+
+ // 다이얼로그 상태들
+ const [addDocumentOpen, setAddDocumentOpen] = React.useState(false)
+ const [editDocumentOpen, setEditDocumentOpen] = React.useState(false)
+ const [editStageOpen, setEditStageOpen] = React.useState(false)
+ const [excelImportOpen, setExcelImportOpen] = React.useState(false)
+
+ // 선택된 항목들
+ const [selectedDocument, setSelectedDocument] = React.useState<DocumentStagesOnlyView | null>(null)
+ const [selectedStageId, setSelectedStageId] = React.useState<number | null>(null)
+
+ // 컬럼 정의
+ const columns = React.useMemo(
+ () => getDocumentStagesColumns({
+ setRowAction: (action) => {
+ setRowAction(action)
+ if (action) {
+ setSelectedDocument(action.row.original)
+
+ switch (action.type) {
+ case "edit_document":
+ setEditDocumentOpen(true)
+ break
+ case "edit_stage":
+ if (action.meta?.stageId) {
+ setSelectedStageId(action.meta.stageId)
+ setEditStageOpen(true)
+ }
+ break
+ case "view":
+ const rowId = action.row.id
+ const newExpanded = new Set(expandedRows)
+ if (newExpanded.has(rowId)) {
+ newExpanded.delete(rowId)
+ } else {
+ newExpanded.add(rowId)
+ }
+ setExpandedRows(newExpanded)
+ break
+ }
+ }
+ },
+ projectType
+ }),
+ [expandedRows, projectType]
+ )
+
+ // 통계 계산
+ const stats = React.useMemo(() => {
+ const totalDocs = data.length
+ const overdue = data.filter(doc => doc.isOverdue).length
+ const dueSoon = data.filter(doc =>
+ doc.daysUntilDue !== null &&
+ doc.daysUntilDue >= 0 &&
+ doc.daysUntilDue <= 3
+ ).length
+ const inProgress = data.filter(doc => doc.currentStageStatus === 'IN_PROGRESS').length
+ const highPriority = data.filter(doc => doc.currentStagePriority === 'HIGH').length
+ const avgProgress = totalDocs > 0
+ ? Math.round(data.reduce((sum, doc) => sum + (doc.progressPercentage || 0), 0) / totalDocs)
+ : 0
+
+ return {
+ total: totalDocs,
+ overdue,
+ dueSoon,
+ inProgress,
+ highPriority,
+ avgProgress
+ }
+ }, [data])
+
+ // 빠른 필터링
+ const filteredData = React.useMemo(() => {
+ switch (quickFilter) {
+ case 'overdue':
+ return data.filter(doc => doc.isOverdue)
+ case 'due_soon':
+ return data.filter(doc =>
+ doc.daysUntilDue !== null &&
+ doc.daysUntilDue >= 0 &&
+ doc.daysUntilDue <= 3
+ )
+ case 'in_progress':
+ return data.filter(doc => doc.currentStageStatus === 'IN_PROGRESS')
+ case 'high_priority':
+ return data.filter(doc => doc.currentStagePriority === 'HIGH')
+ default:
+ return data
+ }
+ }, [data, quickFilter])
+
+ // 핸들러 함수들
+ const handleNewDocument = () => {
+ setAddDocumentOpen(true)
+ }
+
+ const handleExcelImport = () => {
+ setExcelImportOpen(true)
+ }
+
+ const handleBulkAction = async (action: string, selectedRows: any[]) => {
+ try {
+ if (action === 'bulk_complete') {
+ const stageIds = selectedRows
+ .map(row => row.original.currentStageId)
+ .filter(Boolean)
+
+ if (stageIds.length > 0) {
+ toast.success(`${stageIds.length}개 스테이지가 완료 처리되었습니다.`)
+ }
+ } else if (action === 'bulk_assign') {
+ toast.info("일괄 담당자 지정 기능은 준비 중입니다.")
+ }
+ } catch (error) {
+ toast.error("일괄 작업 중 오류가 발생했습니다.")
+ }
+ }
+
+ const closeAllDialogs = () => {
+ setAddDocumentOpen(false)
+ setEditDocumentOpen(false)
+ setEditStageOpen(false)
+ setExcelImportOpen(false)
+ setSelectedDocument(null)
+ setSelectedStageId(null)
+ setRowAction(null)
+ }
+
+ // 필터 필드 정의
+ const filterFields: DataTableFilterField<DocumentStagesOnlyView>[] = [
+ {
+ label: "문서번호",
+ value: "docNumber",
+ placeholder: "문서번호로 검색...",
+ },
+ {
+ label: "제목",
+ value: "title",
+ placeholder: "제목으로 검색...",
+ },
+ ]
+
+ const advancedFilterFields: DataTableAdvancedFilterField<DocumentStagesOnlyView>[] = [
+ {
+ id: "docNumber",
+ label: "문서번호",
+ type: "text",
+ },
+ {
+ id: "title",
+ label: "문서제목",
+ type: "text",
+ },
+ {
+ id: "currentStageStatus",
+ label: "스테이지 상태",
+ type: "select",
+ options: [
+ { label: "계획됨", value: "PLANNED" },
+ { label: "진행중", value: "IN_PROGRESS" },
+ { label: "제출됨", value: "SUBMITTED" },
+ { label: "완료됨", value: "COMPLETED" },
+ ],
+ },
+ {
+ id: "currentStagePriority",
+ label: "우선순위",
+ type: "select",
+ options: [
+ { label: "높음", value: "HIGH" },
+ { label: "보통", value: "MEDIUM" },
+ { label: "낮음", value: "LOW" },
+ ],
+ },
+ {
+ id: "isOverdue",
+ label: "지연 여부",
+ type: "select",
+ options: [
+ { label: "지연됨", value: "true" },
+ { label: "정상", value: "false" },
+ ],
+ },
+ {
+ id: "currentStageAssigneeName",
+ label: "담당자",
+ type: "text",
+ },
+ {
+ id: "createdAt",
+ label: "생성일",
+ type: "date",
+ },
+ ]
+
+ const { table } = useDataTable({
+ data: filteredData,
+ columns,
+ pageCount,
+ filterFields,
+ enablePinning: true,
+ enableAdvancedFilter: true,
+ initialState: {
+ sorting: [{ id: "createdAt", desc: true }],
+ columnPinning: { right: ["actions"] },
+ },
+ getRowId: (originalRow) => String(originalRow.documentId),
+ shallow: false,
+ clearOnDefault: true,
+ columnResizeMode: "onEnd",
+ })
+
+ return (
+ <div className="space-y-6">
+ {/* 통계 대시보드 */}
+ <div className="grid grid-cols-2 md:grid-cols-4 gap-4">
+ <Card className="cursor-pointer hover:shadow-md transition-shadow" onClick={() => setQuickFilter('all')}>
+ <CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
+ <CardTitle className="text-sm font-medium">전체 문서</CardTitle>
+ <TrendingUp className="h-4 w-4 text-muted-foreground" />
+ </CardHeader>
+ <CardContent>
+ <div className="text-2xl font-bold">{stats.total}</div>
+ <p className="text-xs text-muted-foreground">
+ 총 {total}개 문서
+ </p>
+ </CardContent>
+ </Card>
+
+ <Card className="cursor-pointer hover:shadow-md transition-shadow" onClick={() => setQuickFilter('overdue')}>
+ <CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
+ <CardTitle className="text-sm font-medium">지연 문서</CardTitle>
+ <AlertTriangle className="h-4 w-4 text-red-500" />
+ </CardHeader>
+ <CardContent>
+ <div className="text-2xl font-bold text-red-600">{stats.overdue}</div>
+ <p className="text-xs text-muted-foreground">즉시 확인 필요</p>
+ </CardContent>
+ </Card>
+
+ <Card className="cursor-pointer hover:shadow-md transition-shadow" onClick={() => setQuickFilter('due_soon')}>
+ <CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
+ <CardTitle className="text-sm font-medium">마감 임박</CardTitle>
+ <Clock className="h-4 w-4 text-orange-500" />
+ </CardHeader>
+ <CardContent>
+ <div className="text-2xl font-bold text-orange-600">{stats.dueSoon}</div>
+ <p className="text-xs text-muted-foreground">3일 이내 마감</p>
+ </CardContent>
+ </Card>
+
+ <Card>
+ <CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
+ <CardTitle className="text-sm font-medium">평균 진행률</CardTitle>
+ <Target className="h-4 w-4 text-green-500" />
+ </CardHeader>
+ <CardContent>
+ <div className="text-2xl font-bold text-green-600">{stats.avgProgress}%</div>
+ <p className="text-xs text-muted-foreground">전체 프로젝트 진행도</p>
+ </CardContent>
+ </Card>
+ </div>
+
+ {/* 빠른 필터 */}
+ <div className="flex gap-2 overflow-x-auto pb-2">
+ <Badge
+ variant={quickFilter === 'all' ? 'default' : 'outline'}
+ className="cursor-pointer hover:bg-primary hover:text-primary-foreground whitespace-nowrap"
+ onClick={() => setQuickFilter('all')}
+ >
+ 전체 ({stats.total})
+ </Badge>
+ <Badge
+ variant={quickFilter === 'overdue' ? 'destructive' : 'outline'}
+ className="cursor-pointer hover:bg-destructive hover:text-destructive-foreground whitespace-nowrap"
+ onClick={() => setQuickFilter('overdue')}
+ >
+ <AlertTriangle className="w-3 h-3 mr-1" />
+ 지연 ({stats.overdue})
+ </Badge>
+ <Badge
+ variant={quickFilter === 'due_soon' ? 'default' : 'outline'}
+ className="cursor-pointer hover:bg-orange-500 hover:text-white whitespace-nowrap"
+ onClick={() => setQuickFilter('due_soon')}
+ >
+ <Clock className="w-3 h-3 mr-1" />
+ 마감임박 ({stats.dueSoon})
+ </Badge>
+ <Badge
+ variant={quickFilter === 'in_progress' ? 'default' : 'outline'}
+ className="cursor-pointer hover:bg-blue-500 hover:text-white whitespace-nowrap"
+ onClick={() => setQuickFilter('in_progress')}
+ >
+ <Users className="w-3 h-3 mr-1" />
+ 진행중 ({stats.inProgress})
+ </Badge>
+ <Badge
+ variant={quickFilter === 'high_priority' ? 'destructive' : 'outline'}
+ className="cursor-pointer hover:bg-destructive hover:text-destructive-foreground whitespace-nowrap"
+ onClick={() => setQuickFilter('high_priority')}
+ >
+ <Target className="w-3 h-3 mr-1" />
+ 높은우선순위 ({stats.highPriority})
+ </Badge>
+ </div>
+
+ {/* 메인 테이블 */}
+ <div className="space-y-4">
+ <div className="rounded-md border bg-white overflow-hidden">
+ <ExpandableDataTable
+ table={table}
+ expandable={true}
+ expandedRows={expandedRows}
+ setExpandedRows={setExpandedRows}
+ renderExpandedContent={(document) => (
+ <DocumentStagesExpandedContent
+ document={document}
+ onEditStage={(stageId) => {
+ setSelectedDocument(document)
+ setSelectedStageId(stageId)
+ setEditStageOpen(true)
+ }}
+ projectType={projectType}
+ />
+ )}
+ expandedRowClassName="!p-0"
+ excludeFromClick={[
+ 'actions',
+ 'select'
+ ]}
+ >
+ <DataTableAdvancedToolbar
+ table={table}
+ filterFields={advancedFilterFields}
+ shallow={false}
+ >
+ <div className="flex items-center gap-2">
+ <Button onClick={handleNewDocument} size="sm">
+ <Plus className="mr-2 h-4 w-4" />
+ 문서 추가
+ </Button>
+ <Button onClick={handleExcelImport} variant="outline" size="sm">
+ <FileSpreadsheet className="mr-2 h-4 w-4" />
+ 엑셀 가져오기
+ </Button>
+ </div>
+ </DataTableAdvancedToolbar>
+ </ExpandableDataTable>
+ </div>
+ </div>
+
+ {/* 다이얼로그들 */}
+ <AddDocumentDialog
+ open={addDocumentOpen}
+ onOpenChange={(open) => {
+ if (!open) closeAllDialogs()
+ else setAddDocumentOpen(open)
+ }}
+ contractId={contractId}
+ projectType={projectType}
+ />
+
+ <EditDocumentDialog
+ open={editDocumentOpen}
+ onOpenChange={(open) => {
+ if (!open) closeAllDialogs()
+ else setEditDocumentOpen(open)
+ }}
+ document={selectedDocument}
+ contractId={contractId}
+ projectType={projectType}
+ />
+
+ <EditStageDialog
+ open={editStageOpen}
+ onOpenChange={(open) => {
+ if (!open) closeAllDialogs()
+ else setEditStageOpen(open)
+ }}
+ document={selectedDocument}
+ stageId={selectedStageId}
+ />
+
+ <ExcelImportDialog
+ open={excelImportOpen}
+ onOpenChange={(open) => {
+ if (!open) closeAllDialogs()
+ else setExcelImportOpen(open)
+ }}
+ contractId={contractId}
+ projectType={projectType}
+ />
+ </div>
+ )
+} \ No newline at end of file
diff --git a/lib/vendor-document-list/plant/excel-import-export.ts b/lib/vendor-document-list/plant/excel-import-export.ts
new file mode 100644
index 00000000..3ddb7195
--- /dev/null
+++ b/lib/vendor-document-list/plant/excel-import-export.ts
@@ -0,0 +1,788 @@
+// excel-import-export.ts
+"use client"
+
+import ExcelJS from 'exceljs'
+import {
+ excelDocumentRowSchema,
+ excelStageRowSchema,
+ type ExcelDocumentRow,
+ type ExcelStageRow,
+ type ExcelImportResult,
+ type CreateDocumentInput
+} from './document-stage-validations'
+import { DocumentStagesOnlyView } from '@/db/schema'
+
+// =============================================================================
+// 1. 엑셀 템플릿 생성 및 다운로드
+// =============================================================================
+
+// 문서 템플릿 생성
+export async function createDocumentTemplate(projectType: "ship" | "plant") {
+ const workbook = new ExcelJS.Workbook()
+ const worksheet = workbook.addWorksheet("문서목록", {
+ properties: { defaultColWidth: 15 }
+ })
+
+ const baseHeaders = [
+ "문서번호*",
+ "문서명*",
+ "문서종류*",
+ "PIC",
+ "발행일",
+ "설명"
+ ]
+
+ const plantHeaders = [
+ "벤더문서번호",
+ "벤더명",
+ "벤더코드"
+ ]
+
+ const b4Headers = [
+ "C구분",
+ "D구분",
+ "Degree구분",
+ "부서구분",
+ "S구분",
+ "J구분"
+ ]
+
+ const headers = [
+ ...baseHeaders,
+ ...(projectType === "plant" ? plantHeaders : []),
+ ...b4Headers
+ ]
+
+ // 헤더 행 추가 및 스타일링
+ const headerRow = worksheet.addRow(headers)
+ headerRow.eachCell((cell, colNumber) => {
+ cell.fill = {
+ type: 'pattern',
+ pattern: 'solid',
+ fgColor: { argb: 'FF4472C4' }
+ }
+ cell.font = {
+ color: { argb: 'FFFFFFFF' },
+ bold: true,
+ size: 11
+ }
+ cell.alignment = {
+ horizontal: 'center',
+ vertical: 'middle'
+ }
+ cell.border = {
+ top: { style: 'thin' },
+ left: { style: 'thin' },
+ bottom: { style: 'thin' },
+ right: { style: 'thin' }
+ }
+
+ // 필수 필드 표시
+ if (cell.value && String(cell.value).includes('*')) {
+ cell.fill = {
+ type: 'pattern',
+ pattern: 'solid',
+ fgColor: { argb: 'FFE74C3C' }
+ }
+ }
+ })
+
+ // 샘플 데이터 추가
+ const sampleData = projectType === "ship" ? [
+ "SH-2024-001",
+ "기본 설계 도면",
+ "B3",
+ "김철수",
+ new Date("2024-01-15"),
+ "선박 기본 설계 관련 문서",
+ "", "", "", "", "", "" // B4 필드들
+ ] : [
+ "PL-2024-001",
+ "공정 설계 도면",
+ "B4",
+ "이영희",
+ new Date("2024-01-15"),
+ "플랜트 공정 설계 관련 문서",
+ "V-001", // 벤더문서번호
+ "삼성엔지니어링", // 벤더명
+ "SENG", // 벤더코드
+ "C1", "D1", "DEG1", "DEPT1", "S1", "J1" // B4 필드들
+ ]
+
+ const sampleRow = worksheet.addRow(sampleData)
+ sampleRow.eachCell((cell, colNumber) => {
+ cell.border = {
+ top: { style: 'thin' },
+ left: { style: 'thin' },
+ bottom: { style: 'thin' },
+ right: { style: 'thin' }
+ }
+
+ // 날짜 형식 설정
+ if (cell.value instanceof Date) {
+ cell.numFmt = 'yyyy-mm-dd'
+ }
+ })
+
+ // 컬럼 너비 자동 조정
+ worksheet.columns.forEach((column, index) => {
+ if (index < 6) {
+ column.width = headers[index].length + 5
+ } else {
+ column.width = 12
+ }
+ })
+
+ // 문서종류 드롭다운 설정
+ const docTypeCol = headers.indexOf("문서종류*") + 1
+ worksheet.dataValidations.add(`${String.fromCharCode(64 + docTypeCol)}2:${String.fromCharCode(64 + docTypeCol)}1000`, {
+ type: 'list',
+ allowBlank: false,
+ formulae: ['"B3,B4,B5"']
+ })
+
+ // Plant 프로젝트의 경우 우선순위 드롭다운 추가
+ if (projectType === "plant") {
+ // 여기에 추가적인 드롭다운들을 설정할 수 있습니다
+ }
+
+ return workbook
+}
+
+// 스테이지 템플릿 생성
+export async function createStageTemplate() {
+ const workbook = new ExcelJS.Workbook()
+ const worksheet = workbook.addWorksheet("스테이지목록", {
+ properties: { defaultColWidth: 15 }
+ })
+
+ const headers = [
+ "문서번호*",
+ "스테이지명*",
+ "계획일",
+ "우선순위",
+ "담당자",
+ "설명",
+ "스테이지순서"
+ ]
+
+ // 헤더 행 추가 및 스타일링
+ const headerRow = worksheet.addRow(headers)
+ headerRow.eachCell((cell, colNumber) => {
+ cell.fill = {
+ type: 'pattern',
+ pattern: 'solid',
+ fgColor: { argb: 'FF27AE60' }
+ }
+ cell.font = {
+ color: { argb: 'FFFFFFFF' },
+ bold: true,
+ size: 11
+ }
+ cell.alignment = {
+ horizontal: 'center',
+ vertical: 'middle'
+ }
+ cell.border = {
+ top: { style: 'thin' },
+ left: { style: 'thin' },
+ bottom: { style: 'thin' },
+ right: { style: 'thin' }
+ }
+
+ // 필수 필드 표시
+ if (cell.value && String(cell.value).includes('*')) {
+ cell.fill = {
+ type: 'pattern',
+ pattern: 'solid',
+ fgColor: { argb: 'FFE74C3C' }
+ }
+ }
+ })
+
+ // 샘플 데이터 추가
+ const sampleData = [
+ [
+ "SH-2024-001",
+ "초기 설계 검토",
+ new Date("2024-02-15"),
+ "HIGH",
+ "김철수",
+ "초기 설계안 검토 및 승인",
+ 0
+ ],
+ [
+ "SH-2024-001",
+ "상세 설계",
+ new Date("2024-03-15"),
+ "MEDIUM",
+ "이영희",
+ "상세 설계 작업 수행",
+ 1
+ ]
+ ]
+
+ sampleData.forEach(rowData => {
+ const row = worksheet.addRow(rowData)
+ row.eachCell((cell, colNumber) => {
+ cell.border = {
+ top: { style: 'thin' },
+ left: { style: 'thin' },
+ bottom: { style: 'thin' },
+ right: { style: 'thin' }
+ }
+
+ // 날짜 형식 설정
+ if (cell.value instanceof Date) {
+ cell.numFmt = 'yyyy-mm-dd'
+ }
+ })
+ })
+
+ // 컬럼 너비 설정
+ worksheet.columns = [
+ { width: 15 }, // 문서번호
+ { width: 20 }, // 스테이지명
+ { width: 12 }, // 계획일
+ { width: 10 }, // 우선순위
+ { width: 15 }, // 담당자
+ { width: 30 }, // 설명
+ { width: 12 }, // 스테이지순서
+ ]
+
+ // 우선순위 드롭다운 설정
+ worksheet.dataValidations.add('D2:D1000', {
+ type: 'list',
+ allowBlank: true,
+ formulae: ['"HIGH,MEDIUM,LOW"']
+ })
+
+ return workbook
+}
+
+// 템플릿 다운로드 함수
+export async function downloadTemplate(type: "documents" | "stages", projectType: "ship" | "plant") {
+ const workbook = await (type === "documents"
+ ? createDocumentTemplate(projectType)
+ : createStageTemplate())
+
+ const filename = type === "documents"
+ ? `문서_임포트_템플릿_${projectType}.xlsx`
+ : `스테이지_임포트_템플릿.xlsx`
+
+ // 브라우저에서 다운로드
+ const buffer = await workbook.xlsx.writeBuffer()
+ const blob = new Blob([buffer], {
+ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+ })
+
+ const url = window.URL.createObjectURL(blob)
+ const link = document.createElement('a')
+ link.href = url
+ link.download = filename
+ link.click()
+
+ // 메모리 정리
+ window.URL.revokeObjectURL(url)
+}
+
+// =============================================================================
+// 2. 엑셀 파일 읽기 및 파싱
+// =============================================================================
+
+// 엑셀 파일을 읽어서 JSON으로 변환
+export async function readExcelFile(file: File): Promise<any[]> {
+ return new Promise((resolve, reject) => {
+ const reader = new FileReader()
+
+ reader.onload = async (e) => {
+ try {
+ const buffer = e.target?.result as ArrayBuffer
+ const workbook = new ExcelJS.Workbook()
+ await workbook.xlsx.load(buffer)
+
+ const worksheet = workbook.getWorksheet(1) // 첫 번째 워크시트
+ if (!worksheet) {
+ throw new Error('워크시트를 찾을 수 없습니다')
+ }
+
+ const jsonData: any[] = []
+
+ worksheet.eachRow({ includeEmpty: false }, (row, rowNumber) => {
+ const rowData: any[] = []
+ row.eachCell({ includeEmpty: true }, (cell, colNumber) => {
+ let value = cell.value
+
+ // 날짜 처리
+ if (cell.type === ExcelJS.ValueType.Date) {
+ value = cell.value as Date
+ }
+ // 수식 결과값 처리
+ else if (cell.type === ExcelJS.ValueType.Formula && cell.result) {
+ value = cell.result
+ }
+ // 하이퍼링크 처리
+ else if (cell.type === ExcelJS.ValueType.Hyperlink) {
+ value = cell.value?.text || cell.value
+ }
+
+ rowData[colNumber - 1] = value || ""
+ })
+
+ jsonData.push(rowData)
+ })
+
+ resolve(jsonData)
+ } catch (error) {
+ reject(new Error('엑셀 파일을 읽는 중 오류가 발생했습니다: ' + error))
+ }
+ }
+
+ reader.onerror = () => {
+ reject(new Error('파일을 읽을 수 없습니다'))
+ }
+
+ reader.readAsArrayBuffer(file)
+ })
+}
+
+// 문서 데이터 유효성 검사 및 변환
+export function validateDocumentRows(
+ rawData: any[],
+ contractId: number,
+ projectType: "ship" | "plant"
+): { validData: CreateDocumentInput[], errors: any[] } {
+ if (rawData.length < 2) {
+ throw new Error('데이터가 없습니다. 최소 헤더와 1개 행이 필요합니다.')
+ }
+
+ const headers = rawData[0] as string[]
+ const rows = rawData.slice(1)
+
+ const validData: CreateDocumentInput[] = []
+ const errors: any[] = []
+
+ // 필수 헤더 검사
+ const requiredHeaders = ["문서번호", "문서명", "문서종류"]
+ const missingHeaders = requiredHeaders.filter(h =>
+ !headers.some(header => header.includes(h.replace("*", "")))
+ )
+
+ if (missingHeaders.length > 0) {
+ throw new Error(`필수 헤더가 누락되었습니다: ${missingHeaders.join(", ")}`)
+ }
+
+ // 헤더 인덱스 매핑
+ const headerMap: Record<string, number> = {}
+ headers.forEach((header, index) => {
+ const cleanHeader = header.replace("*", "").trim()
+ headerMap[cleanHeader] = index
+ })
+
+ // 각 행 처리
+ rows.forEach((row: any[], rowIndex) => {
+ try {
+ // 빈 행 스킵
+ if (row.every(cell => !cell || String(cell).trim() === "")) {
+ return
+ }
+
+ const rowData: any = {
+ contractId,
+ docNumber: String(row[headerMap["문서번호"]] || "").trim(),
+ title: String(row[headerMap["문서명"]] || "").trim(),
+ drawingKind: String(row[headerMap["문서종류"]] || "").trim(),
+ pic: String(row[headerMap["PIC"]] || "").trim() || undefined,
+ issuedDate: row[headerMap["발행일"]] ?
+ formatExcelDate(row[headerMap["발행일"]]) : undefined,
+ }
+
+ // Plant 프로젝트 전용 필드
+ if (projectType === "plant") {
+ rowData.vendorDocNumber = String(row[headerMap["벤더문서번호"]] || "").trim() || undefined
+ }
+
+ // B4 전용 필드들
+ const b4Fields = ["C구분", "D구분", "Degree구분", "부서구분", "S구분", "J구분"]
+ const b4FieldMap = {
+ "C구분": "cGbn",
+ "D구분": "dGbn",
+ "Degree구분": "degreeGbn",
+ "부서구분": "deptGbn",
+ "S구분": "sGbn",
+ "J구분": "jGbn"
+ }
+
+ b4Fields.forEach(field => {
+ if (headerMap[field] !== undefined) {
+ const value = String(row[headerMap[field]] || "").trim()
+ if (value) {
+ rowData[b4FieldMap[field as keyof typeof b4FieldMap]] = value
+ }
+ }
+ })
+
+ // 유효성 검사
+ const validatedData = excelDocumentRowSchema.parse({
+ "문서번호": rowData.docNumber,
+ "문서명": rowData.title,
+ "문서종류": rowData.drawingKind,
+ "벤더문서번호": rowData.vendorDocNumber,
+ "PIC": rowData.pic,
+ "발행일": rowData.issuedDate,
+ "C구분": rowData.cGbn,
+ "D구분": rowData.dGbn,
+ "Degree구분": rowData.degreeGbn,
+ "부서구분": rowData.deptGbn,
+ "S구분": rowData.sGbn,
+ "J구분": rowData.jGbn,
+ })
+
+ // CreateDocumentInput 형태로 변환
+ const documentInput: CreateDocumentInput = {
+ contractId,
+ docNumber: validatedData["문서번호"],
+ title: validatedData["문서명"],
+ drawingKind: validatedData["문서종류"],
+ vendorDocNumber: validatedData["벤더문서번호"],
+ pic: validatedData["PIC"],
+ issuedDate: validatedData["발행일"],
+ cGbn: validatedData["C구분"],
+ dGbn: validatedData["D구분"],
+ degreeGbn: validatedData["Degree구분"],
+ deptGbn: validatedData["부서구분"],
+ sGbn: validatedData["S구분"],
+ jGbn: validatedData["J구분"],
+ }
+
+ validData.push(documentInput)
+
+ } catch (error) {
+ errors.push({
+ row: rowIndex + 2, // 엑셀 행 번호 (헤더 포함)
+ message: error instanceof Error ? error.message : "알 수 없는 오류",
+ data: row
+ })
+ }
+ })
+
+ return { validData, errors }
+}
+
+// 엑셀 날짜 형식 변환
+function formatExcelDate(value: any): string | undefined {
+ if (!value) return undefined
+
+ // ExcelJS에서 Date 객체로 처리된 경우
+ if (value instanceof Date) {
+ return value.toISOString().split('T')[0]
+ }
+
+ // 이미 문자열 날짜 형식인 경우
+ if (typeof value === 'string') {
+ const dateMatch = value.match(/^\d{4}-\d{2}-\d{2}$/)
+ if (dateMatch) return value
+
+ // 다른 형식 시도
+ const date = new Date(value)
+ if (!isNaN(date.getTime())) {
+ return date.toISOString().split('T')[0]
+ }
+ }
+
+ // 엑셀 시리얼 날짜인 경우
+ if (typeof value === 'number') {
+ // ExcelJS는 이미 Date 객체로 변환해주므로 이 경우는 드물지만
+ // 1900년 1월 1일부터의 일수로 계산
+ const excelEpoch = new Date(1900, 0, 1)
+ const date = new Date(excelEpoch.getTime() + (value - 2) * 24 * 60 * 60 * 1000)
+ if (!isNaN(date.getTime())) {
+ return date.toISOString().split('T')[0]
+ }
+ }
+
+ return undefined
+}
+
+// =============================================================================
+// 3. 데이터 익스포트
+// =============================================================================
+
+// 문서 데이터를 엑셀로 익스포트
+export function exportDocumentsToExcel(
+ documents: DocumentStagesOnlyView[],
+ projectType: "ship" | "plant"
+) {
+ const headers = [
+ "문서번호",
+ "문서명",
+ "문서종류",
+ "PIC",
+ "발행일",
+ "현재스테이지",
+ "스테이지상태",
+ "계획일",
+ "담당자",
+ "우선순위",
+ "진행률(%)",
+ "완료스테이지",
+ "전체스테이지",
+ "지연여부",
+ "남은일수",
+ "생성일",
+ "수정일"
+ ]
+
+ // Plant 프로젝트 전용 헤더 추가
+ if (projectType === "plant") {
+ headers.splice(3, 0, "벤더문서번호", "벤더명", "벤더코드")
+ }
+
+ const data = documents.map(doc => {
+ const baseData = [
+ doc.docNumber,
+ doc.title,
+ doc.drawingKind || "",
+ doc.pic || "",
+ doc.issuedDate || "",
+ doc.currentStageName || "",
+ getStatusText(doc.currentStageStatus || ""),
+ doc.currentStagePlanDate || "",
+ doc.currentStageAssigneeName || "",
+ getPriorityText(doc.currentStagePriority || ""),
+ doc.progressPercentage || 0,
+ doc.completedStages || 0,
+ doc.totalStages || 0,
+ doc.isOverdue ? "예" : "아니오",
+ doc.daysUntilDue || "",
+ doc.createdAt ? new Date(doc.createdAt).toLocaleDateString() : "",
+ doc.updatedAt ? new Date(doc.updatedAt).toLocaleDateString() : ""
+ ]
+
+ // Plant 프로젝트 데이터 추가
+ if (projectType === "plant") {
+ baseData.splice(3, 0,
+ doc.vendorDocNumber || "",
+ doc.vendorName || "",
+ doc.vendorCode || ""
+ )
+ }
+
+ return baseData
+ })
+
+ const worksheet = XLSX.utils.aoa_to_sheet([headers, ...data])
+
+ // 컬럼 너비 설정
+ const colWidths = [
+ { wch: 15 }, // 문서번호
+ { wch: 30 }, // 문서명
+ { wch: 10 }, // 문서종류
+ ...(projectType === "plant" ? [
+ { wch: 15 }, // 벤더문서번호
+ { wch: 20 }, // 벤더명
+ { wch: 10 }, // 벤더코드
+ ] : []),
+ { wch: 10 }, // PIC
+ { wch: 12 }, // 발행일
+ { wch: 15 }, // 현재스테이지
+ { wch: 10 }, // 스테이지상태
+ { wch: 12 }, // 계획일
+ { wch: 10 }, // 담당자
+ { wch: 8 }, // 우선순위
+ { wch: 8 }, // 진행률
+ { wch: 8 }, // 완료스테이지
+ { wch: 8 }, // 전체스테이지
+ { wch: 8 }, // 지연여부
+ { wch: 8 }, // 남은일수
+ { wch: 12 }, // 생성일
+ { wch: 12 }, // 수정일
+ ]
+
+ worksheet['!cols'] = colWidths
+
+ const workbook = XLSX.utils.book_new()
+ XLSX.utils.book_append_sheet(workbook, worksheet, "문서목록")
+
+ const filename = `문서목록_${new Date().toISOString().split('T')[0]}.xlsx`
+ XLSX.writeFile(workbook, filename)
+}
+
+// 스테이지 상세 데이터를 엑셀로 익스포트
+export function exportStageDetailsToExcel(documents: DocumentStagesOnlyView[]) {
+ const headers = [
+ "문서번호",
+ "문서명",
+ "스테이지명",
+ "스테이지상태",
+ "스테이지순서",
+ "계획일",
+ "담당자",
+ "우선순위",
+ "설명",
+ "노트",
+ "알림일수"
+ ]
+
+ const data: any[] = []
+
+ documents.forEach(doc => {
+ if (doc.allStages && doc.allStages.length > 0) {
+ doc.allStages.forEach(stage => {
+ data.push([
+ doc.docNumber,
+ doc.title,
+ stage.stageName,
+ getStatusText(stage.stageStatus),
+ stage.stageOrder,
+ stage.planDate || "",
+ stage.assigneeName || "",
+ getPriorityText(stage.priority),
+ stage.description || "",
+ stage.notes || "",
+ stage.reminderDays || ""
+ ])
+ })
+ } else {
+ // 스테이지가 없는 문서도 포함
+ data.push([
+ doc.docNumber,
+ doc.title,
+ "", "", "", "", "", "", "", "", ""
+ ])
+ }
+ })
+
+ const worksheet = XLSX.utils.aoa_to_sheet([headers, ...data])
+
+ // 컬럼 너비 설정
+ worksheet['!cols'] = [
+ { wch: 15 }, // 문서번호
+ { wch: 30 }, // 문서명
+ { wch: 20 }, // 스테이지명
+ { wch: 12 }, // 스테이지상태
+ { wch: 8 }, // 스테이지순서
+ { wch: 12 }, // 계획일
+ { wch: 10 }, // 담당자
+ { wch: 8 }, // 우선순위
+ { wch: 25 }, // 설명
+ { wch: 25 }, // 노트
+ { wch: 8 }, // 알림일수
+ ]
+
+ const workbook = XLSX.utils.book_new()
+ XLSX.utils.book_append_sheet(workbook, worksheet, "스테이지상세")
+
+ const filename = `스테이지상세_${new Date().toISOString().split('T')[0]}.xlsx`
+ XLSX.writeFile(workbook, filename)
+}
+
+// =============================================================================
+// 4. 유틸리티 함수들
+// =============================================================================
+
+function getStatusText(status: string): string {
+ switch (status) {
+ case 'PLANNED': return '계획됨'
+ case 'IN_PROGRESS': return '진행중'
+ case 'SUBMITTED': return '제출됨'
+ case 'UNDER_REVIEW': return '검토중'
+ case 'APPROVED': return '승인됨'
+ case 'REJECTED': return '반려됨'
+ case 'COMPLETED': return '완료됨'
+ default: return status
+ }
+}
+
+function getPriorityText(priority: string): string {
+ switch (priority) {
+ case 'HIGH': return '높음'
+ case 'MEDIUM': return '보통'
+ case 'LOW': return '낮음'
+ default: return priority
+ }
+}
+
+// 파일 크기 검증
+export function validateFileSize(file: File, maxSizeMB: number = 10): boolean {
+ const maxSizeBytes = maxSizeMB * 1024 * 1024
+ return file.size <= maxSizeBytes
+}
+
+// 파일 확장자 검증
+export function validateFileExtension(file: File): boolean {
+ const allowedExtensions = ['.xlsx', '.xls']
+ const fileName = file.name.toLowerCase()
+ return allowedExtensions.some(ext => fileName.endsWith(ext))
+}
+
+// ExcelJS 워크북의 유효성 검사
+export async function validateExcelWorkbook(file: File): Promise<{
+ isValid: boolean
+ error?: string
+ worksheetCount?: number
+ firstWorksheetName?: string
+}> {
+ try {
+ const buffer = await file.arrayBuffer()
+ const workbook = new ExcelJS.Workbook()
+ await workbook.xlsx.load(buffer)
+
+ const worksheets = workbook.worksheets
+ if (worksheets.length === 0) {
+ return {
+ isValid: false,
+ error: '워크시트가 없는 파일입니다'
+ }
+ }
+
+ const firstWorksheet = worksheets[0]
+ if (firstWorksheet.rowCount < 2) {
+ return {
+ isValid: false,
+ error: '데이터가 없습니다. 최소 헤더와 1개 행이 필요합니다'
+ }
+ }
+
+ return {
+ isValid: true,
+ worksheetCount: worksheets.length,
+ firstWorksheetName: firstWorksheet.name
+ }
+ } catch (error) {
+ return {
+ isValid: false,
+ error: `파일을 읽을 수 없습니다: ${error instanceof Error ? error.message : '알 수 없는 오류'}`
+ }
+ }
+}
+
+// 셀 값을 안전하게 문자열로 변환
+export function getCellValueAsString(cell: ExcelJS.Cell): string {
+ if (!cell.value) return ""
+
+ if (cell.value instanceof Date) {
+ return cell.value.toISOString().split('T')[0]
+ }
+
+ if (typeof cell.value === 'object' && 'text' in cell.value) {
+ return cell.value.text || ""
+ }
+
+ if (typeof cell.value === 'object' && 'result' in cell.value) {
+ return String(cell.value.result || "")
+ }
+
+ return String(cell.value)
+}
+
+// 엑셀 컬럼 인덱스를 문자로 변환 (A, B, C, ... Z, AA, AB, ...)
+export function getExcelColumnName(index: number): string {
+ let result = ""
+ while (index > 0) {
+ index--
+ result = String.fromCharCode(65 + (index % 26)) + result
+ index = Math.floor(index / 26)
+ }
+ return result
+} \ No newline at end of file
diff --git a/lib/vendor-document-list/repository.ts b/lib/vendor-document-list/repository.ts
index 43adf7ca..4eab3853 100644
--- a/lib/vendor-document-list/repository.ts
+++ b/lib/vendor-document-list/repository.ts
@@ -1,5 +1,5 @@
import db from "@/db/db";
-import { documentStagesView } from "@/db/schema/vendorDocu";
+import { documentStagesOnlyView, documentStagesView } from "@/db/schema/vendorDocu";
import {
eq,
inArray,
@@ -42,3 +42,37 @@ export async function countVendorDocuments(
const res = await tx.select({ count: count() }).from(documentStagesView).where(where);
return res[0]?.count ?? 0;
}
+
+
+
+export async function selectDocumentStagesOnly(
+ tx: PgTransaction<any, any, any>,
+ params: {
+ where?: any; // drizzle-orm의 조건식 (and, eq...) 등
+ orderBy?: (ReturnType<typeof asc> | ReturnType<typeof desc>)[];
+ offset?: number;
+ limit?: number;
+ }
+) {
+ const { where, orderBy, offset = 0, limit = 10 } = params;
+
+ return tx
+ .select()
+ .from(documentStagesOnlyView)
+ .where(where)
+ .orderBy(...(orderBy ?? []))
+ .offset(offset)
+ .limit(limit);
+}
+
+/** 총 개수 count */
+export async function countDocumentStagesOnly(
+ tx: PgTransaction<any, any, any>,
+ where?: any
+) {
+ const res = await tx.select({ count: count() }).from(documentStagesOnlyView).where(where);
+ return res[0]?.count ?? 0;
+}
+
+
+
diff --git a/lib/vendor-document-list/validations.ts b/lib/vendor-document-list/validations.ts
index acd101ed..88e68d67 100644
--- a/lib/vendor-document-list/validations.ts
+++ b/lib/vendor-document-list/validations.ts
@@ -19,8 +19,6 @@ export const searchParamsCache = createSearchParamsCache({
sort: getSortingStateParser<DocumentStagesView>().withDefault([
{ id: "createdAt", desc: true },
]),
- title: parseAsString.withDefault(""),
- docNumber: parseAsString.withDefault(""),
// advanced filter
filters: getFiltersStateParser().withDefault([]),