summaryrefslogtreecommitdiff
path: root/db/schema/rfqLastTBE.ts
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-11-29 22:58:24 +0900
committerjoonhoekim <26rote@gmail.com>2025-11-29 22:58:24 +0900
commit12af09245b38da8cc3fdb851ebb03bc0de45c8be (patch)
tree9cf4b0db3c32f23a243b63b11665392d0c0e966d /db/schema/rfqLastTBE.ts
parenteea317cb775587d002e7a97d62220e5c8f37066d (diff)
(김준회) 미사용 스키마 코드 제거, 미사용 페이지 제거
Diffstat (limited to 'db/schema/rfqLastTBE.ts')
-rw-r--r--db/schema/rfqLastTBE.ts63
1 files changed, 31 insertions, 32 deletions
diff --git a/db/schema/rfqLastTBE.ts b/db/schema/rfqLastTBE.ts
index e690ce4b..20cefba3 100644
--- a/db/schema/rfqLastTBE.ts
+++ b/db/schema/rfqLastTBE.ts
@@ -1,6 +1,6 @@
import { pgTable, pgView, serial, varchar, text, timestamp, boolean, integer, numeric, date, alias, jsonb, uniqueIndex, index } from "drizzle-orm/pg-core";
import { eq, sql, relations } from "drizzle-orm";
-import { rfqsLast, rfqLastDetails, rfqLastAttachments, rfqLastAttachmentRevisions } from "./rfqLast";
+import { rfqsLast, rfqLastDetails, rfqLastAttachments, rfqLastAttachmentRevisions, rfqPrItems } from "./rfqLast";
import { users } from "./users";
import { vendors } from "./vendors";
import { rfqLastVendorAttachments } from "./rfqVendor";
@@ -393,23 +393,23 @@ export const tbeSessionSummaryView = pgView("tbe_session_summary_view").as((qb)
// 문서 검토 통계
totalDocuments: sql<number>`(
SELECT COUNT(*)
- FROM rfq_last_tbe_document_reviews
- WHERE tbe_session_id = ${tbeSession.id}
+ FROM ${rfqLastTbeDocumentReviews}
+ WHERE ${rfqLastTbeDocumentReviews.tbeSessionId} = ${tbeSession.id}
)`.as("total_documents"),
reviewedDocuments: sql<number>`(
SELECT COUNT(*)
- FROM rfq_last_tbe_document_reviews
- WHERE tbe_session_id = ${tbeSession.id}
- AND review_status IN ('검토완료', '승인')
+ FROM ${rfqLastTbeDocumentReviews}
+ WHERE ${rfqLastTbeDocumentReviews.tbeSessionId} = ${tbeSession.id}
+ AND ${rfqLastTbeDocumentReviews.reviewStatus} IN ('검토완료', '승인')
)`.as("reviewed_documents"),
// PDFTron 코멘트 통계
totalComments: sql<number>`(
- SELECT COUNT(*)
- FROM rfq_last_tbe_pdftron_comments pc
- JOIN rfq_last_tbe_document_reviews dr ON pc.document_review_id = dr.id
- WHERE dr.tbe_session_id = ${tbeSession.id}
+ SELECT COALESCE(SUM((${rfqLastTbePdftronComments.commentSummary}->>'total')::int), 0)
+ FROM ${rfqLastTbePdftronComments}
+ JOIN ${rfqLastTbeDocumentReviews} ON ${rfqLastTbePdftronComments.documentReviewId} = ${rfqLastTbeDocumentReviews.id}
+ WHERE ${rfqLastTbeDocumentReviews.tbeSessionId} = ${tbeSession.id}
)`.as("total_comments"),
@@ -537,54 +537,53 @@ export const tbeLastView = pgView("tbe_last_view").as((qb) => {
// PR 아이템 수
prItemsCount: sql<number>`(
SELECT COUNT(*)
- FROM rfq_pr_items
- WHERE rfqs_last_id = ${rfqsLast.id}
+ FROM ${rfqPrItems}
+ WHERE ${rfqPrItems.rfqsLastId} = ${rfqsLast.id}
)`.as("pr_items_count"),
majorItemsCount: sql<number>`(
SELECT COUNT(*)
- FROM rfq_pr_items
- WHERE rfqs_last_id = ${rfqsLast.id}
- AND major_yn = true
+ FROM ${rfqPrItems}
+ WHERE ${rfqPrItems.rfqsLastId} = ${rfqsLast.id}
+ AND ${rfqPrItems.majorYn} = true
)`.as("major_items_count"),
// 구매자 문서 수 (설계 문서)
buyerDocumentsCount: sql<number>`(
SELECT COUNT(*)
- FROM rfq_last_tbe_document_reviews
- WHERE tbe_session_id = ${rfqLastTbeSessions.id}
- AND document_source = 'buyer'
+ FROM ${rfqLastTbeDocumentReviews}
+ WHERE ${rfqLastTbeDocumentReviews.tbeSessionId} = ${rfqLastTbeSessions.id}
+ AND ${rfqLastTbeDocumentReviews.documentSource} = 'buyer'
)`.as("buyer_documents_count"),
// 벤더 문서 수
vendorDocumentsCount: sql<number>`(
SELECT COUNT(*)
- FROM rfq_last_tbe_vendor_documents
- WHERE tbe_session_id = ${rfqLastTbeSessions.id}
+ FROM ${rfqLastTbeVendorDocuments}
+ WHERE ${rfqLastTbeVendorDocuments.tbeSessionId} = ${rfqLastTbeSessions.id}
)`.as("vendor_documents_count"),
// 검토 완료 문서 수
reviewedDocumentsCount: sql<number>`(
SELECT COUNT(*)
- FROM rfq_last_tbe_document_reviews
- WHERE tbe_session_id = ${rfqLastTbeSessions.id}
- AND review_status IN ('검토완료', '승인')
+ FROM ${rfqLastTbeDocumentReviews}
+ WHERE ${rfqLastTbeDocumentReviews.tbeSessionId} = ${rfqLastTbeSessions.id}
+ AND ${rfqLastTbeDocumentReviews.reviewStatus} IN ('검토완료', '승인')
)`.as("reviewed_documents_count"),
// PDFTron 코멘트 수
totalCommentsCount: sql<number>`(
- SELECT COUNT(*)
- FROM rfq_last_tbe_pdftron_comments pc
- JOIN rfq_last_tbe_document_reviews dr ON pc.document_review_id = dr.id
- WHERE dr.tbe_session_id = ${rfqLastTbeSessions.id}
+ SELECT COALESCE(SUM((${rfqLastTbePdftronComments.commentSummary}->>'total')::int), 0)
+ FROM ${rfqLastTbePdftronComments}
+ JOIN ${rfqLastTbeDocumentReviews} ON ${rfqLastTbePdftronComments.documentReviewId} = ${rfqLastTbeDocumentReviews.id}
+ WHERE ${rfqLastTbeDocumentReviews.tbeSessionId} = ${rfqLastTbeSessions.id}
)`.as("total_comments_count"),
unresolvedCommentsCount: sql<number>`(
- SELECT COUNT(*)
- FROM rfq_last_tbe_pdftron_comments pc
- JOIN rfq_last_tbe_document_reviews dr ON pc.document_review_id = dr.id
- WHERE dr.tbe_session_id = ${rfqLastTbeSessions.id}
- AND pc.status = 'open'
+ SELECT COALESCE(SUM((${rfqLastTbePdftronComments.commentSummary}->>'open')::int), 0)
+ FROM ${rfqLastTbePdftronComments}
+ JOIN ${rfqLastTbeDocumentReviews} ON ${rfqLastTbePdftronComments.documentReviewId} = ${rfqLastTbeDocumentReviews.id}
+ WHERE ${rfqLastTbeDocumentReviews.tbeSessionId} = ${rfqLastTbeSessions.id}
)`.as("unresolved_comments_count"),
// 타임스탬프