fix: 화면 복제 기능 개선 및 관련 버그 수정

- 화면 복제 기능을 개선하여 DB 구조 개편 후의 효율적인 화면 관리를 지원합니다.
- 그룹 복제 시 버튼의 `targetScreenId`가 새 화면으로 매핑되지 않는 버그를 수정하였습니다.
- 관련된 서비스 및 쿼리에서 `table_type_columns`를 사용하여 라벨 정보를 조회하도록 변경하였습니다.
- 여러 컨트롤러 및 서비스에서 `column_labels` 대신 `table_type_columns`를 참조하도록 업데이트하였습니다.
This commit is contained in:
DDD1542
2026-01-28 11:24:25 +09:00
parent 1753822211
commit 192b678bce
43 changed files with 7826 additions and 677 deletions

View File

@@ -24,7 +24,8 @@ export class EntityJoinService {
try {
logger.info(`Entity 컬럼 감지 시작: ${tableName}`);
// column_labels에서 entity 및 category 타입인 컬럼들 조회 (input_type 사용)
// table_type_columns에서 entity 및 category 타입인 컬럼들 조회
// company_code = '*' (공통 설정) 우선 조회
const entityColumns = await query<{
column_name: string;
input_type: string;
@@ -33,9 +34,12 @@ export class EntityJoinService {
display_column: string | null;
}>(
`SELECT column_name, input_type, reference_table, reference_column, display_column
FROM column_labels
FROM table_type_columns
WHERE table_name = $1
AND input_type IN ('entity', 'category')`,
AND input_type IN ('entity', 'category')
AND company_code = '*'
AND reference_table IS NOT NULL
AND reference_table != ''`,
[tableName]
);
@@ -745,15 +749,16 @@ export class EntityJoinService {
[tableName]
);
// 2. column_labels 테이블에서 라벨과 input_type 정보 조회
// 2. table_type_columns 테이블에서 라벨과 input_type 정보 조회
const columnLabels = await query<{
column_name: string;
column_label: string | null;
input_type: string | null;
}>(
`SELECT column_name, column_label, input_type
FROM column_labels
WHERE table_name = $1`,
FROM table_type_columns
WHERE table_name = $1
AND company_code = '*'`,
[tableName]
);