Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal

This commit is contained in:
kjs
2026-01-16 11:10:41 +09:00
36 changed files with 5114 additions and 3337 deletions

View File

@@ -77,12 +77,6 @@ export const entityJoinApi = {
filterColumn?: string;
filterValue?: any;
}; // 🆕 제외 필터 (다른 테이블에 이미 존재하는 데이터 제외)
deduplication?: {
enabled: boolean;
groupByColumn: string;
keepStrategy: "latest" | "earliest" | "base_price" | "current_date";
sortColumn?: string;
}; // 🆕 중복 제거 설정
companyCodeOverride?: string; // 🆕 프리뷰용 회사 코드 오버라이드 (최고 관리자만 사용 가능)
} = {},
): Promise<EntityJoinResponse> => {
@@ -116,7 +110,6 @@ export const entityJoinApi = {
autoFilter: JSON.stringify(autoFilter), // 🔒 멀티테넌시 필터링 (오버라이드 포함)
dataFilter: params.dataFilter ? JSON.stringify(params.dataFilter) : undefined, // 🆕 데이터 필터
excludeFilter: params.excludeFilter ? JSON.stringify(params.excludeFilter) : undefined, // 🆕 제외 필터
deduplication: params.deduplication ? JSON.stringify(params.deduplication) : undefined, // 🆕 중복 제거 설정
},
});
return response.data.data;

View File

@@ -105,6 +105,18 @@ export const screenApi = {
return response.data;
},
// 화면 수정 (이름, 설명 등)
updateScreen: async (
screenId: number,
data: {
screenName?: string;
description?: string;
tableName?: string;
}
): Promise<void> => {
await apiClient.put(`/screen-management/screens/${screenId}`, data);
},
// 화면 삭제 (휴지통으로 이동)
deleteScreen: async (screenId: number, deleteReason?: string, force?: boolean): Promise<void> => {
await apiClient.delete(`/screen-management/screens/${screenId}`, {

View File

@@ -13,7 +13,7 @@ export interface ColumnTypeInfo {
dataType: string;
dbType: string;
webType: string;
inputType?: "direct" | "auto";
inputType?: string; // text, number, entity, code, select, date, checkbox 등
detailSettings: string;
description?: string;
isNullable: string;
@@ -39,11 +39,11 @@ export interface TableInfo {
columnCount: number;
}
// 컬럼 설정 타입
// 컬럼 설정 타입 (백엔드 API와 동일한 필드명 사용)
export interface ColumnSettings {
columnName?: string;
columnLabel: string;
webType: string;
inputType: string; // 백엔드에서 inputType으로 받음
detailSettings: string;
codeCategory: string;
codeValue: string;