From e723523ec583a20f6c324f915d603c7a52d3b865 Mon Sep 17 00:00:00 2001 From: kjs Date: Wed, 12 Nov 2025 15:18:32 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20TypeScript=20=EB=B9=8C=EB=93=9C=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tableManagementService: getTableDataWithEntityJoins options에 companyCode 타입 추가 - tableManagementController: Promise 함수의 return 문 수정 - commonCodeService: CodeInfo 인터페이스에 menu_objid 필드 추가 - numberingRuleService: siblingObjids 변수 스코프 수정 (catch 블록 접근 가능하도록) --- backend-node/src/controllers/tableManagementController.ts | 6 ++++-- backend-node/src/services/commonCodeService.ts | 3 ++- backend-node/src/services/numberingRuleService.ts | 3 ++- backend-node/src/services/tableManagementService.ts | 1 + 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/backend-node/src/controllers/tableManagementController.ts b/backend-node/src/controllers/tableManagementController.ts index 3f599fa5..85159dc2 100644 --- a/backend-node/src/controllers/tableManagementController.ts +++ b/backend-node/src/controllers/tableManagementController.ts @@ -1617,10 +1617,11 @@ export async function getCategoryColumnsByMenu( logger.info("📥 메뉴별 카테고리 컬럼 조회 요청", { menuObjid, companyCode }); if (!menuObjid) { - return res.status(400).json({ + res.status(400).json({ success: false, message: "메뉴 OBJID가 필요합니다.", }); + return; } // 1. 형제 메뉴 조회 @@ -1648,11 +1649,12 @@ export async function getCategoryColumnsByMenu( logger.info("✅ 형제 메뉴 테이블 조회 완료", { tableNames, count: tableNames.length }); if (tableNames.length === 0) { - return res.json({ + res.json({ success: true, data: [], message: "형제 메뉴에 연결된 테이블이 없습니다.", }); + return; } // 3. 테이블들의 카테고리 타입 컬럼 조회 (테이블 라벨 포함) diff --git a/backend-node/src/services/commonCodeService.ts b/backend-node/src/services/commonCodeService.ts index 40c05861..8cbd8a29 100644 --- a/backend-node/src/services/commonCodeService.ts +++ b/backend-node/src/services/commonCodeService.ts @@ -23,7 +23,8 @@ export interface CodeInfo { description?: string | null; sort_order: number; is_active: string; - company_code: string; // 추가 + company_code: string; + menu_objid?: number | null; // 메뉴 기반 코드 관리용 created_date?: Date | null; created_by?: string | null; updated_date?: Date | null; diff --git a/backend-node/src/services/numberingRuleService.ts b/backend-node/src/services/numberingRuleService.ts index db76bbee..368559df 100644 --- a/backend-node/src/services/numberingRuleService.ts +++ b/backend-node/src/services/numberingRuleService.ts @@ -161,6 +161,8 @@ class NumberingRuleService { companyCode: string, menuObjid?: number ): Promise { + let siblingObjids: number[] = []; // catch 블록에서 접근 가능하도록 함수 최상단에 선언 + try { logger.info("메뉴별 사용 가능한 채번 규칙 조회 시작 (메뉴 스코프)", { companyCode, @@ -170,7 +172,6 @@ class NumberingRuleService { const pool = getPool(); // 1. 형제 메뉴 OBJID 조회 - let siblingObjids: number[] = []; if (menuObjid) { siblingObjids = await getSiblingMenuObjids(menuObjid); logger.info("형제 메뉴 OBJID 목록", { menuObjid, siblingObjids }); diff --git a/backend-node/src/services/tableManagementService.ts b/backend-node/src/services/tableManagementService.ts index fd2e82a7..8bcec704 100644 --- a/backend-node/src/services/tableManagementService.ts +++ b/backend-node/src/services/tableManagementService.ts @@ -2057,6 +2057,7 @@ export class TableManagementService { sortBy?: string; sortOrder?: string; enableEntityJoin?: boolean; + companyCode?: string; // 멀티테넌시 필터용 additionalJoinColumns?: Array<{ sourceTable: string; sourceColumn: string;