diff options
Diffstat (limited to 'lib/techsales-rfq/repository.ts')
| -rw-r--r-- | lib/techsales-rfq/repository.ts | 23 |
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 조건 적용 |
