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

@@ -36,10 +36,10 @@ export class EntityReferenceController {
search,
});
// 컬럼 정보 조회
// 컬럼 정보 조회 (table_type_columns에서)
const columnInfo = await queryOne<any>(
`SELECT * FROM column_labels
WHERE table_name = $1 AND column_name = $2
`SELECT * FROM table_type_columns
WHERE table_name = $1 AND column_name = $2 AND company_code = '*'
LIMIT 1`,
[tableName, columnName]
);
@@ -51,15 +51,15 @@ export class EntityReferenceController {
});
}
// webType 확인
if (columnInfo.web_type !== "entity") {
// inputType 확인
if (columnInfo.input_type !== "entity") {
return res.status(400).json({
success: false,
message: `컬럼 '${tableName}.${columnName}'은 entity 타입이 아닙니다. webType: ${columnInfo.web_type}`,
message: `컬럼 '${tableName}.${columnName}'은 entity 타입이 아닙니다. inputType: ${columnInfo.input_type}`,
});
}
// column_labels에서 직접 참조 정보 가져오기
// table_type_columns에서 직접 참조 정보 가져오기
const referenceTable = columnInfo.reference_table;
const referenceColumn = columnInfo.reference_column;
const displayColumn = columnInfo.display_column || "name";
@@ -68,7 +68,7 @@ export class EntityReferenceController {
if (!referenceTable || !referenceColumn) {
return res.status(400).json({
success: false,
message: `Entity 타입 컬럼 '${tableName}.${columnName}'에 참조 테이블 정보가 설정되지 않았습니다. column_labels에서 reference_table과 reference_column을 확인해주세요.`,
message: `Entity 타입 컬럼 '${tableName}.${columnName}'에 참조 테이블 정보가 설정되지 않았습니다. table_type_columns에서 reference_table과 reference_column을 확인해주세요.`,
});
}
@@ -85,7 +85,7 @@ export class EntityReferenceController {
);
return res.status(400).json({
success: false,
message: `참조 테이블 '${referenceTable}'이 존재하지 않습니다. column_labels의 reference_table 설정을 확인해주세요.`,
message: `참조 테이블 '${referenceTable}'이 존재하지 않습니다. table_type_columns의 reference_table 설정을 확인해주세요.`,
});
}