From e7ecd0a8634b2266eff40839504ac7a52e2eb118 Mon Sep 17 00:00:00 2001 From: kjs Date: Tue, 11 Nov 2025 14:47:25 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20screen=5Fmenu=5Fassignments=EB=A5=BC=20?= =?UTF-8?q?=ED=86=B5=ED=95=B4=20=EB=A9=94=EB=89=B4=EB=B3=84=20=ED=85=8C?= =?UTF-8?q?=EC=9D=B4=EB=B8=94=20=EC=A1=B0=ED=9A=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ❌ 문제: - screen_definitions 테이블에 menu_objid 컬럼이 없음 - SQL 쿼리 실행 실패 (500 에러) ✅ 수정: - screen_menu_assignments와 screen_definitions를 JOIN하여 조회 - menu_objid → screen_id → table_name 경로로 데이터 조회 🎯 쿼리 구조: SELECT DISTINCT sd.table_name FROM screen_menu_assignments sma INNER JOIN screen_definitions sd ON sma.screen_id = sd.screen_id WHERE sma.menu_objid = ANY($1) AND sma.company_code = $2 AND sd.table_name IS NOT NULL --- .../src/controllers/tableManagementController.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/backend-node/src/controllers/tableManagementController.ts b/backend-node/src/controllers/tableManagementController.ts index 45d888e1..aaa5d124 100644 --- a/backend-node/src/controllers/tableManagementController.ts +++ b/backend-node/src/controllers/tableManagementController.ts @@ -1634,11 +1634,12 @@ export async function getCategoryColumnsByMenu( const pool = getPool(); const tablesQuery = ` - SELECT DISTINCT table_name - FROM screen_definitions - WHERE menu_objid = ANY($1) - AND company_code = $2 - AND table_name IS NOT NULL + SELECT DISTINCT sd.table_name + FROM screen_menu_assignments sma + INNER JOIN screen_definitions sd ON sma.screen_id = sd.screen_id + WHERE sma.menu_objid = ANY($1) + AND sma.company_code = $2 + AND sd.table_name IS NOT NULL `; const tablesResult = await pool.query(tablesQuery, [siblingObjids, companyCode]);