fix: SplitPanelLayout 수정 버튼 클릭 시 그룹 레코드 조회 개선

- 수정 버튼 클릭 시 groupByColumns 기준으로 모든 관련 레코드 조회
- search 대신 dataFilter(equals) 사용하여 정확 매칭 조회
- deduplication 명시적 비활성화로 모든 레코드 반환
- supplier_mng, customer_mng 등 회사별 데이터 테이블 DB 조인 강제 (캐시 미사용)
- entityJoinController에 deduplication 파라미터 처리 추가
- ScreenModal에서 배열 형태 editData 처리 지원
This commit is contained in:
2026-01-09 14:11:51 +09:00
parent 0baffafac1
commit 48aa004a7f
5 changed files with 249 additions and 16 deletions

View File

@@ -3769,6 +3769,15 @@ export class TableManagementService {
const cacheableJoins: EntityJoinConfig[] = [];
const dbJoins: EntityJoinConfig[] = [];
// 🔒 멀티테넌시: 회사별 데이터 테이블은 캐시 사용 불가 (company_code 필터링 필요)
const companySpecificTables = [
"supplier_mng",
"customer_mng",
"item_info",
"dept_info",
// 필요시 추가
];
for (const config of joinConfigs) {
// table_column_category_values는 특수 조인 조건이 필요하므로 항상 DB 조인
if (config.referenceTable === "table_column_category_values") {
@@ -3777,6 +3786,13 @@ export class TableManagementService {
continue;
}
// 🔒 회사별 데이터 테이블은 캐시 사용 불가 (멀티테넌시)
if (companySpecificTables.includes(config.referenceTable)) {
dbJoins.push(config);
console.log(`🔗 DB 조인 (멀티테넌시): ${config.referenceTable}`);
continue;
}
// 캐시 가능성 확인
const cachedData = await referenceCacheService.getCachedReference(
config.referenceTable,