Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into gbpark-node

; Please enter a commit message to explain why this merge is necessary,
; especially if it merges an updated upstream into a topic branch.
;
; Lines starting with ';' will be ignored, and an empty message aborts
; the commit.
This commit is contained in:
DDD1542
2026-03-04 22:45:40 +09:00
2402 changed files with 15007 additions and 851502 deletions
+86
View File
@@ -0,0 +1,86 @@
/**
* 바코드 라벨 관리 시스템 타입 정의
* ZD421 등 바코드 프린터 연동용 라벨 템플릿/출력 관리
*/
// 캔버스 요소 (디자이너용)
export interface BarcodeLabelComponent {
id: string;
type: "text" | "barcode" | "image" | "line" | "rectangle";
x: number;
y: number;
width: number;
height: number;
zIndex: number;
content?: string;
fontSize?: number;
fontColor?: string;
fontWeight?: string;
barcodeType?: string;
barcodeValue?: string;
showBarcodeText?: boolean;
imageUrl?: string;
objectFit?: string;
lineColor?: string;
lineWidth?: number;
backgroundColor?: string;
}
export interface BarcodeLabelLayout {
width_mm: number;
height_mm: number;
components: BarcodeLabelComponent[];
}
// 바코드 라벨 마스터 (목록/카드용)
export interface BarcodeLabelMaster {
label_id: string;
label_name_kor: string;
label_name_eng: string | null;
description: string | null;
width_mm?: number;
height_mm?: number;
layout_json?: string | null;
template_type?: string;
use_yn: string;
created_at: string;
created_by: string | null;
updated_at: string | null;
updated_by: string | null;
}
// 목록 조회 응답
export interface GetBarcodeLabelsResponse {
items: BarcodeLabelMaster[];
total: number;
page: number;
limit: number;
}
// 목록 조회 파라미터
export interface GetBarcodeLabelsParams {
page?: number;
limit?: number;
searchText?: string;
useYn?: string;
sortBy?: string;
sortOrder?: "ASC" | "DESC";
}
// 생성 요청
export interface CreateBarcodeLabelRequest {
labelNameKor: string;
labelNameEng?: string;
description?: string;
templateType?: string;
templateId?: string; // 선택 시 해당 템플릿 레이아웃 적용
}
// 수정 요청
export interface UpdateBarcodeLabelRequest {
labelNameKor?: string;
labelNameEng?: string;
description?: string;
templateType?: string;
useYn?: string;
}
+13
View File
@@ -142,6 +142,16 @@ export interface CalculationRule {
label?: string;
}
// Entity 조인 설정 (리피터 컬럼의 FK를 참조 테이블과 조인하여 표시)
export interface RepeaterEntityJoin {
sourceColumn: string; // FK 컬럼 (예: "item_id")
referenceTable: string; // 참조 테이블 (예: "item_info")
columns: Array<{
referenceField: string; // 참조 테이블 컬럼 (예: "item_name")
displayField: string; // 리피터 표시 컬럼 키 (예: "item_name")
}>;
}
// 소스 디테일 설정 (모달에서 전달받은 마스터 데이터의 디테일을 자동 조회)
export interface SourceDetailConfig {
tableName: string; // 디테일 테이블명 (예: "sales_order_detail")
@@ -185,6 +195,9 @@ export interface V2RepeaterConfig {
// 모달 설정 (modal, mixed 모드)
modal?: RepeaterModalConfig;
// Entity 조인 설정 (FK 기반으로 참조 테이블 데이터를 자동 해석하여 표시)
entityJoins?: RepeaterEntityJoin[];
// 기능 옵션
features: RepeaterFeatureOptions;