summaryrefslogtreecommitdiff
path: root/lib/techsales-rfq/repository.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/techsales-rfq/repository.ts')
-rw-r--r--lib/techsales-rfq/repository.ts23
1 files changed, 12 insertions, 11 deletions
diff --git a/lib/techsales-rfq/repository.ts b/lib/techsales-rfq/repository.ts
index 260eef19..8a579427 100644
--- a/lib/techsales-rfq/repository.ts
+++ b/lib/techsales-rfq/repository.ts
@@ -3,9 +3,9 @@
import {
techSalesRfqs,
techSalesVendorQuotations,
- items,
vendors,
- users
+ users,
+ itemShipbuilding
} from "@/db/schema";
import {
asc,
@@ -81,7 +81,7 @@ export async function selectTechSalesRfqsWithJoin(
id: techSalesRfqs.id,
rfqCode: techSalesRfqs.rfqCode,
itemId: techSalesRfqs.itemId,
- itemName: items.itemName,
+ itemName: itemShipbuilding.itemList,
materialCode: techSalesRfqs.materialCode,
// 날짜 및 상태 정보
@@ -132,7 +132,7 @@ export async function selectTechSalesRfqsWithJoin(
)`,
})
.from(techSalesRfqs)
- .leftJoin(items, sql`${techSalesRfqs.itemId} = ${items.id}`)
+ .leftJoin(itemShipbuilding, sql`split_part(${techSalesRfqs.materialCode}, ',', 1) = ${itemShipbuilding.itemCode}`)
.leftJoin(sql`${users} AS created_user`, sql`${techSalesRfqs.createdBy} = created_user.id`)
.leftJoin(sql`${users} AS updated_user`, sql`${techSalesRfqs.updatedBy} = updated_user.id`)
.leftJoin(sql`${users} AS sent_user`, sql`${techSalesRfqs.sentBy} = sent_user.id`);
@@ -159,7 +159,7 @@ export async function countTechSalesRfqsWithJoin(
const res = await tx
.select({ count: count() })
.from(techSalesRfqs)
- .leftJoin(items, sql`${techSalesRfqs.itemId} = ${items.id}`)
+ .leftJoin(itemShipbuilding, sql`split_part(${techSalesRfqs.materialCode}, ',', 1) = ${itemShipbuilding.itemCode}`)
.where(where ?? undefined);
return res[0]?.count ?? 0;
}
@@ -211,7 +211,7 @@ export async function selectTechSalesVendorQuotationsWithJoin(
// 프로젝트 정보
materialCode: techSalesRfqs.materialCode,
itemId: techSalesRfqs.itemId,
- itemName: items.itemName,
+ itemName: itemShipbuilding.itemList,
// 프로젝트 핵심 정보
pspid: sql<string>`${techSalesRfqs.projectSnapshot}->>'pspid'`,
@@ -221,14 +221,14 @@ export async function selectTechSalesVendorQuotationsWithJoin(
// 첨부파일 개수
attachmentCount: sql<number>`(
SELECT COUNT(*)
- FROM tech_sales_rfq_comment_attachments
- WHERE tech_sales_rfq_comment_attachments.quotation_id = ${techSalesVendorQuotations.id}
+ FROM tech_sales_attachments
+ WHERE tech_sales_attachments.tech_sales_rfq_id = ${techSalesRfqs.id}
)`,
})
.from(techSalesVendorQuotations)
.leftJoin(techSalesRfqs, sql`${techSalesVendorQuotations.rfqId} = ${techSalesRfqs.id}`)
.leftJoin(vendors, sql`${techSalesVendorQuotations.vendorId} = ${vendors.id}`)
- .leftJoin(items, sql`${techSalesRfqs.itemId} = ${items.id}`)
+ .leftJoin(itemShipbuilding, sql`split_part(${techSalesRfqs.materialCode}, ',', 1) = ${itemShipbuilding.itemCode}`)
.leftJoin(sql`${users} AS created_user`, sql`${techSalesVendorQuotations.createdBy} = created_user.id`)
.leftJoin(sql`${users} AS updated_user`, sql`${techSalesVendorQuotations.updatedBy} = updated_user.id`);
@@ -256,6 +256,7 @@ export async function countTechSalesVendorQuotationsWithJoin(
.from(techSalesVendorQuotations)
.leftJoin(techSalesRfqs, sql`${techSalesVendorQuotations.rfqId} = ${techSalesRfqs.id}`)
.leftJoin(vendors, sql`${techSalesVendorQuotations.vendorId} = ${vendors.id}`)
+ .leftJoin(itemShipbuilding, sql`split_part(${techSalesRfqs.materialCode}, ',', 1) = ${itemShipbuilding.itemCode}`)
.where(where ?? undefined);
return res[0]?.count ?? 0;
}
@@ -286,7 +287,7 @@ export async function selectTechSalesDashboardWithJoin(
// 아이템 정보
itemId: techSalesRfqs.itemId,
- itemName: items.itemName,
+ itemName: itemShipbuilding.itemList,
// 프로젝트 정보
pspid: sql<string>`${techSalesRfqs.projectSnapshot}->>'pspid'`,
@@ -363,7 +364,7 @@ export async function selectTechSalesDashboardWithJoin(
createdByName: sql<string>`created_user.name`,
})
.from(techSalesRfqs)
- .leftJoin(items, sql`${techSalesRfqs.itemId} = ${items.id}`)
+ .leftJoin(itemShipbuilding, sql`split_part(${techSalesRfqs.materialCode}, ',', 1) = ${itemShipbuilding.itemCode}`)
.leftJoin(sql`${users} AS created_user`, sql`${techSalesRfqs.createdBy} = created_user.id`);
// where 조건 적용